Hotfix conflict role Spam/Junk
This commit is contained in:
@@ -63,6 +63,7 @@ import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_config.dart';
|
||||
import 'package:tmail_ui_user/main/universal_import/html_stub.dart' as html;
|
||||
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
abstract class BaseController extends GetxController
|
||||
@@ -82,6 +83,7 @@ abstract class BaseController extends GetxController
|
||||
final ResponsiveUtils responsiveUtils = Get.find<ResponsiveUtils>();
|
||||
final Uuid uuid = Get.find<Uuid>();
|
||||
final ApplicationManager applicationManager = Get.find<ApplicationManager>();
|
||||
final ToastManager toastManager = Get.find<ToastManager>();
|
||||
|
||||
bool _isFcmEnabled = false;
|
||||
|
||||
|
||||
@@ -21,9 +21,6 @@ import 'package:tmail_ui_user/features/login/domain/usecases/update_account_cach
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/vacation_interactors_bindings.dart';
|
||||
import 'package:tmail_ui_user/main/error/capability_validator.dart';
|
||||
import 'package:tmail_ui_user/main/exceptions/remote_exception.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
import 'package:tmail_ui_user/main/utils/message_toast_utils.dart';
|
||||
|
||||
abstract class ReloadableController extends BaseController {
|
||||
final GetSessionInteractor _getSessionInteractor = Get.find<GetSessionInteractor>();
|
||||
@@ -130,12 +127,9 @@ abstract class ReloadableController extends BaseController {
|
||||
consumeState(_getSessionInteractor.execute());
|
||||
}
|
||||
|
||||
void _handleGetSessionFailure(dynamic exception) {
|
||||
if (currentContext != null && currentOverlayContext != null && exception !is BadCredentialsException) {
|
||||
appToast.showToastErrorMessage(
|
||||
currentOverlayContext!,
|
||||
MessageToastUtils.getMessageByException(currentContext!, exception) ?? AppLocalizations.of(currentContext!).unknownError
|
||||
);
|
||||
void _handleGetSessionFailure(GetSessionFailure failure) {
|
||||
if (failure.exception !is BadCredentialsException) {
|
||||
toastManager.showMessageFailure(failure);
|
||||
}
|
||||
clearDataAndGoToLoginPage();
|
||||
}
|
||||
|
||||
@@ -1016,7 +1016,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
void moveToSpam(BuildContext context, PresentationEmail email) async {
|
||||
final session = mailboxDashBoardController.sessionCurrent;
|
||||
final accountId = mailboxDashBoardController.accountId.value;
|
||||
final spamMailboxId = mailboxDashBoardController.getMailboxIdByRole(PresentationMailbox.roleSpam);
|
||||
final spamMailboxId = mailboxDashBoardController.spamMailboxId;
|
||||
final currentMailbox = getMailboxContain(email);
|
||||
|
||||
if (session != null && accountId != null && currentMailbox != null && spamMailboxId != null) {
|
||||
@@ -1036,7 +1036,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
void unSpam(BuildContext context, PresentationEmail email) async {
|
||||
final session = mailboxDashBoardController.sessionCurrent;
|
||||
final accountId = mailboxDashBoardController.accountId.value;
|
||||
final spamMailboxId = mailboxDashBoardController.getMailboxIdByRole(PresentationMailbox.roleSpam);
|
||||
final spamMailboxId = mailboxDashBoardController.spamMailboxId;
|
||||
final inboxMailboxId = mailboxDashBoardController.getMailboxIdByRole(PresentationMailbox.roleInbox);
|
||||
|
||||
if (session != null && accountId != null && spamMailboxId != null && inboxMailboxId != null) {
|
||||
|
||||
@@ -12,7 +12,8 @@ import 'package:tmail_ui_user/features/login/domain/state/get_oidc_configuration
|
||||
import 'package:tmail_ui_user/features/login/domain/state/get_token_oidc_state.dart';
|
||||
import 'package:tmail_ui_user/features/login/presentation/login_form_type.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/utils/message_toast_utils.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
|
||||
|
||||
class LoginMessageWidget extends StatelessWidget {
|
||||
|
||||
@@ -22,7 +23,9 @@ class LoginMessageWidget extends StatelessWidget {
|
||||
final LoginFormType formType;
|
||||
final Either<Failure, Success> viewState;
|
||||
|
||||
const LoginMessageWidget({
|
||||
final ToastManager? _toastManager = getBinding<ToastManager>();
|
||||
|
||||
LoginMessageWidget({
|
||||
super.key,
|
||||
required this.formType,
|
||||
required this.viewState
|
||||
@@ -51,8 +54,8 @@ class LoginMessageWidget extends StatelessWidget {
|
||||
} else if (failure is GetTokenOIDCFailure && failure.exception is NoSuitableBrowserForOIDCException) {
|
||||
return AppLocalizations.of(context).noSuitableBrowserForOIDC;
|
||||
} else if (failure is FeatureFailure) {
|
||||
final errorMessage = MessageToastUtils.getMessageByException(context, failure.exception);
|
||||
return errorMessage ?? AppLocalizations.of(context).unknownError;
|
||||
return _toastManager?.getMessageByException(context, failure.exception)
|
||||
?? AppLocalizations.of(context).unknownError;
|
||||
} else {
|
||||
return AppLocalizations.of(context).unknownError;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/user_name.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:model/extensions/account_id_extensions.dart';
|
||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
import 'package:model/extensions/mailbox_extension.dart';
|
||||
import 'package:tmail_ui_user/features/caching/clients/mailbox_cache_client.dart';
|
||||
import 'package:tmail_ui_user/features/caching/utils/cache_utils.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/data/extensions/list_mailbox_cache_extension.dart';
|
||||
@@ -49,7 +49,7 @@ class MailboxCacheManager {
|
||||
|
||||
Future<Mailbox> getSpamMailbox(AccountId accountId, UserName userName) async {
|
||||
final mailboxList = await getAllMailbox(accountId, userName);
|
||||
final spamMailbox = mailboxList.firstWhereOrNull((mailbox) => mailbox.role == PresentationMailbox.roleSpam);
|
||||
final spamMailbox = mailboxList.firstWhereOrNull((mailbox) => mailbox.isSpam);
|
||||
if (spamMailbox != null) {
|
||||
return spamMailbox;
|
||||
} else {
|
||||
|
||||
@@ -30,6 +30,7 @@ import 'package:model/model.dart';
|
||||
import 'package:tmail_ui_user/features/base/mixin/handle_error_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/exceptions/set_method_exception.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_change_response.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/exceptions/mailbox_exception.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/exceptions/set_mailbox_method_exception.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/extensions/list_mailbox_id_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/extensions/role_extension.dart';
|
||||
|
||||
@@ -25,7 +25,7 @@ class MailboxConstants {
|
||||
PresentationMailbox.roleDrafts,
|
||||
PresentationMailbox.roleSent,
|
||||
PresentationMailbox.roleTrash,
|
||||
PresentationMailbox.roleSpam,
|
||||
PresentationMailbox.roleJunk,
|
||||
PresentationMailbox.roleTemplates,
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
|
||||
class NotFoundInboxMailboxException implements Exception {}
|
||||
|
||||
class NotFoundMailboxException implements Exception {}
|
||||
@@ -11,6 +11,4 @@ class SetMailboxMethodException implements Exception {
|
||||
|
||||
class NotFoundMailboxCreatedException implements Exception {}
|
||||
|
||||
class NotFoundMailboxUpdatedRoleException implements Exception {}
|
||||
|
||||
class NotFoundMailboxException implements Exception {}
|
||||
class NotFoundMailboxUpdatedRoleException implements Exception {}
|
||||
@@ -15,7 +15,7 @@ extension RoleExtension on Role {
|
||||
return 'Drafts';
|
||||
} else if (this == PresentationMailbox.roleTrash) {
|
||||
return 'Trash';
|
||||
} else if (this == PresentationMailbox.roleSpam) {
|
||||
} else if (this == PresentationMailbox.roleSpam || this == PresentationMailbox.roleJunk) {
|
||||
return 'Spam';
|
||||
} else if (this == PresentationMailbox.roleTemplates) {
|
||||
return 'Templates';
|
||||
|
||||
@@ -26,6 +26,7 @@ extension PresentationMailboxExtension on PresentationMailbox {
|
||||
case PresentationMailbox.trashRole:
|
||||
return AppLocalizations.of(context).trashMailboxDisplayName;
|
||||
case PresentationMailbox.spamRole:
|
||||
case PresentationMailbox.junkRole:
|
||||
return AppLocalizations.of(context).spamMailboxDisplayName;
|
||||
case PresentationMailbox.templatesRole:
|
||||
return AppLocalizations.of(context).templatesMailboxDisplayName;
|
||||
@@ -52,6 +53,7 @@ extension PresentationMailboxExtension on PresentationMailbox {
|
||||
case PresentationMailbox.trashRole:
|
||||
return imagePaths.icMailboxTrash;
|
||||
case PresentationMailbox.spamRole:
|
||||
case PresentationMailbox.junkRole:
|
||||
return imagePaths.icMailboxSpam;
|
||||
case PresentationMailbox.templatesRole:
|
||||
return imagePaths.icMailboxTemplate;
|
||||
|
||||
+97
-30
@@ -70,13 +70,16 @@ import 'package:tmail_ui_user/features/email/presentation/extensions/composer_ar
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/utils/email_utils.dart';
|
||||
import 'package:tmail_ui_user/features/email_recovery/presentation/model/email_recovery_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.dart';
|
||||
import 'package:tmail_ui_user/features/home/domain/usecases/store_session_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/exceptions/mailbox_exception.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/mark_as_mailbox_read_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/action/mailbox_ui_action.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/exceptions/spam_report_exception.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/spam_report_state.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_app_dashboard_configuration_state.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_composer_cache_state.dart';
|
||||
@@ -405,6 +408,9 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
|
||||
_handleRestoreDeletedMessageFailed();
|
||||
} else if (failure is GetRestoredDeletedMessageFailure) {
|
||||
_handleRestoreDeletedMessageFailed();
|
||||
} else if (failure is EmptySpamFolderFailure
|
||||
|| failure is MoveMultipleEmailToMailboxFailure) {
|
||||
toastManager.showMessageFailure(failure);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -573,6 +579,11 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
|
||||
return mapDefaultMailboxIdByRole[role];
|
||||
}
|
||||
|
||||
MailboxId? get spamMailboxId {
|
||||
return mapDefaultMailboxIdByRole[PresentationMailbox.roleJunk]
|
||||
?? mapDefaultMailboxIdByRole[PresentationMailbox.roleSpam];
|
||||
}
|
||||
|
||||
void setMapDefaultMailboxIdByRole(Map<Role, MailboxId> newMapMailboxId) {
|
||||
mapDefaultMailboxIdByRole = newMapMailboxId;
|
||||
}
|
||||
@@ -1106,34 +1117,83 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
|
||||
}
|
||||
|
||||
void moveSelectedMultipleEmailToSpam(List<PresentationEmail> listEmail, PresentationMailbox mailboxCurrent) {
|
||||
final spamMailboxId = getMailboxIdByRole(PresentationMailbox.roleSpam);
|
||||
if (accountId.value != null && spamMailboxId != null && sessionCurrent != null) {
|
||||
_moveSelectedEmailMultipleToMailboxAction(
|
||||
sessionCurrent!,
|
||||
accountId.value!,
|
||||
MoveToMailboxRequest(
|
||||
{mailboxCurrent.id: listEmail.listEmailIds},
|
||||
spamMailboxId,
|
||||
if (accountId.value == null || sessionCurrent == null) {
|
||||
consumeState(Stream.value(
|
||||
Left(MoveMultipleEmailToMailboxFailure(
|
||||
EmailActionType.moveToSpam,
|
||||
MoveAction.moving,
|
||||
EmailActionType.moveToSpam)
|
||||
);
|
||||
NotFoundSessionException()
|
||||
))
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
if (spamMailboxId == null) {
|
||||
consumeState(Stream.value(
|
||||
Left(MoveMultipleEmailToMailboxFailure(
|
||||
EmailActionType.moveToSpam,
|
||||
MoveAction.moving,
|
||||
NotFoundSpamMailboxException()
|
||||
))
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
_moveSelectedEmailMultipleToMailboxAction(
|
||||
sessionCurrent!,
|
||||
accountId.value!,
|
||||
MoveToMailboxRequest(
|
||||
{mailboxCurrent.id: listEmail.listEmailIds},
|
||||
spamMailboxId!,
|
||||
MoveAction.moving,
|
||||
EmailActionType.moveToSpam)
|
||||
);
|
||||
}
|
||||
|
||||
void unSpamSelectedMultipleEmail(List<PresentationEmail> listEmail) {
|
||||
final spamMailboxId = getMailboxIdByRole(PresentationMailbox.roleSpam);
|
||||
final inboxMailboxId = getMailboxIdByRole(PresentationMailbox.roleInbox);
|
||||
if (inboxMailboxId != null && accountId.value != null && spamMailboxId != null && sessionCurrent != null) {
|
||||
_moveSelectedEmailMultipleToMailboxAction(
|
||||
sessionCurrent!,
|
||||
accountId.value!,
|
||||
MoveToMailboxRequest(
|
||||
{spamMailboxId: listEmail.listEmailIds},
|
||||
inboxMailboxId,
|
||||
if (accountId.value == null || sessionCurrent == null) {
|
||||
consumeState(Stream.value(
|
||||
Left(MoveMultipleEmailToMailboxFailure(
|
||||
EmailActionType.unSpam,
|
||||
MoveAction.moving,
|
||||
EmailActionType.unSpam)
|
||||
);
|
||||
NotFoundSessionException()
|
||||
))
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
if (spamMailboxId == null) {
|
||||
consumeState(Stream.value(
|
||||
Left(MoveMultipleEmailToMailboxFailure(
|
||||
EmailActionType.unSpam,
|
||||
MoveAction.moving,
|
||||
NotFoundSpamMailboxException()
|
||||
))
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
final inboxMailboxId = getMailboxIdByRole(PresentationMailbox.roleInbox);
|
||||
if (inboxMailboxId == null) {
|
||||
consumeState(Stream.value(
|
||||
Left(MoveMultipleEmailToMailboxFailure(
|
||||
EmailActionType.unSpam,
|
||||
MoveAction.moving,
|
||||
NotFoundInboxMailboxException()
|
||||
))
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
_moveSelectedEmailMultipleToMailboxAction(
|
||||
sessionCurrent!,
|
||||
accountId.value!,
|
||||
MoveToMailboxRequest(
|
||||
{spamMailboxId!: listEmail.listEmailIds},
|
||||
inboxMailboxId,
|
||||
MoveAction.moving,
|
||||
EmailActionType.unSpam)
|
||||
);
|
||||
}
|
||||
|
||||
void deleteSelectionEmailsPermanently(
|
||||
@@ -2081,16 +2141,23 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
|
||||
void emptySpamFolderAction({Function? onCancelSelectionEmail, MailboxId? spamFolderId}) {
|
||||
onCancelSelectionEmail?.call();
|
||||
|
||||
final spamMailboxId = spamFolderId ?? mapDefaultMailboxIdByRole[PresentationMailbox.roleSpam];
|
||||
if (sessionCurrent != null && accountId.value != null && spamMailboxId != null) {
|
||||
consumeState(
|
||||
_emptySpamFolderInteractor.execute(
|
||||
sessionCurrent!,
|
||||
accountId.value!,
|
||||
spamMailboxId
|
||||
)
|
||||
);
|
||||
spamFolderId ??= spamMailboxId;
|
||||
|
||||
if (accountId.value == null || sessionCurrent == null) {
|
||||
consumeState(Stream.value(Left(EmptySpamFolderFailure(NotFoundSessionException()))));
|
||||
return;
|
||||
}
|
||||
|
||||
if (spamFolderId == null) {
|
||||
consumeState(Stream.value(Left(EmptySpamFolderFailure(NotFoundSpamMailboxException()))));
|
||||
return;
|
||||
}
|
||||
|
||||
consumeState(_emptySpamFolderInteractor.execute(
|
||||
sessionCurrent!,
|
||||
accountId.value!,
|
||||
spamFolderId
|
||||
));
|
||||
}
|
||||
|
||||
void _emptySpamFolderSuccess(EmptySpamFolderSuccess success) {
|
||||
|
||||
@@ -132,7 +132,7 @@ class FCMRepositoryImpl extends FCMRepository {
|
||||
.where((presentationMailbox) => presentationMailbox.pushNotificationDeactivated)
|
||||
.toList();
|
||||
log('FCMRepositoryImpl::getMailboxesNotPutNotifications():mailboxesCacheNotPutNotifications: $mailboxesCacheNotPutNotifications');
|
||||
if (mailboxesCacheNotPutNotifications.isNotEmpty && mailboxesCacheNotPutNotifications.length == FcmConstants.mailboxRuleDoNotAllowPushNotifications.length) {
|
||||
if (mailboxesCacheNotPutNotifications.isNotEmpty) {
|
||||
return mailboxesCacheNotPutNotifications;
|
||||
} else {
|
||||
final mailboxResponse = await _mapMailboxDataSource[DataSourceType.network]!.getAllMailbox(session, accountId);
|
||||
|
||||
@@ -1,16 +1,5 @@
|
||||
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
|
||||
class FcmConstants {
|
||||
static final List<Role> mailboxRuleDoNotAllowPushNotifications = [
|
||||
PresentationMailbox.roleDrafts,
|
||||
PresentationMailbox.roleSent,
|
||||
PresentationMailbox.roleOutbox,
|
||||
PresentationMailbox.roleSpam,
|
||||
PresentationMailbox.roleTrash
|
||||
];
|
||||
|
||||
static const String firebaseRegistrationExpiredTimeProperty = 'expires';
|
||||
|
||||
static const int MAX_NUMBER_NEW_EMAILS_RETRIEVED = 5;
|
||||
|
||||
@@ -219,8 +219,10 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
||||
listEmailRuleFilterActionSelected.add(newRuleFilterAction);
|
||||
}
|
||||
if (currentAction.appendIn.mailboxIds.isNotEmpty == true) {
|
||||
final spamMailboxId = findMailboxNodeByRole(PresentationMailbox.roleSpam)?.item.id
|
||||
?? findMailboxNodeByRole(PresentationMailbox.roleJunk)?.item.id;
|
||||
for (var mailboxId in currentAction.appendIn.mailboxIds) {
|
||||
if (mailboxId == findMailboxNodeByRole(PresentationMailbox.roleSpam)?.item.id) {
|
||||
if (mailboxId == spamMailboxId) {
|
||||
EmailRuleFilterAction? action = EmailRuleFilterAction.markAsSpam;
|
||||
RuleFilterActionArguments newRuleFilterAction = RuleFilterActionArguments.newAction(action);
|
||||
listEmailRuleFilterActionSelected.add(newRuleFilterAction);
|
||||
@@ -266,8 +268,10 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
||||
void _setUpMailboxSelected() {
|
||||
if (_currentTMailRule != null) {
|
||||
final mailboxIdsOfRule = _currentTMailRule!.action.appendIn.mailboxIds;
|
||||
final spamMailboxId = findMailboxNodeByRole(PresentationMailbox.roleSpam)?.item.id
|
||||
?? findMailboxNodeByRole(PresentationMailbox.roleJunk)?.item.id;
|
||||
for (var mailboxId in mailboxIdsOfRule) {
|
||||
if (mailboxId != findMailboxNodeByRole(PresentationMailbox.roleSpam)?.item.id) {
|
||||
if (mailboxId == spamMailboxId) {
|
||||
final mailboxNode = findMailboxNodeById(mailboxId);
|
||||
if (mailboxNode != null) {
|
||||
mailboxSelected.value = mailboxNode.item;
|
||||
@@ -482,7 +486,8 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
||||
mailboxIds.add(ruleFilterAction.mailbox!.id);
|
||||
}
|
||||
if (ruleFilterAction.action is MarAsSpamActionArguments) {
|
||||
MailboxId? spamMailboxId = findMailboxNodeByRole(PresentationMailbox.roleSpam)?.item.id;
|
||||
final spamMailboxId = findMailboxNodeByRole(PresentationMailbox.roleSpam)?.item.id
|
||||
?? findMailboxNodeByRole(PresentationMailbox.roleJunk)?.item.id;
|
||||
if (spamMailboxId != null) {
|
||||
mailboxIds.add(spamMailboxId);
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ mixin EmailActionController {
|
||||
void moveToSpam(PresentationEmail email, {PresentationMailbox? mailboxContain}) async {
|
||||
final session = mailboxDashBoardController.sessionCurrent;
|
||||
final accountId = mailboxDashBoardController.accountId.value;
|
||||
final spamMailboxId = mailboxDashBoardController.getMailboxIdByRole(PresentationMailbox.roleSpam);
|
||||
final spamMailboxId = mailboxDashBoardController.spamMailboxId;
|
||||
|
||||
if (session != null && mailboxContain != null && accountId != null && spamMailboxId != null) {
|
||||
moveToSpamAction(
|
||||
@@ -90,7 +90,7 @@ mixin EmailActionController {
|
||||
void unSpam(PresentationEmail email) async {
|
||||
final session = mailboxDashBoardController.sessionCurrent;
|
||||
final accountId = mailboxDashBoardController.accountId.value;
|
||||
final spamMailboxId = mailboxDashBoardController.getMailboxIdByRole(PresentationMailbox.roleSpam);
|
||||
final spamMailboxId = mailboxDashBoardController.spamMailboxId;
|
||||
final inboxMailboxId = mailboxDashBoardController.getMailboxIdByRole(PresentationMailbox.roleInbox);
|
||||
|
||||
if (session != null && inboxMailboxId != null && accountId != null && spamMailboxId != null) {
|
||||
|
||||
Reference in New Issue
Block a user