From 571ff4298085486eee4f0ff673b4ec31e3cec54e Mon Sep 17 00:00:00 2001 From: dab246 Date: Tue, 4 Mar 2025 11:09:48 +0700 Subject: [PATCH] TF-3484 Remove `GetOIDCIsAvailableInteractor` duplicate of `CheckOIDCIsAvailableInteractor` Signed-off-by: dab246 --- .../state/get_oidc_is_available_state.dart | 19 ------------ .../get_oidc_is_available_interactor.dart | 22 -------------- .../login/presentation/login_bindings.dart | 5 ---- .../login/presentation/login_controller.dart | 30 ++----------------- .../presentation/login_controller_test.dart | 5 ---- 5 files changed, 3 insertions(+), 78 deletions(-) delete mode 100644 lib/features/login/domain/state/get_oidc_is_available_state.dart delete mode 100644 lib/features/login/domain/usecases/get_oidc_is_available_interactor.dart diff --git a/lib/features/login/domain/state/get_oidc_is_available_state.dart b/lib/features/login/domain/state/get_oidc_is_available_state.dart deleted file mode 100644 index 16ac225cf..000000000 --- a/lib/features/login/domain/state/get_oidc_is_available_state.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:core/presentation/state/failure.dart'; -import 'package:core/presentation/state/success.dart'; -import 'package:model/oidc/response/oidc_response.dart'; - -class GetOIDCIsAvailableLoading extends LoadingState {} - -class GetOIDCIsAvailableSuccess extends UIState { - final OIDCResponse oidcResponse; - - GetOIDCIsAvailableSuccess(this.oidcResponse); - - @override - List get props => [oidcResponse]; -} - -class GetOIDCIsAvailableFailure extends FeatureFailure { - - GetOIDCIsAvailableFailure(dynamic exception) : super(exception: exception); -} \ No newline at end of file diff --git a/lib/features/login/domain/usecases/get_oidc_is_available_interactor.dart b/lib/features/login/domain/usecases/get_oidc_is_available_interactor.dart deleted file mode 100644 index 7a4d96fa9..000000000 --- a/lib/features/login/domain/usecases/get_oidc_is_available_interactor.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:core/presentation/state/failure.dart'; -import 'package:core/presentation/state/success.dart'; -import 'package:dartz/dartz.dart'; -import 'package:model/oidc/request/oidc_request.dart'; -import 'package:tmail_ui_user/features/login/domain/repository/authentication_oidc_repository.dart'; -import 'package:tmail_ui_user/features/login/domain/state/get_oidc_is_available_state.dart'; - -class GetOIDCIsAvailableInteractor { - final AuthenticationOIDCRepository _oidcRepository; - - GetOIDCIsAvailableInteractor(this._oidcRepository); - - Stream> execute(OIDCRequest oidcRequest) async* { - try { - yield Right(GetOIDCIsAvailableLoading()); - final result = await _oidcRepository.checkOIDCIsAvailable(oidcRequest); - yield Right(GetOIDCIsAvailableSuccess(result)); - } catch (e) { - yield Left(GetOIDCIsAvailableFailure(e)); - } - } -} \ No newline at end of file diff --git a/lib/features/login/presentation/login_bindings.dart b/lib/features/login/presentation/login_bindings.dart index 2dd140624..28eaa060d 100644 --- a/lib/features/login/presentation/login_bindings.dart +++ b/lib/features/login/presentation/login_bindings.dart @@ -21,7 +21,6 @@ import 'package:tmail_ui_user/features/login/domain/usecases/get_all_recent_logi 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_authentication_info_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_stored_oidc_configuration_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'; @@ -42,7 +41,6 @@ class LoginBindings extends BaseBindings { Get.create(() => LoginController( Get.find(), Get.find(), - Get.find(), Get.find(), Get.find(), Get.find(), @@ -86,9 +84,6 @@ class LoginBindings extends BaseBindings { Get.lazyPut(() => CheckOIDCIsAvailableInteractor( Get.find(), )); - Get.lazyPut(() => GetOIDCIsAvailableInteractor( - Get.find(), - )); Get.lazyPut(() => GetOIDCConfigurationInteractor( Get.find(), )); diff --git a/lib/features/login/presentation/login_controller.dart b/lib/features/login/presentation/login_controller.dart index a093b9ca6..c2be4505e 100644 --- a/lib/features/login/presentation/login_controller.dart +++ b/lib/features/login/presentation/login_controller.dart @@ -36,7 +36,6 @@ import 'package:tmail_ui_user/features/login/domain/state/get_all_recent_login_u import 'package:tmail_ui_user/features/login/domain/state/get_authenticated_account_state.dart'; import 'package:tmail_ui_user/features/login/domain/state/get_authentication_info_state.dart'; import 'package:tmail_ui_user/features/login/domain/state/get_oidc_configuration_state.dart'; -import 'package:tmail_ui_user/features/login/domain/state/get_oidc_is_available_state.dart'; import 'package:tmail_ui_user/features/login/domain/state/get_stored_oidc_configuration_state.dart'; import 'package:tmail_ui_user/features/login/domain/state/get_token_oidc_state.dart'; import 'package:tmail_ui_user/features/login/domain/usecases/authenticate_oidc_on_browser_interactor.dart'; @@ -47,7 +46,6 @@ import 'package:tmail_ui_user/features/login/domain/usecases/get_all_recent_logi 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_authentication_info_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_stored_oidc_configuration_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'; @@ -70,7 +68,6 @@ class LoginController extends ReloadableController { final AuthenticationInteractor _authenticationInteractor; final CheckOIDCIsAvailableInteractor _checkOIDCIsAvailableInteractor; - final GetOIDCIsAvailableInteractor _getOIDCIsAvailableInteractor; final GetOIDCConfigurationInteractor _getOIDCConfigurationInteractor; final GetTokenOIDCInteractor _getTokenOIDCInteractor; final AuthenticateOidcOnBrowserInteractor _authenticateOidcOnBrowserInteractor; @@ -92,7 +89,6 @@ class LoginController extends ReloadableController { final loginFormType = LoginFormType.none.obs; - OIDCResponse? _oidcResponse; UserName? _username; Password? _password; Uri? _baseUri; @@ -103,7 +99,6 @@ class LoginController extends ReloadableController { LoginController( this._authenticationInteractor, this._checkOIDCIsAvailableInteractor, - this._getOIDCIsAvailableInteractor, this._getOIDCConfigurationInteractor, this._getTokenOIDCInteractor, this._authenticateOidcOnBrowserInteractor, @@ -153,7 +148,6 @@ class LoginController extends ReloadableController { } else if (failure is CheckOIDCIsAvailableFailure) { _handleCheckOIDCIsAvailableFailure(failure); } else if (failure is GetStoredOidcConfigurationFailure || - failure is GetOIDCIsAvailableFailure || failure is GetOIDCConfigurationFailure || failure is SignInTwakeWorkplaceFailure ) { @@ -182,10 +176,7 @@ class LoginController extends ReloadableController { } else if (success is GetStoredOidcConfigurationSuccess) { _getTokenOIDCAction(success.oidcConfiguration); } else if (success is CheckOIDCIsAvailableSuccess) { - _redirectToSSOLoginScreen(success); - } else if (success is GetOIDCIsAvailableSuccess) { - _oidcResponse = success.oidcResponse; - _getOIDCConfiguration(); + _getOIDCConfiguration(success.oidcResponse); } else if (success is GetOIDCConfigurationSuccess) { _getOIDCConfigurationSuccess(success); } else if (success is GetTokenOIDCSuccess) { @@ -212,7 +203,6 @@ class LoginController extends ReloadableController { _handleCheckOIDCIsAvailableFailure(failure); } else if (failure is GetStoredOidcConfigurationFailure || failure is GetOIDCConfigurationFailure || - failure is GetOIDCIsAvailableFailure || failure is SignInTwakeWorkplaceFailure ) { _handleCommonOIDCFailure(); @@ -318,16 +308,6 @@ class LoginController extends ReloadableController { } } - void _redirectToSSOLoginScreen(CheckOIDCIsAvailableSuccess success) { - _oidcResponse = success.oidcResponse; - consumeState(_getOIDCIsAvailableInteractor.execute( - OIDCRequest( - baseUrl: _currentBaseUrl!.toString(), - resourceUrl: _currentBaseUrl!.origin - ) - )); - } - void handleBackButtonAction(BuildContext context) { KeyboardUtils.hideKeyboard(context); clearState(); @@ -388,12 +368,8 @@ class LoginController extends ReloadableController { } } - void _getOIDCConfiguration() { - if (_oidcResponse != null) { - consumeState(_getOIDCConfigurationInteractor.execute(_oidcResponse!)); - } else { - dispatchState(Left(GetOIDCConfigurationFailure(CanNotFoundOIDCLinks()))); - } + void _getOIDCConfiguration(OIDCResponse oidcResponse) { + consumeState(_getOIDCConfigurationInteractor.execute(oidcResponse)); } void _getOIDCConfigurationSuccess(GetOIDCConfigurationSuccess success) { diff --git a/test/features/login/presentation/login_controller_test.dart b/test/features/login/presentation/login_controller_test.dart index 49424fc91..717a620d9 100644 --- a/test/features/login/presentation/login_controller_test.dart +++ b/test/features/login/presentation/login_controller_test.dart @@ -23,7 +23,6 @@ import 'package:tmail_ui_user/features/login/domain/usecases/get_all_recent_logi 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_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_stored_oidc_configuration_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'; @@ -53,7 +52,6 @@ import 'login_controller_test.mocks.dart'; MockSpec(), MockSpec(), MockSpec(), - MockSpec(), MockSpec(), MockSpec(), MockSpec(), @@ -77,7 +75,6 @@ import 'login_controller_test.mocks.dart'; void main() { late MockAuthenticationInteractor mockAuthenticationInteractor; late MockCheckOIDCIsAvailableInteractor mockCheckOIDCIsAvailableInteractor; - late MockGetOIDCIsAvailableInteractor mockGetOIDCIsAvailableInteractor; late MockGetOIDCConfigurationInteractor mockGetOIDCConfigurationInteractor; late MockGetTokenOIDCInteractor mockGetTokenOIDCInteractor; late MockAuthenticateOidcOnBrowserInteractor mockAuthenticateOidcOnBrowserInteractor; @@ -113,7 +110,6 @@ void main() { setUp(() { mockAuthenticationInteractor = MockAuthenticationInteractor(); mockCheckOIDCIsAvailableInteractor = MockCheckOIDCIsAvailableInteractor(); - mockGetOIDCIsAvailableInteractor = MockGetOIDCIsAvailableInteractor(); mockGetOIDCConfigurationInteractor = MockGetOIDCConfigurationInteractor(); mockGetTokenOIDCInteractor = MockGetTokenOIDCInteractor(); mockAuthenticateOidcOnBrowserInteractor = MockAuthenticateOidcOnBrowserInteractor(); @@ -173,7 +169,6 @@ void main() { loginController = LoginController( mockAuthenticationInteractor, mockCheckOIDCIsAvailableInteractor, - mockGetOIDCIsAvailableInteractor, mockGetOIDCConfigurationInteractor, mockGetTokenOIDCInteractor, mockAuthenticateOidcOnBrowserInteractor,