TF-4392 [Team Mailbox] Move email to trash on delete in Email List View
This commit is contained in:
+33
@@ -0,0 +1,33 @@
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
|
||||
|
||||
extension GetTrashMailboxIdAndPathExtension on MailboxDashBoardController {
|
||||
({MailboxId? trashId, String? trashPath}) getTrashMailboxIdAndPath(
|
||||
PresentationMailbox emailMailbox,
|
||||
) {
|
||||
final defaultResult = (
|
||||
trashId: mapDefaultMailboxIdByRole[PresentationMailbox.roleTrash],
|
||||
trashPath: null as String?,
|
||||
);
|
||||
|
||||
final mailbox = selectedMailbox.value ?? emailMailbox;
|
||||
|
||||
if (mailbox.isPersonal) return defaultResult;
|
||||
|
||||
final namespace = mailbox.namespace;
|
||||
if (namespace == null) return defaultResult;
|
||||
|
||||
final trashId = findDefaultMailboxIdInTeamMailbox(
|
||||
namespace: namespace,
|
||||
mailboxName: PresentationMailbox.trashRole,
|
||||
);
|
||||
if (trashId == null) return defaultResult;
|
||||
|
||||
final trashPath = getTeamMailboxNodePathWithSeparator(
|
||||
mailboxId: trashId,
|
||||
);
|
||||
return (trashId: trashId, trashPath: trashPath);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user