TF-3767 Clean up recent searches whenever re-login and exceeds limit
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -11,6 +11,7 @@ import 'package:tmail_ui_user/features/caching/caching_manager.dart';
|
||||
import 'package:tmail_ui_user/features/caching/utils/local_storage_manager.dart';
|
||||
import 'package:tmail_ui_user/features/caching/utils/session_storage_manager.dart';
|
||||
import 'package:tmail_ui_user/features/cleanup/data/local/recent_search_cache_manager.dart';
|
||||
import 'package:tmail_ui_user/features/cleanup/presentation/cleanup_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/composer/data/repository/contact_repository_impl.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/repository/contact_repository.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/send_email_interactor.dart';
|
||||
@@ -144,6 +145,7 @@ class MailboxDashBoardBindings extends BaseBindings {
|
||||
|
||||
@override
|
||||
void dependencies() {
|
||||
CleanupBindings().dependencies();
|
||||
super.dependencies();
|
||||
SendingQueueBindings().dependencies();
|
||||
MailboxBindings().dependencies();
|
||||
|
||||
+2
@@ -102,6 +102,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/download/download_controller.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart' as search;
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/spam_report_controller.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/cleanup_recent_search_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/delete_emails_in_mailbox_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_clear_mailbox_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_create_filter_for_folder.dart';
|
||||
@@ -781,6 +782,7 @@ class MailboxDashBoardController extends ReloadableController
|
||||
spamReportController.getSpamReportStateAction();
|
||||
_getAllIdentities();
|
||||
getServerSetting();
|
||||
cleanupRecentSearch();
|
||||
|
||||
if (PlatformInfo.isMobile) {
|
||||
getAllSendingEmails();
|
||||
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:tmail_ui_user/features/cleanup/domain/model/recent_search_cleanup_rule.dart';
|
||||
import 'package:tmail_ui_user/features/cleanup/domain/usecases/cleanup_recent_search_cache_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
extension CleanupRecentSearchExtension on MailboxDashBoardController {
|
||||
void cleanupRecentSearch() {
|
||||
final cleanupRecentSearchCacheInteractor =
|
||||
getBinding<CleanupRecentSearchCacheInteractor>();
|
||||
final accountId = this.accountId.value;
|
||||
final username = sessionCurrent?.username;
|
||||
|
||||
if (accountId == null || username == null || cleanupRecentSearchCacheInteractor == null) {
|
||||
logError('CleanupRecentSearchExtension::cleanupRecentSearch: accountId == null || username == null || cleanupRecentSearchCacheInteractor == null');
|
||||
return;
|
||||
}
|
||||
|
||||
consumeState(cleanupRecentSearchCacheInteractor.execute(
|
||||
RecentSearchCleanupRule(accountId, username),
|
||||
));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user