TF-4186 Implement remember choose organisation server

This commit is contained in:
dab246
2025-12-08 15:42:07 +07:00
committed by Dat H. Pham
parent 0bbcfd0f75
commit c87d3229ce
15 changed files with 317 additions and 45 deletions
@@ -11,14 +11,20 @@ class GetCompanyServerLoginInfoInteractor {
GetCompanyServerLoginInfoInteractor(this._serverLoginRepository);
Stream<Either<Failure, Success>> execute() async* {
Stream<Either<Failure, Success>> execute({bool popAllRoute = true}) async* {
try {
yield Right(GettingCompanyServerLoginInfo());
final serverLoginInfo =
await _serverLoginRepository.getCompanyServerLoginInfo();
yield Right(GetCompanyServerLoginInfoSuccess(serverLoginInfo));
yield Right(GetCompanyServerLoginInfoSuccess(
serverLoginInfo,
popAllRoute: popAllRoute,
));
} catch (exception) {
yield Left(GetCompanyServerLoginInfoFailure(exception));
yield Left(GetCompanyServerLoginInfoFailure(
exception,
popAllRoute: popAllRoute,
));
}
}
}
@@ -0,0 +1,23 @@
import 'dart:core';
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/company_server_login_repository.dart';
import 'package:tmail_ui_user/features/login/domain/state/remove_company_server_login_info_state.dart';
class RemoveCompanyServerLoginInfoInteractor {
final CompanyServerLoginRepository _serverLoginRepository;
RemoveCompanyServerLoginInfoInteractor(this._serverLoginRepository);
Stream<Either<Failure, Success>> execute() async* {
try {
yield Right(RemovingCompanyServerLoginInfo());
await _serverLoginRepository.removeCompanyServerLoginInfo();
yield Right(RemoveCompanyServerLoginInfoSuccess());
} catch (exception) {
yield Left(RemoveCompanyServerLoginInfoFailure(exception));
}
}
}