TF-571 Handle get stored account when re-open app

This commit is contained in:
Dat PHAM HOANG
2022-05-31 14:35:11 +07:00
committed by Dat H. Pham
parent 0b29deeeb9
commit 3c9abf8f41
2 changed files with 88 additions and 13 deletions
@@ -9,8 +9,22 @@ import 'package:tmail_ui_user/features/cleanup/domain/repository/cleanup_reposit
import 'package:tmail_ui_user/features/cleanup/domain/usecases/cleanup_email_cache_interactor.dart';
import 'package:tmail_ui_user/features/cleanup/domain/usecases/cleanup_recent_search_cache_interactor.dart';
import 'package:tmail_ui_user/features/home/presentation/home_controller.dart';
import 'package:tmail_ui_user/features/login/data/datasource/account_datasource.dart';
import 'package:tmail_ui_user/features/login/data/datasource/authentication_oidc_datasource.dart';
import 'package:tmail_ui_user/features/login/data/datasource_impl/authentication_oidc_datasource_impl.dart';
import 'package:tmail_ui_user/features/login/data/datasource_impl/hive_account_datasource_impl.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/login/data/network/config/authorization_interceptors.dart';
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
import 'package:tmail_ui_user/features/login/data/repository/authentication_oidc_repository_impl.dart';
import 'package:tmail_ui_user/features/login/domain/repository/account_repository.dart';
import 'package:tmail_ui_user/features/login/domain/repository/authentication_oidc_repository.dart';
import 'package:tmail_ui_user/features/login/domain/repository/credential_repository.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_authenticated_account_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_credential_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_stored_token_oidc_interactor.dart';
import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart';
import 'package:tmail_ui_user/main/utils/email_receive_manager.dart';
@@ -19,7 +33,7 @@ class HomeBindings extends BaseBindings {
@override
void bindingsController() {
Get.lazyPut(() => HomeController(
Get.find<GetCredentialInteractor>(),
Get.find<GetAuthenticatedAccountInteractor>(),
Get.find<DynamicUrlInterceptors>(),
Get.find<AuthorizationInterceptors>(),
Get.find<CleanupEmailCacheInteractor>(),
@@ -31,6 +45,8 @@ class HomeBindings extends BaseBindings {
@override
void bindingsDataSource() {
Get.lazyPut<CleanupDataSource>(() => Get.find<CleanupDataSourceImpl>());
Get.lazyPut<AccountDatasource>(() => Get.find<HiveAccountDatasourceImpl>());
Get.lazyPut<AuthenticationOIDCDataSource>(() => Get.find<AuthenticationOIDCDataSourceImpl>());
}
@override
@@ -39,10 +55,26 @@ class HomeBindings extends BaseBindings {
Get.find<EmailCacheManager>(),
Get.find<RecentSearchCacheManager>(),
));
Get.lazyPut(() => HiveAccountDatasourceImpl(
Get.find<AccountCacheManager>()
));
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
Get.find<OIDCHttpClient>(),
Get.find<TokenOidcCacheManager>()
));
}
@override
void bindingsInteractor() {
Get.lazyPut(() => GetStoredTokenOidcInteractor(
Get.find<AuthenticationOIDCRepository>(),
Get.find<CredentialRepository>()
));
Get.lazyPut(() => GetAuthenticatedAccountInteractor(
Get.find<AccountRepository>(),
Get.find<GetCredentialInteractor>(),
Get.find<GetStoredTokenOidcInteractor>()
));
Get.lazyPut(() => CleanupEmailCacheInteractor(Get.find<CleanupRepository>()));
Get.lazyPut(() => CleanupRecentSearchCacheInteractor(Get.find<CleanupRepository>()));
}
@@ -50,10 +82,14 @@ class HomeBindings extends BaseBindings {
@override
void bindingsRepository() {
Get.lazyPut<CleanupRepository>(() => Get.find<CleanupRepositoryImpl>());
Get.lazyPut<AccountRepository>(() => Get.find<AccountRepositoryImpl>());
Get.lazyPut<AuthenticationOIDCRepository>(() => Get.find<AuthenticationOIDCRepositoryImpl>());
}
@override
void bindingsRepositoryImpl() {
Get.lazyPut(() => CleanupRepositoryImpl(Get.find<CleanupDataSource>()));
Get.lazyPut(() => AccountRepositoryImpl(Get.find<AccountDatasource>()));
Get.lazyPut(() => AuthenticationOIDCRepositoryImpl(Get.find<AuthenticationOIDCDataSource>()));
}
}