TF-3385 Update permanently delete emails
This commit is contained in:
@@ -21,6 +21,8 @@ import 'package:tmail_ui_user/features/base/mixin/contact_support_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/base/mixin/mailbox_action_handler_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/state/save_email_as_drafts_state.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/model/move_action.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/get_restored_deleted_message_state.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_read_state.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
|
||||
@@ -322,6 +324,21 @@ class MailboxController extends BaseMailboxController
|
||||
affectedMailboxId: reactionState.draftMailboxId,
|
||||
totalEmailsChanged: -1,
|
||||
);
|
||||
} else if (reactionState is DeleteEmailPermanentlySuccess) {
|
||||
_handleDeleteEmailsFromMailbox(
|
||||
affectedMailboxId: reactionState.mailboxId,
|
||||
totalEmailsChanged: -1,
|
||||
);
|
||||
} else if (reactionState is DeleteMultipleEmailsPermanentlyAllSuccess) {
|
||||
_handleDeleteEmailsFromMailbox(
|
||||
affectedMailboxId: reactionState.mailboxId,
|
||||
totalEmailsChanged: -reactionState.emailIds.length,
|
||||
);
|
||||
} else if (reactionState is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure) {
|
||||
_handleDeleteEmailsFromMailbox(
|
||||
affectedMailboxId: reactionState.mailboxId,
|
||||
totalEmailsChanged: -reactionState.emailIds.length,
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -359,6 +376,18 @@ class MailboxController extends BaseMailboxController
|
||||
);
|
||||
}
|
||||
|
||||
void _handleDeleteEmailsFromMailbox({
|
||||
required MailboxId? affectedMailboxId,
|
||||
required int totalEmailsChanged,
|
||||
}) {
|
||||
if (affectedMailboxId == null) return;
|
||||
|
||||
updateMailboxTotalEmailsCountById(
|
||||
affectedMailboxId,
|
||||
totalEmailsChanged,
|
||||
);
|
||||
}
|
||||
|
||||
void _initWebSocketQueueHandler() {
|
||||
_webSocketQueueHandler = WebSocketQueueHandler(
|
||||
processMessageCallback: _handleWebSocketMessage,
|
||||
|
||||
Reference in New Issue
Block a user