TF-3385 Update move emails

This commit is contained in:
DatDang
2025-01-02 14:27:26 +07:00
committed by Dat H. Pham
parent f1613a55ce
commit b95ec24b3c
13 changed files with 450 additions and 56 deletions
@@ -3,6 +3,7 @@ import 'package:core/presentation/state/success.dart';
import 'package:dartz/dartz.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:tmail_ui_user/features/email/domain/model/move_to_mailbox_request.dart';
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
import 'package:tmail_ui_user/features/email/domain/state/move_to_mailbox_state.dart';
@@ -12,7 +13,12 @@ class MoveToMailboxInteractor {
MoveToMailboxInteractor(this._emailRepository);
Stream<Either<Failure, Success>> execute(Session session, AccountId accountId, MoveToMailboxRequest moveRequest) async* {
Stream<Either<Failure, Success>> execute(
Session session,
AccountId accountId,
MoveToMailboxRequest moveRequest,
Map<EmailId, bool> emailIdsWithReadStatus,
) async* {
try {
yield Right(LoadingMoveToMailbox());
final result = await _emailRepository.moveToMailbox(session, accountId, moveRequest);
@@ -24,6 +30,8 @@ class MoveToMailboxInteractor {
moveRequest.moveAction,
moveRequest.emailActionType,
destinationPath: moveRequest.destinationPath,
originalMailboxIdsWithEmailIds: moveRequest.currentMailboxes,
emailIdsWithReadStatus: emailIdsWithReadStatus,
));
} else {
yield Left(MoveToMailboxFailure(moveRequest.emailActionType));