TF-3385 Update permanently delete emails
This commit is contained in:
+8
-2
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+16
@@ -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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user