TF-3767 Clean up recent searches whenever re-login and exceeds limit

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-06-11 12:59:13 +07:00
committed by Dat H. Pham
parent a02435c9f5
commit 6fef6190e0
13 changed files with 136 additions and 61 deletions
@@ -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),
));
}
}