TF-886 Sync delete token oidc and clear cache
This commit is contained in:
@@ -10,6 +10,8 @@ abstract class AuthenticationOIDCRepository {
|
||||
|
||||
Future<void> persistTokenOIDC(TokenOIDC tokenOidc);
|
||||
|
||||
Future<void> deleteTokenOIDC();
|
||||
|
||||
Future<TokenOIDC> getStoredTokenOIDC(String tokenIdHash);
|
||||
|
||||
Future<void> persistAuthorityOidc(String authority);
|
||||
|
||||
@@ -4,16 +4,22 @@ import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.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/state/delete_authority_oidc_state.dart';
|
||||
|
||||
class DeleteAuthorityOidcInteractor {
|
||||
final AuthenticationOIDCRepository _authenticationOIDCRepository;
|
||||
final CredentialRepository _credentialRepository;
|
||||
|
||||
DeleteAuthorityOidcInteractor(this._authenticationOIDCRepository);
|
||||
DeleteAuthorityOidcInteractor(this._authenticationOIDCRepository, this._credentialRepository);
|
||||
|
||||
Future<Either<Failure, Success>> execute() async {
|
||||
try {
|
||||
await _authenticationOIDCRepository.deleteAuthorityOidc();
|
||||
await Future.wait([
|
||||
_credentialRepository.removeBaseUrl(),
|
||||
_authenticationOIDCRepository.deleteAuthorityOidc(),
|
||||
_authenticationOIDCRepository.deleteTokenOIDC(),
|
||||
]);
|
||||
return Right(DeleteAuthorityOidcSuccess());
|
||||
} catch (exception) {
|
||||
return Left(DeleteAuthorityOidcFailure(exception));
|
||||
|
||||
Reference in New Issue
Block a user