TF-607 Delete authority oidc when logout
This commit is contained in:
@@ -18,7 +18,7 @@ class LogoutOidcInteractor {
|
||||
|
||||
LogoutOidcInteractor(this._accountRepository, this._authenticationOIDCRepository);
|
||||
|
||||
Future<Either<Failure, Success>> execute() async {
|
||||
Stream<Either<Failure, Success>> execute() async* {
|
||||
try {
|
||||
final currentAccount = await _accountRepository.getCurrentAccount();
|
||||
|
||||
@@ -33,16 +33,16 @@ class LogoutOidcInteractor {
|
||||
});
|
||||
log('LogoutOidcInteractor::execute(): statusSuccess: $result');
|
||||
if (result) {
|
||||
return Right<Failure, Success>(LogoutOidcSuccess());
|
||||
yield Right<Failure, Success>(LogoutOidcSuccess());
|
||||
} else {
|
||||
return Left<Failure, Success>(LogoutOidcFailure(null));
|
||||
yield Left<Failure, Success>(LogoutOidcFailure(null));
|
||||
}
|
||||
} else {
|
||||
return Left<Failure, Success>(LogoutOidcFailure(NotFoundAuthenticatedAccountException()));
|
||||
yield Left<Failure, Success>(LogoutOidcFailure(NotFoundAuthenticatedAccountException()));
|
||||
}
|
||||
} catch (e) {
|
||||
log('LogoutOidcInteractor::execute(): EXCEPTION: $e');
|
||||
return Left<Failure, Success>(LogoutOidcFailure(e));
|
||||
yield Left<Failure, Success>(LogoutOidcFailure(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ import 'package:tmail_ui_user/features/login/data/repository/authentication_oidc
|
||||
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/delete_authority_oidc_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/get_user_profile_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oidc_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
|
||||
@@ -30,7 +31,10 @@ class ManageAccountDashBoardBindings extends BaseBindings {
|
||||
|
||||
@override
|
||||
void bindingsController() {
|
||||
Get.lazyPut(() => ManageAccountDashBoardController(Get.find<LogoutOidcInteractor>()));
|
||||
Get.lazyPut(() => ManageAccountDashBoardController(
|
||||
Get.find<LogoutOidcInteractor>(),
|
||||
Get.find<DeleteAuthorityOidcInteractor>()
|
||||
));
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -56,6 +60,7 @@ class ManageAccountDashBoardBindings extends BaseBindings {
|
||||
Get.find<AccountRepository>(),
|
||||
Get.find<AuthenticationOIDCRepository>(),
|
||||
));
|
||||
Get.lazyPut(() => DeleteAuthorityOidcInteractor(Get.find<AuthenticationOIDCRepository>()));
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:package_info_plus/package_info_plus.dart';
|
||||
import 'package:tmail_ui_user/features/base/reloadable/reloadable_controller.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_user_profile_state.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oidc_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart';
|
||||
@@ -29,8 +30,9 @@ class ManageAccountDashBoardController extends ReloadableController {
|
||||
Session? sessionCurrent;
|
||||
|
||||
ManageAccountDashBoardController(
|
||||
LogoutOidcInteractor logoutOidcInteractor
|
||||
) : super(logoutOidcInteractor);
|
||||
LogoutOidcInteractor logoutOidcInteractor,
|
||||
DeleteAuthorityOidcInteractor deleteAuthorityOidcInteractor
|
||||
) : super(logoutOidcInteractor, deleteAuthorityOidcInteractor);
|
||||
|
||||
@override
|
||||
void onReady() {
|
||||
|
||||
Reference in New Issue
Block a user