TF-3385 Update move emails
This commit is contained in:
@@ -14,6 +14,8 @@ class MoveToMailboxSuccess extends UIState {
|
||||
final MoveAction moveAction;
|
||||
final EmailActionType emailActionType;
|
||||
final String? destinationPath;
|
||||
final Map<MailboxId,List<EmailId>> originalMailboxIdsWithEmailIds;
|
||||
final Map<EmailId, bool> emailIdsWithReadStatus;
|
||||
|
||||
MoveToMailboxSuccess(
|
||||
this.emailId,
|
||||
@@ -23,6 +25,8 @@ class MoveToMailboxSuccess extends UIState {
|
||||
this.emailActionType,
|
||||
{
|
||||
this.destinationPath,
|
||||
required this.originalMailboxIdsWithEmailIds,
|
||||
required this.emailIdsWithReadStatus,
|
||||
}
|
||||
);
|
||||
|
||||
@@ -34,6 +38,8 @@ class MoveToMailboxSuccess extends UIState {
|
||||
moveAction,
|
||||
emailActionType,
|
||||
destinationPath,
|
||||
originalMailboxIdsWithEmailIds,
|
||||
emailIdsWithReadStatus,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user