TF-1328 Add function handle archiveMessage
(cherry picked from commit a6ff6c473534fb919241b072eb86851a15c714aa)
This commit is contained in:
@@ -23,6 +23,7 @@ import 'package:tmail_ui_user/features/composer/domain/state/save_email_as_draft
|
||||
import 'package:tmail_ui_user/features/composer/domain/state/send_email_state.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/state/update_email_drafts_state.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/model/move_action.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/model/move_to_mailbox_request.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/delete_email_permanently_state.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/delete_multiple_emails_permanently_state.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_read_state.dart';
|
||||
@@ -1346,4 +1347,25 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
mailboxDashBoardController.emptySpamFolderAction(spamFolderId: presentationMailbox.id);
|
||||
}
|
||||
}
|
||||
|
||||
void archiveMessage(PresentationEmail email) {
|
||||
final mailboxContain = email.findMailboxContain(mailboxDashBoardController.mapMailboxById);
|
||||
if (mailboxContain != null) {
|
||||
final archiveMailboxId = mailboxDashBoardController.getMailboxIdByRole(PresentationMailbox.roleArchive);
|
||||
if (archiveMailboxId != null) {
|
||||
final moveToArchiveMailboxRequest = MoveToMailboxRequest(
|
||||
{mailboxContain.id: [email.id!]},
|
||||
archiveMailboxId,
|
||||
MoveAction.moving,
|
||||
EmailActionType.moveToMailbox,
|
||||
destinationPath:findNodePath(archiveMailboxId)
|
||||
);
|
||||
mailboxDashBoardController.moveToMailbox(
|
||||
mailboxDashBoardController.sessionCurrent!,
|
||||
mailboxDashBoardController.accountId.value!,
|
||||
moveToArchiveMailboxRequest
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user