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_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<AuthenticationInteractor>(),
Get.find<CheckOIDCIsAvailableInteractor>(),
Get.find<GetOIDCIsAvailableInteractor>(),
Get.find<GetOIDCConfigurationInteractor>(),
Get.find<GetTokenOIDCInteractor>(),
Get.find<AuthenticateOidcOnBrowserInteractor>(),
@@ -86,9 +84,6 @@ class LoginBindings extends BaseBindings {
Get.lazyPut(() => CheckOIDCIsAvailableInteractor(
Get.find<AuthenticationOIDCRepository>(),
));
Get.lazyPut(() => GetOIDCIsAvailableInteractor(
Get.find<AuthenticationOIDCRepository>(),
));
Get.lazyPut(() => GetOIDCConfigurationInteractor(
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_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) {
@@ -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<Uuid>(),
MockSpec<AuthenticationInteractor>(),
MockSpec<CheckOIDCIsAvailableInteractor>(),
MockSpec<GetOIDCIsAvailableInteractor>(),
MockSpec<GetOIDCConfigurationInteractor>(),
MockSpec<GetTokenOIDCInteractor>(),
MockSpec<AuthenticateOidcOnBrowserInteractor>(),
@@ -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,