TF-1289: Make sure clear data in Hive DB
This commit is contained in:
@@ -159,6 +159,7 @@ abstract class ReloadableController extends BaseController {
|
|||||||
_authorizationInterceptors.clear();
|
_authorizationInterceptors.clear();
|
||||||
_authorizationIsolateInterceptors.clear();
|
_authorizationIsolateInterceptors.clear();
|
||||||
_fcmReceiver.deleteFcmToken();
|
_fcmReceiver.deleteFcmToken();
|
||||||
|
await _cachingManager.closeHive();
|
||||||
_goToLogin(arguments: LoginArguments(LoginFormType.credentialForm));
|
_goToLogin(arguments: LoginArguments(LoginFormType.credentialForm));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -173,6 +174,7 @@ abstract class ReloadableController extends BaseController {
|
|||||||
_authorizationIsolateInterceptors.clear();
|
_authorizationIsolateInterceptors.clear();
|
||||||
_authorizationInterceptors.clear();
|
_authorizationInterceptors.clear();
|
||||||
_fcmReceiver.deleteFcmToken();
|
_fcmReceiver.deleteFcmToken();
|
||||||
|
await _cachingManager.closeHive();
|
||||||
_goToLogin(arguments: LoginArguments(LoginFormType.ssoForm));
|
_goToLogin(arguments: LoginArguments(LoginFormType.ssoForm));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import 'package:tmail_ui_user/features/caching/state_cache_client.dart';
|
|||||||
import 'package:tmail_ui_user/features/mailbox/data/model/state_type.dart';
|
import 'package:tmail_ui_user/features/mailbox/data/model/state_type.dart';
|
||||||
import 'package:tmail_ui_user/features/push_notification/data/local/fcm_cache_manager.dart';
|
import 'package:tmail_ui_user/features/push_notification/data/local/fcm_cache_manager.dart';
|
||||||
|
|
||||||
|
import 'config/hive_cache_config.dart';
|
||||||
|
|
||||||
class CachingManager {
|
class CachingManager {
|
||||||
final MailboxCacheClient _mailboxCacheClient;
|
final MailboxCacheClient _mailboxCacheClient;
|
||||||
final StateCacheClient _stateCacheClient;
|
final StateCacheClient _stateCacheClient;
|
||||||
@@ -25,25 +27,14 @@ class CachingManager {
|
|||||||
);
|
);
|
||||||
|
|
||||||
Future<void> clearAll() async {
|
Future<void> clearAll() async {
|
||||||
if (kIsWeb) {
|
await Future.wait([
|
||||||
await Future.wait([
|
_stateCacheClient.clearAllData(),
|
||||||
_stateCacheClient.clearAllData(),
|
_mailboxCacheClient.clearAllData(),
|
||||||
_mailboxCacheClient.clearAllData(),
|
_emailCacheClient.clearAllData(),
|
||||||
_emailCacheClient.clearAllData(),
|
_recentSearchCacheClient.clearAllData(),
|
||||||
_recentSearchCacheClient.clearAllData(),
|
_accountCacheClient.clearAllData(),
|
||||||
_accountCacheClient.clearAllData(),
|
_fcmCacheManager.clearAllStateToRefresh()
|
||||||
_fcmCacheManager.clearAllStateToRefresh()
|
]);
|
||||||
]);
|
|
||||||
} else {
|
|
||||||
await Future.wait([
|
|
||||||
_stateCacheClient.deleteBox(),
|
|
||||||
_mailboxCacheClient.deleteBox(),
|
|
||||||
_emailCacheClient.deleteBox(),
|
|
||||||
_recentSearchCacheClient.deleteBox(),
|
|
||||||
_accountCacheClient.deleteBox(),
|
|
||||||
_fcmCacheManager.clearAllStateToRefresh()
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> cleanEmailCache() async {
|
Future<void> cleanEmailCache() async {
|
||||||
@@ -59,4 +50,8 @@ class CachingManager {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> closeHive() async {
|
||||||
|
return await HiveCacheConfig().closeHive();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user