TF-3484 Remove GetOIDCIsAvailableInteractor duplicate of CheckOIDCIsAvailableInteractor
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user