Fix not found object in bindings

(cherry picked from commit c9086077656b927b50c50498ca6f98e5a1da2b1e)
This commit is contained in:
dab246
2023-09-25 10:17:18 +07:00
committed by Dat H. Pham
parent 4cff60ae1b
commit 78eddecc1a
12 changed files with 59 additions and 319 deletions
@@ -23,11 +23,7 @@ import 'package:tmail_ui_user/features/email/domain/usecases/move_to_mailbox_int
import 'package:tmail_ui_user/features/email/domain/usecases/store_opened_email_interactor.dart'; import 'package:tmail_ui_user/features/email/domain/usecases/store_opened_email_interactor.dart';
import 'package:tmail_ui_user/features/email/presentation/controller/email_supervisor_controller.dart'; import 'package:tmail_ui_user/features/email/presentation/controller/email_supervisor_controller.dart';
import 'package:tmail_ui_user/features/email/presentation/controller/single_email_controller.dart'; import 'package:tmail_ui_user/features/email/presentation/controller/single_email_controller.dart';
import 'package:tmail_ui_user/features/login/data/datasource/account_datasource.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/network/config/authorization_interceptors.dart'; import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart';
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
import 'package:tmail_ui_user/features/login/domain/repository/account_repository.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/authentication_oidc_repository.dart';
import 'package:tmail_ui_user/features/login/domain/repository/credential_repository.dart'; import 'package:tmail_ui_user/features/login/domain/repository/credential_repository.dart';
@@ -77,7 +73,6 @@ class EmailBindings extends BaseBindings {
Get.lazyPut<EmailDataSource>(() => Get.find<EmailDataSourceImpl>()); Get.lazyPut<EmailDataSource>(() => Get.find<EmailDataSourceImpl>());
Get.lazyPut<HtmlDataSource>(() => Get.find<HtmlDataSourceImpl>()); Get.lazyPut<HtmlDataSource>(() => Get.find<HtmlDataSourceImpl>());
Get.lazyPut<StateDataSource>(() => Get.find<StateDataSourceImpl>()); Get.lazyPut<StateDataSource>(() => Get.find<StateDataSourceImpl>());
Get.lazyPut<AccountDatasource>(() => Get.find<HiveAccountDatasourceImpl>());
} }
@override @override
@@ -92,9 +87,6 @@ class EmailBindings extends BaseBindings {
Get.lazyPut(() => EmailDataSourceImpl( Get.lazyPut(() => EmailDataSourceImpl(
Get.find<EmailAPI>(), Get.find<EmailAPI>(),
Get.find<RemoteExceptionThrower>())); Get.find<RemoteExceptionThrower>()));
Get.lazyPut(() => HiveAccountDatasourceImpl(
Get.find<AccountCacheManager>(),
Get.find<CacheExceptionThrower>()));
Get.lazyPut(() => HtmlDataSourceImpl( Get.lazyPut(() => HtmlDataSourceImpl(
Get.find<HtmlAnalyzer>(), Get.find<HtmlAnalyzer>(),
Get.find<RemoteExceptionThrower>())); Get.find<RemoteExceptionThrower>()));
@@ -147,7 +139,6 @@ class EmailBindings extends BaseBindings {
void bindingsRepository() { void bindingsRepository() {
Get.lazyPut<MailboxRepository>(() => Get.find<MailboxRepositoryImpl>()); Get.lazyPut<MailboxRepository>(() => Get.find<MailboxRepositoryImpl>());
Get.lazyPut<EmailRepository>(() => Get.find<EmailRepositoryImpl>()); Get.lazyPut<EmailRepository>(() => Get.find<EmailRepositoryImpl>());
Get.lazyPut<AccountRepository>(() => Get.find<AccountRepositoryImpl>());
} }
@override @override
@@ -167,6 +158,5 @@ class EmailBindings extends BaseBindings {
Get.find<HtmlDataSource>(), Get.find<HtmlDataSource>(),
Get.find<StateDataSource>() Get.find<StateDataSource>()
)); ));
Get.lazyPut(() => AccountRepositoryImpl(Get.find<AccountDatasource>()));
} }
} }
@@ -13,27 +13,11 @@ import 'package:tmail_ui_user/features/cleanup/domain/usecases/cleanup_recent_lo
import 'package:tmail_ui_user/features/cleanup/domain/usecases/cleanup_recent_login_username_interactor.dart'; import 'package:tmail_ui_user/features/cleanup/domain/usecases/cleanup_recent_login_username_interactor.dart';
import 'package:tmail_ui_user/features/cleanup/domain/usecases/cleanup_recent_search_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/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/oidc_configuration_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/authentication_client/authentication_client_base.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/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/check_oidc_is_available_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/check_oidc_is_available_interactor.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_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/features/thread/data/local/email_cache_manager.dart';
import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart'; import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
import 'package:tmail_ui_user/main/utils/email_receive_manager.dart'; import 'package:tmail_ui_user/main/utils/email_receive_manager.dart';
class HomeBindings extends BaseBindings { class HomeBindings extends BaseBindings {
@@ -54,8 +38,6 @@ class HomeBindings extends BaseBindings {
@override @override
void bindingsDataSource() { void bindingsDataSource() {
Get.lazyPut<CleanupDataSource>(() => Get.find<CleanupDataSourceImpl>()); Get.lazyPut<CleanupDataSource>(() => Get.find<CleanupDataSourceImpl>());
Get.lazyPut<AccountDatasource>(() => Get.find<HiveAccountDatasourceImpl>());
Get.lazyPut<AuthenticationOIDCDataSource>(() => Get.find<AuthenticationOIDCDataSourceImpl>());
} }
@override @override
@@ -67,29 +49,10 @@ class HomeBindings extends BaseBindings {
Get.find<RecentLoginUsernameCacheManager>(), Get.find<RecentLoginUsernameCacheManager>(),
Get.find<CacheExceptionThrower>(), Get.find<CacheExceptionThrower>(),
)); ));
Get.lazyPut(() => HiveAccountDatasourceImpl(
Get.find<AccountCacheManager>(),
Get.find<CacheExceptionThrower>()));
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
Get.find<OIDCHttpClient>(),
Get.find<AuthenticationClientBase>(),
Get.find<TokenOidcCacheManager>(),
Get.find<OidcConfigurationCacheManager>(),
Get.find<RemoteExceptionThrower>(),
));
} }
@override @override
void bindingsInteractor() { 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(() => CleanupEmailCacheInteractor(Get.find<CleanupRepository>()));
Get.lazyPut(() => CleanupRecentSearchCacheInteractor(Get.find<CleanupRepository>())); Get.lazyPut(() => CleanupRecentSearchCacheInteractor(Get.find<CleanupRepository>()));
Get.lazyPut(() => CleanupRecentLoginUrlCacheInteractor(Get.find<CleanupRepository>())); Get.lazyPut(() => CleanupRecentLoginUrlCacheInteractor(Get.find<CleanupRepository>()));
@@ -100,14 +63,10 @@ class HomeBindings extends BaseBindings {
@override @override
void bindingsRepository() { void bindingsRepository() {
Get.lazyPut<CleanupRepository>(() => Get.find<CleanupRepositoryImpl>()); Get.lazyPut<CleanupRepository>(() => Get.find<CleanupRepositoryImpl>());
Get.lazyPut<AccountRepository>(() => Get.find<AccountRepositoryImpl>());
Get.lazyPut<AuthenticationOIDCRepository>(() => Get.find<AuthenticationOIDCRepositoryImpl>());
} }
@override @override
void bindingsRepositoryImpl() { void bindingsRepositoryImpl() {
Get.lazyPut(() => CleanupRepositoryImpl(Get.find<CleanupDataSource>())); Get.lazyPut(() => CleanupRepositoryImpl(Get.find<CleanupDataSource>()));
Get.lazyPut(() => AccountRepositoryImpl(Get.find<AccountDatasource>()));
Get.lazyPut(() => AuthenticationOIDCRepositoryImpl(Get.find<AuthenticationOIDCDataSource>()));
} }
} }
@@ -3,52 +3,33 @@ import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_bindings.dart'; import 'package:tmail_ui_user/features/base/base_bindings.dart';
import 'package:tmail_ui_user/features/caching/clients/recent_login_url_cache_client.dart'; import 'package:tmail_ui_user/features/caching/clients/recent_login_url_cache_client.dart';
import 'package:tmail_ui_user/features/caching/clients/recent_login_username_cache_client.dart'; import 'package:tmail_ui_user/features/caching/clients/recent_login_username_cache_client.dart';
import 'package:tmail_ui_user/features/login/data/datasource/account_datasource.dart';
import 'package:tmail_ui_user/features/login/data/datasource/authentication_datasource.dart';
import 'package:tmail_ui_user/features/login/data/datasource/authentication_oidc_datasource.dart';
import 'package:tmail_ui_user/features/login/data/datasource/login_url_datasource.dart'; import 'package:tmail_ui_user/features/login/data/datasource/login_url_datasource.dart';
import 'package:tmail_ui_user/features/login/data/datasource/login_username_datasource.dart'; import 'package:tmail_ui_user/features/login/data/datasource/login_username_datasource.dart';
import 'package:tmail_ui_user/features/login/data/datasource_impl/authentication_datasource_impl.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/datasource_impl/login_url_datasource_impl.dart'; import 'package:tmail_ui_user/features/login/data/datasource_impl/login_url_datasource_impl.dart';
import 'package:tmail_ui_user/features/login/data/datasource_impl/login_username_datasource_impl.dart'; import 'package:tmail_ui_user/features/login/data/datasource_impl/login_username_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/oidc_configuration_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/authentication_client/authentication_client_base.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/data/repository/authentication_repository_impl.dart';
import 'package:tmail_ui_user/features/login/data/repository/login_url_repository_impl.dart'; import 'package:tmail_ui_user/features/login/data/repository/login_url_repository_impl.dart';
import 'package:tmail_ui_user/features/login/data/repository/login_username_repository_impl.dart'; import 'package:tmail_ui_user/features/login/data/repository/login_username_repository_impl.dart';
import 'package:tmail_ui_user/features/login/domain/repository/account_repository.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/authentication_oidc_repository.dart';
import 'package:tmail_ui_user/features/login/domain/repository/authentication_repository.dart';
import 'package:tmail_ui_user/features/login/domain/repository/credential_repository.dart'; import 'package:tmail_ui_user/features/login/domain/repository/credential_repository.dart';
import 'package:tmail_ui_user/features/login/domain/repository/login_url_repository.dart'; import 'package:tmail_ui_user/features/login/domain/repository/login_url_repository.dart';
import 'package:tmail_ui_user/features/login/domain/repository/login_username_repository.dart'; import 'package:tmail_ui_user/features/login/domain/repository/login_username_repository.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/authenticate_oidc_on_browser_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/authenticate_oidc_on_browser_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/authentication_user_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/authentication_user_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/check_oidc_is_available_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/check_oidc_is_available_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_all_recent_login_url_on_mobile_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/get_all_recent_login_url_on_mobile_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_all_recent_login_username_on_mobile_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/get_all_recent_login_username_on_mobile_interactor.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_authenticated_account_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_authentication_info_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/get_authentication_info_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_oidc_configuration_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/get_oidc_configuration_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_oidc_is_available_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/get_oidc_is_available_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_stored_oidc_configuration_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/get_stored_oidc_configuration_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_stored_token_oidc_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/get_token_oidc_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/get_token_oidc_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/save_login_url_on_mobile_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/save_login_url_on_mobile_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/save_login_username_on_mobile_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/save_login_username_on_mobile_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/update_authentication_account_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/update_authentication_account_interactor.dart';
import 'package:tmail_ui_user/features/login/presentation/login_controller.dart'; import 'package:tmail_ui_user/features/login/presentation/login_controller.dart';
import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart'; import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
class LoginBindings extends BaseBindings { class LoginBindings extends BaseBindings {
@@ -75,9 +56,6 @@ class LoginBindings extends BaseBindings {
@override @override
void bindingsDataSource() { void bindingsDataSource() {
Get.lazyPut<AuthenticationDataSource>(() => Get.find<AuthenticationDataSourceImpl>());
Get.lazyPut<AuthenticationOIDCDataSource>(() => Get.find<AuthenticationOIDCDataSourceImpl>());
Get.lazyPut<AccountDatasource>(() => Get.find<HiveAccountDatasourceImpl>());
Get.lazyPut<LoginUrlDataSource>(() => Get.find<LoginUrlDataSourceImpl>()); Get.lazyPut<LoginUrlDataSource>(() => Get.find<LoginUrlDataSourceImpl>());
Get.lazyPut<LoginUsernameDataSource>(() => Get.find<LoginUsernameDataSourceImpl>()); Get.lazyPut<LoginUsernameDataSource>(() => Get.find<LoginUsernameDataSourceImpl>());
@@ -85,17 +63,6 @@ class LoginBindings extends BaseBindings {
@override @override
void bindingsDataSourceImpl() { void bindingsDataSourceImpl() {
Get.lazyPut(() => AuthenticationDataSourceImpl());
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
Get.find<OIDCHttpClient>(),
Get.find<AuthenticationClientBase>(),
Get.find<TokenOidcCacheManager>(),
Get.find<OidcConfigurationCacheManager>(),
Get.find<RemoteExceptionThrower>()
));
Get.lazyPut(() => HiveAccountDatasourceImpl(
Get.find<AccountCacheManager>(),
Get.find<CacheExceptionThrower>()));
Get.lazyPut(() => LoginUrlDataSourceImpl( Get.lazyPut(() => LoginUrlDataSourceImpl(
Get.find<RecentLoginUrlCacheClient>(), Get.find<RecentLoginUrlCacheClient>(),
Get.find<CacheExceptionThrower>())); Get.find<CacheExceptionThrower>()));
@@ -106,24 +73,6 @@ class LoginBindings extends BaseBindings {
@override @override
void bindingsInteractor() { void bindingsInteractor() {
Get.lazyPut(() => DeleteAuthorityOidcInteractor(
Get.find<AuthenticationOIDCRepository>(),
Get.find<CredentialRepository>())
);
Get.lazyPut(() => GetStoredTokenOidcInteractor(
Get.find<AuthenticationOIDCRepository>(),
Get.find<CredentialRepository>(),
));
Get.lazyPut(() => GetAuthenticatedAccountInteractor(
Get.find<AccountRepository>(),
Get.find<GetCredentialInteractor>(),
Get.find<GetStoredTokenOidcInteractor>(),
));
Get.lazyPut(() => AuthenticationInteractor(
Get.find<AuthenticationRepository>(),
Get.find<CredentialRepository>(),
Get.find<AccountRepository>()
));
Get.lazyPut(() => CheckOIDCIsAvailableInteractor( Get.lazyPut(() => CheckOIDCIsAvailableInteractor(
Get.find<AuthenticationOIDCRepository>(), Get.find<AuthenticationOIDCRepository>(),
)); ));
@@ -162,9 +111,6 @@ class LoginBindings extends BaseBindings {
@override @override
void bindingsRepository() { void bindingsRepository() {
Get.lazyPut<AuthenticationRepository>(() => Get.find<AuthenticationRepositoryImpl>());
Get.lazyPut<AuthenticationOIDCRepository>(() => Get.find<AuthenticationOIDCRepositoryImpl>());
Get.lazyPut<AccountRepository>(() => Get.find<AccountRepositoryImpl>());
Get.lazyPut<LoginUrlRepository>(() => Get.find<LoginUrlRepositoryImpl>()); Get.lazyPut<LoginUrlRepository>(() => Get.find<LoginUrlRepositoryImpl>());
Get.lazyPut<LoginUsernameRepository>(() => Get.find<LoginUsernameRepositoryImpl>()); Get.lazyPut<LoginUsernameRepository>(() => Get.find<LoginUsernameRepositoryImpl>());
@@ -172,9 +118,6 @@ class LoginBindings extends BaseBindings {
@override @override
void bindingsRepositoryImpl() { void bindingsRepositoryImpl() {
Get.lazyPut(() => AuthenticationRepositoryImpl(Get.find<AuthenticationDataSource>()));
Get.lazyPut(() => AuthenticationOIDCRepositoryImpl(Get.find<AuthenticationOIDCDataSource>()));
Get.lazyPut(() => AccountRepositoryImpl(Get.find<AccountDatasource>()));
Get.lazyPut(() => LoginUrlRepositoryImpl(Get.find<LoginUrlDataSource>())); Get.lazyPut(() => LoginUrlRepositoryImpl(Get.find<LoginUrlDataSource>()));
Get.lazyPut(() => LoginUsernameRepositoryImpl(Get.find<LoginUsernameDataSource>())); Get.lazyPut(() => LoginUsernameRepositoryImpl(Get.find<LoginUsernameDataSource>()));
} }
@@ -25,23 +25,8 @@ import 'package:tmail_ui_user/features/email/domain/usecases/move_to_mailbox_int
import 'package:tmail_ui_user/features/email/presentation/controller/email_supervisor_controller.dart'; import 'package:tmail_ui_user/features/email/presentation/controller/email_supervisor_controller.dart';
import 'package:tmail_ui_user/features/email/presentation/controller/single_email_controller.dart'; import 'package:tmail_ui_user/features/email/presentation/controller/single_email_controller.dart';
import 'package:tmail_ui_user/features/email/presentation/bindings/email_bindings.dart'; import 'package:tmail_ui_user/features/email/presentation/bindings/email_bindings.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/oidc_configuration_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/authentication_client/authentication_client_base.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/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_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/login/domain/usecases/update_authentication_account_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/update_authentication_account_interactor.dart';
import 'package:tmail_ui_user/features/mailbox/data/datasource/mailbox_datasource.dart'; import 'package:tmail_ui_user/features/mailbox/data/datasource/mailbox_datasource.dart';
import 'package:tmail_ui_user/features/mailbox/data/datasource/state_datasource.dart'; import 'package:tmail_ui_user/features/mailbox/data/datasource/state_datasource.dart';
@@ -191,8 +176,6 @@ class MailboxDashBoardBindings extends BaseBindings {
Get.lazyPut<ThreadDataSource>(() => Get.find<ThreadDataSourceImpl>()); Get.lazyPut<ThreadDataSource>(() => Get.find<ThreadDataSourceImpl>());
Get.lazyPut<StateDataSource>(() => Get.find<StateDataSourceImpl>()); Get.lazyPut<StateDataSource>(() => Get.find<StateDataSourceImpl>());
Get.lazyPut<MailboxDataSource>(() => Get.find<MailboxDataSourceImpl>()); Get.lazyPut<MailboxDataSource>(() => Get.find<MailboxDataSourceImpl>());
Get.lazyPut<AccountDatasource>(() => Get.find<HiveAccountDatasourceImpl>());
Get.lazyPut<AuthenticationOIDCDataSource>(() => Get.find<AuthenticationOIDCDataSourceImpl>());
Get.lazyPut<SessionStorageComposerDatasource>(() => Get.find<SessionStorageComposerDatasourceImpl>()); Get.lazyPut<SessionStorageComposerDatasource>(() => Get.find<SessionStorageComposerDatasourceImpl>());
Get.lazyPut<SpamReportDataSource>(() => Get.find<SpamReportDataSourceImpl>()); Get.lazyPut<SpamReportDataSource>(() => Get.find<SpamReportDataSourceImpl>());
} }
@@ -221,16 +204,6 @@ class MailboxDashBoardBindings extends BaseBindings {
Get.lazyPut(() => MailboxCacheDataSourceImpl( Get.lazyPut(() => MailboxCacheDataSourceImpl(
Get.find<MailboxCacheManager>(), Get.find<MailboxCacheManager>(),
Get.find<CacheExceptionThrower>())); Get.find<CacheExceptionThrower>()));
Get.lazyPut(() => HiveAccountDatasourceImpl(
Get.find<AccountCacheManager>(),
Get.find<CacheExceptionThrower>()));
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
Get.find<OIDCHttpClient>(),
Get.find<AuthenticationClientBase>(),
Get.find<TokenOidcCacheManager>(),
Get.find<OidcConfigurationCacheManager>(),
Get.find<RemoteExceptionThrower>(),
));
Get.lazyPut(() => SessionStorageComposerDatasourceImpl()); Get.lazyPut(() => SessionStorageComposerDatasourceImpl());
Get.lazyPut(() => SpamReportDataSourceImpl( Get.lazyPut(() => SpamReportDataSourceImpl(
Get.find<SpamReportApi>(), Get.find<SpamReportApi>(),
@@ -275,15 +248,6 @@ class MailboxDashBoardBindings extends BaseBindings {
Get.find<MailboxRepository>(), Get.find<MailboxRepository>(),
Get.find<EmailRepository>()) Get.find<EmailRepository>())
); );
Get.lazyPut(() => GetStoredTokenOidcInteractor(
Get.find<AuthenticationOIDCRepository>(),
Get.find<CredentialRepository>(),
));
Get.lazyPut(() => GetAuthenticatedAccountInteractor(
Get.find<AccountRepository>(),
Get.find<GetCredentialInteractor>(),
Get.find<GetStoredTokenOidcInteractor>(),
));
Get.lazyPut(() => GetComposerCacheOnWebInteractor(Get.find<ComposerCacheRepository>())); Get.lazyPut(() => GetComposerCacheOnWebInteractor(Get.find<ComposerCacheRepository>()));
Get.lazyPut(() => SaveComposerCacheOnWebInteractor(Get.find<ComposerCacheRepository>())); Get.lazyPut(() => SaveComposerCacheOnWebInteractor(Get.find<ComposerCacheRepository>()));
Get.lazyPut(() => RemoveComposerCacheOnWebInteractor(Get.find<ComposerCacheRepository>())); Get.lazyPut(() => RemoveComposerCacheOnWebInteractor(Get.find<ComposerCacheRepository>()));
@@ -343,8 +307,6 @@ class MailboxDashBoardBindings extends BaseBindings {
Get.lazyPut<SearchRepository>(() => Get.find<SearchRepositoryImpl>()); Get.lazyPut<SearchRepository>(() => Get.find<SearchRepositoryImpl>());
Get.lazyPut<ThreadRepository>(() => Get.find<ThreadRepositoryImpl>()); Get.lazyPut<ThreadRepository>(() => Get.find<ThreadRepositoryImpl>());
Get.lazyPut<MailboxRepository>(() => Get.find<MailboxRepositoryImpl>()); Get.lazyPut<MailboxRepository>(() => Get.find<MailboxRepositoryImpl>());
Get.lazyPut<AccountRepository>(() => Get.find<AccountRepositoryImpl>());
Get.lazyPut<AuthenticationOIDCRepository>(() => Get.find<AuthenticationOIDCRepositoryImpl>());
Get.lazyPut<ComposerCacheRepository>(() => Get.find<ComposerCacheRepositoryImpl>()); Get.lazyPut<ComposerCacheRepository>(() => Get.find<ComposerCacheRepositoryImpl>());
Get.lazyPut<SpamReportRepository>(() => Get.find<SpamReportRepositoryImpl>()); Get.lazyPut<SpamReportRepository>(() => Get.find<SpamReportRepositoryImpl>());
} }
@@ -374,8 +336,6 @@ class MailboxDashBoardBindings extends BaseBindings {
}, },
Get.find<StateDataSource>(), Get.find<StateDataSource>(),
)); ));
Get.lazyPut(() => AccountRepositoryImpl(Get.find<AccountDatasource>()));
Get.lazyPut(() => AuthenticationOIDCRepositoryImpl(Get.find<AuthenticationOIDCDataSource>()));
Get.lazyPut(() => ComposerCacheRepositoryImpl(Get.find<SessionStorageComposerDatasource>())); Get.lazyPut(() => ComposerCacheRepositoryImpl(Get.find<SessionStorageComposerDatasource>()));
Get.lazyPut(() => SpamReportRepositoryImpl( Get.lazyPut(() => SpamReportRepositoryImpl(
{ {
@@ -1,21 +1,9 @@
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_bindings.dart'; import 'package:tmail_ui_user/features/base/base_bindings.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/local/oidc_configuration_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/authentication_client/authentication_client_base.dart';
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.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/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_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/login/domain/usecases/update_authentication_account_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/update_authentication_account_interactor.dart';
import 'package:tmail_ui_user/features/mailto/presentation/mailto_url_controller.dart'; import 'package:tmail_ui_user/features/mailto/presentation/mailto_url_controller.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
class MailtoUrlBindings extends BaseBindings { class MailtoUrlBindings extends BaseBindings {
@@ -28,42 +16,19 @@ class MailtoUrlBindings extends BaseBindings {
} }
@override @override
void bindingsDataSource() { void bindingsDataSource() {}
Get.lazyPut<AuthenticationOIDCDataSource>(() => Get.find<AuthenticationOIDCDataSourceImpl>());
}
@override @override
void bindingsDataSourceImpl() { void bindingsDataSourceImpl() {}
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
Get.find<OIDCHttpClient>(),
Get.find<AuthenticationClientBase>(),
Get.find<TokenOidcCacheManager>(),
Get.find<OidcConfigurationCacheManager>(),
Get.find<RemoteExceptionThrower>(),
));
}
@override @override
void bindingsInteractor() { 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(() => UpdateAuthenticationAccountInteractor(Get.find<AccountRepository>())); Get.lazyPut(() => UpdateAuthenticationAccountInteractor(Get.find<AccountRepository>()));
} }
@override @override
void bindingsRepository() { void bindingsRepository() {}
Get.lazyPut<AuthenticationOIDCRepository>(() => Get.find<AuthenticationOIDCRepositoryImpl>());
}
@override @override
void bindingsRepositoryImpl() { void bindingsRepositoryImpl() {}
Get.lazyPut(() => AuthenticationOIDCRepositoryImpl(Get.find<AuthenticationOIDCDataSource>()));
}
} }
@@ -15,8 +15,7 @@ class LogoutOidcInteractor {
final AccountRepository _accountRepository; final AccountRepository _accountRepository;
final AuthenticationOIDCRepository _authenticationOIDCRepository; final AuthenticationOIDCRepository _authenticationOIDCRepository;
LogoutOidcInteractor( LogoutOidcInteractor(this._accountRepository, this._authenticationOIDCRepository);
this._accountRepository, this._authenticationOIDCRepository);
Stream<Either<Failure, Success>> execute() async* { Stream<Either<Failure, Success>> execute() async* {
try { try {
@@ -1,22 +1,7 @@
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_bindings.dart'; import 'package:tmail_ui_user/features/base/base_bindings.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/oidc_configuration_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/authentication_client/authentication_client_base.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/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_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/login/domain/usecases/update_authentication_account_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/update_authentication_account_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/data/datasource/manage_account_datasource.dart'; import 'package:tmail_ui_user/features/manage_account/data/datasource/manage_account_datasource.dart';
import 'package:tmail_ui_user/features/manage_account/data/datasource_impl/manage_account_datasource_impl.dart'; import 'package:tmail_ui_user/features/manage_account/data/datasource_impl/manage_account_datasource_impl.dart';
@@ -27,7 +12,6 @@ import 'package:tmail_ui_user/features/manage_account/presentation/manage_accoun
import 'package:tmail_ui_user/features/manage_account/presentation/menu/manage_account_menu_bindings.dart'; import 'package:tmail_ui_user/features/manage_account/presentation/menu/manage_account_menu_bindings.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/menu/settings/settings_bindings.dart'; import 'package:tmail_ui_user/features/manage_account/presentation/menu/settings/settings_bindings.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/profiles_bindings.dart'; import 'package:tmail_ui_user/features/manage_account/presentation/profiles/profiles_bindings.dart';
import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart'; import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
class ManageAccountDashBoardBindings extends BaseBindings { class ManageAccountDashBoardBindings extends BaseBindings {
@@ -50,23 +34,11 @@ class ManageAccountDashBoardBindings extends BaseBindings {
@override @override
void bindingsDataSource() { void bindingsDataSource() {
Get.lazyPut<AccountDatasource>(() => Get.find<HiveAccountDatasourceImpl>());
Get.lazyPut<AuthenticationOIDCDataSource>(() => Get.find<AuthenticationOIDCDataSourceImpl>());
Get.lazyPut<ManageAccountDataSource>(() => Get.find<ManageAccountDataSourceImpl>()); Get.lazyPut<ManageAccountDataSource>(() => Get.find<ManageAccountDataSourceImpl>());
} }
@override @override
void bindingsDataSourceImpl() { void bindingsDataSourceImpl() {
Get.lazyPut(() => HiveAccountDatasourceImpl(
Get.find<AccountCacheManager>(),
Get.find<CacheExceptionThrower>()));
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
Get.find<OIDCHttpClient>(),
Get.find<AuthenticationClientBase>(),
Get.find<TokenOidcCacheManager>(),
Get.find<OidcConfigurationCacheManager>(),
Get.find<RemoteExceptionThrower>()
));
Get.lazyPut(() => ManageAccountDataSourceImpl( Get.lazyPut(() => ManageAccountDataSourceImpl(
Get.find<LanguageCacheManager>(), Get.find<LanguageCacheManager>(),
Get.find<RemoteExceptionThrower>())); Get.find<RemoteExceptionThrower>()));
@@ -74,29 +46,16 @@ class ManageAccountDashBoardBindings extends BaseBindings {
@override @override
void bindingsInteractor() { 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(() => UpdateAuthenticationAccountInteractor(Get.find<AccountRepository>())); Get.lazyPut(() => UpdateAuthenticationAccountInteractor(Get.find<AccountRepository>()));
} }
@override @override
void bindingsRepository() { void bindingsRepository() {
Get.lazyPut<AccountRepository>(() => Get.find<AccountRepositoryImpl>());
Get.lazyPut<AuthenticationOIDCRepository>(() => Get.find<AuthenticationOIDCRepositoryImpl>());
Get.lazyPut<ManageAccountRepository>(() => Get.find<ManageAccountRepositoryImpl>()); Get.lazyPut<ManageAccountRepository>(() => Get.find<ManageAccountRepositoryImpl>());
} }
@override @override
void bindingsRepositoryImpl() { void bindingsRepositoryImpl() {
Get.lazyPut(() => AccountRepositoryImpl(Get.find<AccountDatasource>()));
Get.lazyPut(() => AuthenticationOIDCRepositoryImpl(Get.find<AuthenticationOIDCDataSource>()));
Get.lazyPut(() => ManageAccountRepositoryImpl(Get.find<ManageAccountDataSource>())); Get.lazyPut(() => ManageAccountRepositoryImpl(Get.find<ManageAccountDataSource>()));
} }
} }
@@ -4,21 +4,25 @@ import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:core/core.dart'; import 'package:core/core.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_controller.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart'; import 'package:tmail_ui_user/main/routes/route_navigation.dart';
class NetworkConnectionController extends BaseController { class NetworkConnectionController extends GetxController {
final connectivityResult = Rxn<ConnectivityResult>(); final connectivityResult = Rxn<ConnectivityResult>();
final _imagePaths = Get.find<ImagePaths>();
final Connectivity _connectivity; final Connectivity _connectivity;
final AppToast _appToast = Get.find<AppToast>(); final ImagePaths _imagePaths;
final AppToast _appToast;
bool _isEnableShowToastDisconnection = true; bool _isEnableShowToastDisconnection = true;
late StreamSubscription<ConnectivityResult> subscription; late StreamSubscription<ConnectivityResult> subscription;
NetworkConnectionController(this._connectivity); NetworkConnectionController(
this._connectivity,
this._imagePaths,
this._appToast
);
@override @override
void onInit() { void onInit() {
@@ -2,25 +2,13 @@ import 'package:core/data/network/config/dynamic_url_interceptors.dart';
import 'package:core/presentation/utils/app_toast.dart'; import 'package:core/presentation/utils/app_toast.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_bindings.dart'; import 'package:tmail_ui_user/features/base/base_bindings.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/local/oidc_configuration_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/authentication_client/authentication_client_base.dart';
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.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/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_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/login/domain/usecases/update_authentication_account_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/update_authentication_account_interactor.dart';
import 'package:tmail_ui_user/features/session/domain/repository/session_repository.dart'; import 'package:tmail_ui_user/features/session/domain/repository/session_repository.dart';
import 'package:tmail_ui_user/features/session/domain/usecases/get_session_interactor.dart'; import 'package:tmail_ui_user/features/session/domain/usecases/get_session_interactor.dart';
import 'package:tmail_ui_user/features/session/domain/usecases/get_stored_session_interactor.dart'; import 'package:tmail_ui_user/features/session/domain/usecases/get_stored_session_interactor.dart';
import 'package:tmail_ui_user/features/session/presentation/session_controller.dart'; import 'package:tmail_ui_user/features/session/presentation/session_controller.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
class SessionPageBindings extends BaseBindings { class SessionPageBindings extends BaseBindings {
@@ -37,43 +25,20 @@ class SessionPageBindings extends BaseBindings {
} }
@override @override
void bindingsDataSource() { void bindingsDataSource() {}
Get.lazyPut<AuthenticationOIDCDataSource>(() => Get.find<AuthenticationOIDCDataSourceImpl>());
}
@override @override
void bindingsDataSourceImpl() { void bindingsDataSourceImpl() {}
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl(
Get.find<OIDCHttpClient>(),
Get.find<AuthenticationClientBase>(),
Get.find<TokenOidcCacheManager>(),
Get.find<OidcConfigurationCacheManager>(),
Get.find<RemoteExceptionThrower>(),
));
}
@override @override
void bindingsInteractor() { 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(() => UpdateAuthenticationAccountInteractor(Get.find<AccountRepository>())); Get.lazyPut(() => UpdateAuthenticationAccountInteractor(Get.find<AccountRepository>()));
Get.lazyPut(() => GetStoredSessionInteractor(Get.find<SessionRepository>())); Get.lazyPut(() => GetStoredSessionInteractor(Get.find<SessionRepository>()));
} }
@override @override
void bindingsRepository() { void bindingsRepository() {}
Get.lazyPut<AuthenticationOIDCRepository>(() => Get.find<AuthenticationOIDCRepositoryImpl>());
}
@override @override
void bindingsRepositoryImpl() { void bindingsRepositoryImpl() {}
Get.lazyPut(() => AuthenticationOIDCRepositoryImpl(Get.find<AuthenticationOIDCDataSource>()));
}
} }
@@ -1,8 +1,10 @@
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import 'package:tmail_ui_user/features/base/base_bindings.dart'; import 'package:tmail_ui_user/features/base/interactors_bindings.dart';
import 'package:tmail_ui_user/features/login/data/datasource/account_datasource.dart'; import 'package:tmail_ui_user/features/login/data/datasource/account_datasource.dart';
import 'package:tmail_ui_user/features/login/data/datasource/authentication_datasource.dart';
import 'package:tmail_ui_user/features/login/data/datasource/authentication_oidc_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_datasource_impl.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/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/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/account_cache_manager.dart';
@@ -13,10 +15,13 @@ import 'package:tmail_ui_user/features/login/data/network/authentication_client/
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.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/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/data/repository/authentication_oidc_repository_impl.dart';
import 'package:tmail_ui_user/features/login/data/repository/authentication_repository_impl.dart';
import 'package:tmail_ui_user/features/login/data/repository/credential_repository_impl.dart'; import 'package:tmail_ui_user/features/login/data/repository/credential_repository_impl.dart';
import 'package:tmail_ui_user/features/login/domain/repository/account_repository.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/authentication_oidc_repository.dart';
import 'package:tmail_ui_user/features/login/domain/repository/authentication_repository.dart';
import 'package:tmail_ui_user/features/login/domain/repository/credential_repository.dart'; import 'package:tmail_ui_user/features/login/domain/repository/credential_repository.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/authentication_user_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.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_authenticated_account_interactor.dart';
@@ -26,37 +31,44 @@ import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oi
import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart'; import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart'; import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
class CredentialBindings extends BaseBindings { class CredentialBindings extends InteractorsBindings {
@override @override
void bindingsInteractor() { void bindingsInteractor() {
Get.put(GetCredentialInteractor(Get.find<CredentialRepository>())); Get.put(GetCredentialInteractor(Get.find<CredentialRepository>()));
Get.put(DeleteCredentialInteractor(Get.find<CredentialRepository>())); Get.put(DeleteCredentialInteractor(Get.find<CredentialRepository>()));
Get.lazyPut(() => LogoutOidcInteractor( Get.put(LogoutOidcInteractor(
Get.find<AccountRepository>(), Get.find<AccountRepository>(),
Get.find<AuthenticationOIDCRepository>(), Get.find<AuthenticationOIDCRepository>(),
)); ));
Get.lazyPut(() => DeleteAuthorityOidcInteractor( Get.put(DeleteAuthorityOidcInteractor(
Get.find<AuthenticationOIDCRepository>(), Get.find<AuthenticationOIDCRepository>(),
Get.find<CredentialRepository>()) Get.find<CredentialRepository>())
); );
Get.lazyPut(() => GetStoredTokenOidcInteractor( Get.put(GetStoredTokenOidcInteractor(
Get.find<AuthenticationOIDCRepository>(), Get.find<AuthenticationOIDCRepository>(),
Get.find<CredentialRepository>(), Get.find<CredentialRepository>(),
)); ));
Get.lazyPut(() => GetAuthenticatedAccountInteractor( Get.put(GetAuthenticatedAccountInteractor(
Get.find<AccountRepository>(), Get.find<AccountRepository>(),
Get.find<GetCredentialInteractor>(), Get.find<GetCredentialInteractor>(),
Get.find<GetStoredTokenOidcInteractor>(), Get.find<GetStoredTokenOidcInteractor>(),
)); ));
Get.put(AuthenticationInteractor(
Get.find<AuthenticationRepository>(),
Get.find<CredentialRepository>(),
Get.find<AccountRepository>()
));
} }
@override @override
void bindingsDataSourceImpl() { void bindingsDataSourceImpl() {
Get.lazyPut(() => HiveAccountDatasourceImpl( Get.put(HiveAccountDatasourceImpl(
Get.find<AccountCacheManager>(), Get.find<AccountCacheManager>(),
Get.find<CacheExceptionThrower>()) Get.find<CacheExceptionThrower>())
); );
Get.lazyPut(() => AuthenticationOIDCDataSourceImpl( Get.put(AuthenticationDataSourceImpl());
Get.put(AuthenticationOIDCDataSourceImpl(
Get.find<OIDCHttpClient>(), Get.find<OIDCHttpClient>(),
Get.find<AuthenticationClientBase>(), Get.find<AuthenticationClientBase>(),
Get.find<TokenOidcCacheManager>(), Get.find<TokenOidcCacheManager>(),
@@ -67,28 +79,27 @@ class CredentialBindings extends BaseBindings {
@override @override
void bindingsDataSource() { void bindingsDataSource() {
Get.lazyPut<AccountDatasource>(() => Get.find<HiveAccountDatasourceImpl>()); Get.put<AccountDatasource>(Get.find<HiveAccountDatasourceImpl>());
Get.lazyPut<AuthenticationOIDCDataSource>(() => Get.find<AuthenticationOIDCDataSourceImpl>()); Get.put<AuthenticationDataSource>(Get.find<AuthenticationDataSourceImpl>());
Get.put<AuthenticationOIDCDataSource>(Get.find<AuthenticationOIDCDataSourceImpl>());
} }
@override @override
void bindingsRepository() { void bindingsRepository() {
Get.put<CredentialRepository>(Get.find<CredentialRepositoryImpl>()); Get.put<CredentialRepository>(Get.find<CredentialRepositoryImpl>());
Get.lazyPut<AccountRepository>(() => Get.find<AccountRepositoryImpl>()); Get.put<AccountRepository>(Get.find<AccountRepositoryImpl>());
Get.lazyPut<AuthenticationOIDCRepository>(() => Get.find<AuthenticationOIDCRepositoryImpl>()); Get.put<AuthenticationRepository>(Get.find<AuthenticationRepositoryImpl>());
Get.put<AuthenticationOIDCRepository>(Get.find<AuthenticationOIDCRepositoryImpl>());
} }
@override @override
void bindingsRepositoryImpl() { void bindingsRepositoryImpl() {
Get.put(CredentialRepositoryImpl( Get.put(CredentialRepositoryImpl(
Get.find<SharedPreferences>(), Get.find<SharedPreferences>(),
Get.find<AuthenticationInfoCacheManager>()) Get.find<AuthenticationInfoCacheManager>()
); ));
Get.lazyPut(() => AccountRepositoryImpl(Get.find<AccountDatasource>())); Get.put(AccountRepositoryImpl(Get.find<AccountDatasource>()));
Get.lazyPut(() => AuthenticationOIDCRepositoryImpl(Get.find<AuthenticationOIDCDataSource>())); Get.put(AuthenticationRepositoryImpl(Get.find<AuthenticationDataSource>()));
} Get.put(AuthenticationOIDCRepositoryImpl(Get.find<AuthenticationOIDCDataSource>()));
@override
void bindingsController() {
} }
} }
+1 -1
View File
@@ -15,7 +15,7 @@ class MainBindings extends Bindings {
NetworkBindings().dependencies(); NetworkBindings().dependencies();
NetworkIsolateBindings().dependencies(); NetworkIsolateBindings().dependencies();
CredentialBindings().dependencies(); CredentialBindings().dependencies();
NetWorkConnectionBindings().dependencies();
SessionBindings().dependencies(); SessionBindings().dependencies();
NetWorkConnectionBindings().dependencies();
} }
} }
@@ -1,32 +1,17 @@
import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/utils/app_toast.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_bindings.dart';
import 'package:tmail_ui_user/features/network_connection/presentation/network_connection_controller.dart'; import 'package:tmail_ui_user/features/network_connection/presentation/network_connection_controller.dart';
class NetWorkConnectionBindings extends BaseBindings { class NetWorkConnectionBindings extends Bindings {
@override @override
void bindingsController() { void dependencies() {
Get.put(NetworkConnectionController(Get.find<Connectivity>())); Get.put(NetworkConnectionController(
} Get.find<Connectivity>(),
Get.find<ImagePaths>(),
@override Get.find<AppToast>(),
void bindingsDataSource() { ));
}
@override
void bindingsDataSourceImpl() {
}
@override
void bindingsInteractor() {
}
@override
void bindingsRepository() {
}
@override
void bindingsRepositoryImpl() {
} }
} }