TF-3484 Remove GetOIDCIsAvailableInteractor duplicate of CheckOIDCIsAvailableInteractor

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-03-04 11:09:48 +07:00
committed by Dat H. Pham
parent 7d9089c21b
commit 571ff42980
5 changed files with 3 additions and 78 deletions
@@ -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<Object> get props => [oidcResponse];
}
class GetOIDCIsAvailableFailure extends FeatureFailure {
GetOIDCIsAvailableFailure(dynamic exception) : super(exception: exception);
}
@@ -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<Either<Failure, Success>> execute(OIDCRequest oidcRequest) async* {
try {
yield Right<Failure, Success>(GetOIDCIsAvailableLoading());
final result = await _oidcRepository.checkOIDCIsAvailable(oidcRequest);
yield Right<Failure, Success>(GetOIDCIsAvailableSuccess(result));
} catch (e) {
yield Left<Failure, Success>(GetOIDCIsAvailableFailure(e));
}
}
}
@@ -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_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_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_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_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/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';
@@ -42,7 +41,6 @@ class LoginBindings extends BaseBindings {
Get.create(() => LoginController( Get.create(() => LoginController(
Get.find<AuthenticationInteractor>(), Get.find<AuthenticationInteractor>(),
Get.find<CheckOIDCIsAvailableInteractor>(), Get.find<CheckOIDCIsAvailableInteractor>(),
Get.find<GetOIDCIsAvailableInteractor>(),
Get.find<GetOIDCConfigurationInteractor>(), Get.find<GetOIDCConfigurationInteractor>(),
Get.find<GetTokenOIDCInteractor>(), Get.find<GetTokenOIDCInteractor>(),
Get.find<AuthenticateOidcOnBrowserInteractor>(), Get.find<AuthenticateOidcOnBrowserInteractor>(),
@@ -86,9 +84,6 @@ class LoginBindings extends BaseBindings {
Get.lazyPut(() => CheckOIDCIsAvailableInteractor( Get.lazyPut(() => CheckOIDCIsAvailableInteractor(
Get.find<AuthenticationOIDCRepository>(), Get.find<AuthenticationOIDCRepository>(),
)); ));
Get.lazyPut(() => GetOIDCIsAvailableInteractor(
Get.find<AuthenticationOIDCRepository>(),
));
Get.lazyPut(() => GetOIDCConfigurationInteractor( Get.lazyPut(() => GetOIDCConfigurationInteractor(
Get.find<AuthenticationOIDCRepository>(), Get.find<AuthenticationOIDCRepository>(),
)); ));
@@ -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_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_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_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_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/state/get_token_oidc_state.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';
@@ -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_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_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_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_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/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';
@@ -70,7 +68,6 @@ class LoginController extends ReloadableController {
final AuthenticationInteractor _authenticationInteractor; final AuthenticationInteractor _authenticationInteractor;
final CheckOIDCIsAvailableInteractor _checkOIDCIsAvailableInteractor; final CheckOIDCIsAvailableInteractor _checkOIDCIsAvailableInteractor;
final GetOIDCIsAvailableInteractor _getOIDCIsAvailableInteractor;
final GetOIDCConfigurationInteractor _getOIDCConfigurationInteractor; final GetOIDCConfigurationInteractor _getOIDCConfigurationInteractor;
final GetTokenOIDCInteractor _getTokenOIDCInteractor; final GetTokenOIDCInteractor _getTokenOIDCInteractor;
final AuthenticateOidcOnBrowserInteractor _authenticateOidcOnBrowserInteractor; final AuthenticateOidcOnBrowserInteractor _authenticateOidcOnBrowserInteractor;
@@ -92,7 +89,6 @@ class LoginController extends ReloadableController {
final loginFormType = LoginFormType.none.obs; final loginFormType = LoginFormType.none.obs;
OIDCResponse? _oidcResponse;
UserName? _username; UserName? _username;
Password? _password; Password? _password;
Uri? _baseUri; Uri? _baseUri;
@@ -103,7 +99,6 @@ class LoginController extends ReloadableController {
LoginController( LoginController(
this._authenticationInteractor, this._authenticationInteractor,
this._checkOIDCIsAvailableInteractor, this._checkOIDCIsAvailableInteractor,
this._getOIDCIsAvailableInteractor,
this._getOIDCConfigurationInteractor, this._getOIDCConfigurationInteractor,
this._getTokenOIDCInteractor, this._getTokenOIDCInteractor,
this._authenticateOidcOnBrowserInteractor, this._authenticateOidcOnBrowserInteractor,
@@ -153,7 +148,6 @@ class LoginController extends ReloadableController {
} else if (failure is CheckOIDCIsAvailableFailure) { } else if (failure is CheckOIDCIsAvailableFailure) {
_handleCheckOIDCIsAvailableFailure(failure); _handleCheckOIDCIsAvailableFailure(failure);
} else if (failure is GetStoredOidcConfigurationFailure || } else if (failure is GetStoredOidcConfigurationFailure ||
failure is GetOIDCIsAvailableFailure ||
failure is GetOIDCConfigurationFailure || failure is GetOIDCConfigurationFailure ||
failure is SignInTwakeWorkplaceFailure failure is SignInTwakeWorkplaceFailure
) { ) {
@@ -182,10 +176,7 @@ class LoginController extends ReloadableController {
} else if (success is GetStoredOidcConfigurationSuccess) { } else if (success is GetStoredOidcConfigurationSuccess) {
_getTokenOIDCAction(success.oidcConfiguration); _getTokenOIDCAction(success.oidcConfiguration);
} else if (success is CheckOIDCIsAvailableSuccess) { } else if (success is CheckOIDCIsAvailableSuccess) {
_redirectToSSOLoginScreen(success); _getOIDCConfiguration(success.oidcResponse);
} else if (success is GetOIDCIsAvailableSuccess) {
_oidcResponse = success.oidcResponse;
_getOIDCConfiguration();
} else if (success is GetOIDCConfigurationSuccess) { } else if (success is GetOIDCConfigurationSuccess) {
_getOIDCConfigurationSuccess(success); _getOIDCConfigurationSuccess(success);
} else if (success is GetTokenOIDCSuccess) { } else if (success is GetTokenOIDCSuccess) {
@@ -212,7 +203,6 @@ class LoginController extends ReloadableController {
_handleCheckOIDCIsAvailableFailure(failure); _handleCheckOIDCIsAvailableFailure(failure);
} else if (failure is GetStoredOidcConfigurationFailure || } else if (failure is GetStoredOidcConfigurationFailure ||
failure is GetOIDCConfigurationFailure || failure is GetOIDCConfigurationFailure ||
failure is GetOIDCIsAvailableFailure ||
failure is SignInTwakeWorkplaceFailure failure is SignInTwakeWorkplaceFailure
) { ) {
_handleCommonOIDCFailure(); _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) { void handleBackButtonAction(BuildContext context) {
KeyboardUtils.hideKeyboard(context); KeyboardUtils.hideKeyboard(context);
clearState(); clearState();
@@ -388,12 +368,8 @@ class LoginController extends ReloadableController {
} }
} }
void _getOIDCConfiguration() { void _getOIDCConfiguration(OIDCResponse oidcResponse) {
if (_oidcResponse != null) { consumeState(_getOIDCConfigurationInteractor.execute(oidcResponse));
consumeState(_getOIDCConfigurationInteractor.execute(_oidcResponse!));
} else {
dispatchState(Left(GetOIDCConfigurationFailure(CanNotFoundOIDCLinks())));
}
} }
void _getOIDCConfigurationSuccess(GetOIDCConfigurationSuccess success) { void _getOIDCConfigurationSuccess(GetOIDCConfigurationSuccess success) {
@@ -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_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_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_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_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';
@@ -53,7 +52,6 @@ import 'login_controller_test.mocks.dart';
MockSpec<Uuid>(), MockSpec<Uuid>(),
MockSpec<AuthenticationInteractor>(), MockSpec<AuthenticationInteractor>(),
MockSpec<CheckOIDCIsAvailableInteractor>(), MockSpec<CheckOIDCIsAvailableInteractor>(),
MockSpec<GetOIDCIsAvailableInteractor>(),
MockSpec<GetOIDCConfigurationInteractor>(), MockSpec<GetOIDCConfigurationInteractor>(),
MockSpec<GetTokenOIDCInteractor>(), MockSpec<GetTokenOIDCInteractor>(),
MockSpec<AuthenticateOidcOnBrowserInteractor>(), MockSpec<AuthenticateOidcOnBrowserInteractor>(),
@@ -77,7 +75,6 @@ import 'login_controller_test.mocks.dart';
void main() { void main() {
late MockAuthenticationInteractor mockAuthenticationInteractor; late MockAuthenticationInteractor mockAuthenticationInteractor;
late MockCheckOIDCIsAvailableInteractor mockCheckOIDCIsAvailableInteractor; late MockCheckOIDCIsAvailableInteractor mockCheckOIDCIsAvailableInteractor;
late MockGetOIDCIsAvailableInteractor mockGetOIDCIsAvailableInteractor;
late MockGetOIDCConfigurationInteractor mockGetOIDCConfigurationInteractor; late MockGetOIDCConfigurationInteractor mockGetOIDCConfigurationInteractor;
late MockGetTokenOIDCInteractor mockGetTokenOIDCInteractor; late MockGetTokenOIDCInteractor mockGetTokenOIDCInteractor;
late MockAuthenticateOidcOnBrowserInteractor mockAuthenticateOidcOnBrowserInteractor; late MockAuthenticateOidcOnBrowserInteractor mockAuthenticateOidcOnBrowserInteractor;
@@ -113,7 +110,6 @@ void main() {
setUp(() { setUp(() {
mockAuthenticationInteractor = MockAuthenticationInteractor(); mockAuthenticationInteractor = MockAuthenticationInteractor();
mockCheckOIDCIsAvailableInteractor = MockCheckOIDCIsAvailableInteractor(); mockCheckOIDCIsAvailableInteractor = MockCheckOIDCIsAvailableInteractor();
mockGetOIDCIsAvailableInteractor = MockGetOIDCIsAvailableInteractor();
mockGetOIDCConfigurationInteractor = MockGetOIDCConfigurationInteractor(); mockGetOIDCConfigurationInteractor = MockGetOIDCConfigurationInteractor();
mockGetTokenOIDCInteractor = MockGetTokenOIDCInteractor(); mockGetTokenOIDCInteractor = MockGetTokenOIDCInteractor();
mockAuthenticateOidcOnBrowserInteractor = MockAuthenticateOidcOnBrowserInteractor(); mockAuthenticateOidcOnBrowserInteractor = MockAuthenticateOidcOnBrowserInteractor();
@@ -173,7 +169,6 @@ void main() {
loginController = LoginController( loginController = LoginController(
mockAuthenticationInteractor, mockAuthenticationInteractor,
mockCheckOIDCIsAvailableInteractor, mockCheckOIDCIsAvailableInteractor,
mockGetOIDCIsAvailableInteractor,
mockGetOIDCConfigurationInteractor, mockGetOIDCConfigurationInteractor,
mockGetTokenOIDCInteractor, mockGetTokenOIDCInteractor,
mockAuthenticateOidcOnBrowserInteractor, mockAuthenticateOidcOnBrowserInteractor,