TF-3385 Update permanently delete emails

This commit is contained in:
DatDang
2025-01-02 09:50:20 +07:00
committed by Dat H. Pham
parent 059185660e
commit 9660b40cd1
9 changed files with 124 additions and 12 deletions
@@ -871,7 +871,12 @@ class MailboxDashBoardController extends ReloadableController
final currentAccountId = accountId.value;
final session = sessionCurrent;
if (currentAccountId != null && session != null && email.id != null) {
consumeState(_deleteEmailPermanentlyInteractor.execute(session, currentAccountId, email.id!));
consumeState(_deleteEmailPermanentlyInteractor.execute(
session,
currentAccountId,
email.id!,
email.mailboxContain?.mailboxId,
));
}
}
@@ -1434,7 +1439,8 @@ class MailboxDashBoardController extends ReloadableController
consumeState(_deleteMultipleEmailsPermanentlyInteractor.execute(
sessionCurrent!,
accountId.value!,
listEmails.listEmailIds));
listEmails.listEmailIds,
listEmails.firstOrNull?.mailboxContain?.mailboxId));
}
}
@@ -0,0 +1,16 @@
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
extension DeleteEmailsInMailboxExtension on MailboxDashBoardController {
void handleDeleteEmailsInMailbox({
required List<EmailId> emailIds,
required MailboxId? affectedMailboxId,
}) {
if (selectedMailbox.value?.id != affectedMailboxId) {
return;
}
emailsInCurrentMailbox.removeWhere((email) => emailIds.contains(email.id));
}
}