TF-4053 Add interactor/datasource/repository for move folder content action

This commit is contained in:
dab246
2025-10-29 13:19:25 +07:00
committed by Dat H. Pham
parent ccdbd798d9
commit 369316f50d
19 changed files with 695 additions and 188 deletions
@@ -15,6 +15,7 @@ import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/get_mailbox_by_role_response.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_response.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/move_folder_content_request.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/move_mailbox_request.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/rename_mailbox_request.dart';
import 'package:tmail_ui_user/features/mailbox/domain/model/subscribe_mailbox_request.dart';
@@ -41,6 +42,13 @@ abstract class MailboxRepository {
Future<bool> moveMailbox(Session session, AccountId accountId, MoveMailboxRequest request);
Future<void> moveFolderContent({
required Session session,
required AccountId accountId,
required MoveFolderContentRequest request,
StreamController<dartz.Either<Failure, Success>>? onProgressController,
});
Future<State?> getMailboxState(Session session, AccountId accountId);
Future<bool> subscribeMailbox(Session session, AccountId accountId, SubscribeMailboxRequest request);