diff --git a/lib/features/caching/caching_manager.dart b/lib/features/caching/caching_manager.dart index 71a34d4d6..070214a1c 100644 --- a/lib/features/caching/caching_manager.dart +++ b/lib/features/caching/caching_manager.dart @@ -1,9 +1,11 @@ import 'package:flutter/foundation.dart'; +import 'package:tmail_ui_user/features/caching/account_cache_client.dart'; import 'package:tmail_ui_user/features/caching/email_cache_client.dart'; import 'package:tmail_ui_user/features/caching/mailbox_cache_client.dart'; import 'package:tmail_ui_user/features/caching/recent_search_cache_client.dart'; import 'package:tmail_ui_user/features/caching/state_cache_client.dart'; +import 'package:tmail_ui_user/features/caching/token_oidc_cache_client.dart'; class CachingManager { @@ -11,12 +13,16 @@ class CachingManager { final StateCacheClient _stateCacheClient; final EmailCacheClient _emailCacheClient; final RecentSearchCacheClient _recentSearchCacheClient; + final TokenOidcCacheClient _tokenOidcCacheClient; + final AccountCacheClient _accountCacheClient; CachingManager( this._mailboxCacheClient, this._stateCacheClient, this._emailCacheClient, this._recentSearchCacheClient, + this._tokenOidcCacheClient, + this._accountCacheClient ); Future clearAll() async { @@ -26,6 +32,8 @@ class CachingManager { _mailboxCacheClient.clearAllData(), _emailCacheClient.clearAllData(), _recentSearchCacheClient.clearAllData(), + _tokenOidcCacheClient.clearAllData(), + _accountCacheClient.clearAllData() ]); } else { await Future.wait([ @@ -33,6 +41,8 @@ class CachingManager { _mailboxCacheClient.deleteBox(), _emailCacheClient.deleteBox(), _recentSearchCacheClient.deleteBox(), + _tokenOidcCacheClient.deleteBox(), + _accountCacheClient.deleteBox() ]); } } diff --git a/lib/features/caching/config/hive_cache_config.dart b/lib/features/caching/config/hive_cache_config.dart index 17cb20dd2..efa8433aa 100644 --- a/lib/features/caching/config/hive_cache_config.dart +++ b/lib/features/caching/config/hive_cache_config.dart @@ -3,6 +3,8 @@ import 'dart:io'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:path_provider/path_provider.dart' as path_provider; +import 'package:tmail_ui_user/features/login/data/model/account_cache.dart'; +import 'package:tmail_ui_user/features/login/data/model/token_oidc_cache.dart'; import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_cache.dart'; import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_rights_cache.dart'; import 'package:tmail_ui_user/features/mailbox/data/model/state_cache.dart'; @@ -37,5 +39,7 @@ class HiveCacheConfig { Hive.registerAdapter(EmailAddressHiveCacheAdapter()); Hive.registerAdapter(EmailCacheAdapter()); Hive.registerAdapter(RecentSearchCacheAdapter()); + Hive.registerAdapter(TokenOidcCacheAdapter()); + Hive.registerAdapter(AccountCacheAdapter()); } } \ No newline at end of file diff --git a/lib/features/caching/utils/caching_constants.dart b/lib/features/caching/utils/caching_constants.dart index 636083f62..5d62203c4 100644 --- a/lib/features/caching/utils/caching_constants.dart +++ b/lib/features/caching/utils/caching_constants.dart @@ -7,4 +7,6 @@ class CachingConstants { static const int EMAIL_CACHE_IDENTIFY = 5; static const int EMAIL_ADDRESS_HIVE_CACHE_IDENTIFY = 6; static const int RECENT_SEARCH_HIVE_CACHE_IDENTIFY = 7; + static const int TOKEN_OIDC_HIVE_CACHE_IDENTIFY = 8; + static const int ACCOUNT_HIVE_CACHE_IDENTIFY = 9; } \ No newline at end of file diff --git a/lib/main/bindings/local/local_bindings.dart b/lib/main/bindings/local/local_bindings.dart index b6875b88e..d27c0884a 100644 --- a/lib/main/bindings/local/local_bindings.dart +++ b/lib/main/bindings/local/local_bindings.dart @@ -1,12 +1,16 @@ import 'package:core/core.dart'; import 'package:get/get.dart'; +import 'package:tmail_ui_user/features/caching/account_cache_client.dart'; import 'package:tmail_ui_user/features/caching/caching_manager.dart'; import 'package:tmail_ui_user/features/caching/email_cache_client.dart'; import 'package:tmail_ui_user/features/caching/mailbox_cache_client.dart'; import 'package:tmail_ui_user/features/caching/recent_search_cache_client.dart'; import 'package:tmail_ui_user/features/caching/state_cache_client.dart'; +import 'package:tmail_ui_user/features/caching/token_oidc_cache_client.dart'; import 'package:tmail_ui_user/features/cleanup/data/local/recent_search_cache_manager.dart'; +import 'package:tmail_ui_user/features/login/data/local/account_cache_manager.dart'; +import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart'; import 'package:tmail_ui_user/features/mailbox/data/local/mailbox_cache_manager.dart'; import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart'; @@ -30,11 +34,17 @@ class LocalBindings extends Bindings { Get.put(EmailCacheManager(Get.find())); Get.put(RecentSearchCacheClient()); Get.put(RecentSearchCacheManager(Get.find())); + Get.put(TokenOidcCacheClient()); + Get.put(TokenOidcCacheManager(Get.find())); + Get.put(AccountCacheClient()); + Get.put(AccountCacheManager(Get.find())); Get.put(CachingManager( Get.find(), Get.find(), Get.find(), Get.find(), + Get.find(), + Get.find() )); } } \ No newline at end of file diff --git a/lib/main/pages/app_pages.dart b/lib/main/pages/app_pages.dart index 0b228965d..867298c45 100644 --- a/lib/main/pages/app_pages.dart +++ b/lib/main/pages/app_pages.dart @@ -8,12 +8,12 @@ import 'package:tmail_ui_user/features/email/presentation/email_view.dart' defer import 'package:tmail_ui_user/features/home/presentation/home_bindings.dart'; import 'package:tmail_ui_user/features/home/presentation/home_view.dart'; import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_bindings.dart'; +import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_view.dart' deferred as identity_creator; import 'package:tmail_ui_user/features/login/presentation/login_bindings.dart'; import 'package:tmail_ui_user/features/login/presentation/login_view.dart' if (dart.library.html) 'package:tmail_ui_user/features/login/presentation/login_view_web.dart' deferred as login; import 'package:tmail_ui_user/features/mailbox_creator/presentation/mailbox_creator_bindings.dart'; import 'package:tmail_ui_user/features/mailbox_creator/presentation/mailbox_creator_view.dart' deferred as mailbox_creator; -import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_view.dart' deferred as identity_creator; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mailbox_dashboard_bindings.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mailbox_dashboard_view.dart' if (dart.library.html) 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart' deferred as mailbox_dashboard; @@ -28,7 +28,7 @@ class AppPages { static final pages = [ GetPage( name: AppRoutes.HOME, - page: () => HomeView(), + page: () => const HomeView(), binding: HomeBindings()), GetPage( name: AppRoutes.LOGIN,