TF-3480 Handle reopen multiple composer when reload page or session expired
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
+5
-2
@@ -13,8 +13,11 @@ class GetComposerCacheOnWebInteractor {
|
||||
|
||||
Stream<Either<Failure, Success>> execute(AccountId accountId, UserName userName) async* {
|
||||
try {
|
||||
final data = await composerCacheRepository.getComposerCacheOnWeb(accountId, userName);
|
||||
yield Right(GetComposerCacheSuccess(data));
|
||||
final listComposerCache = await composerCacheRepository.getComposerCacheOnWeb(
|
||||
accountId,
|
||||
userName,
|
||||
);
|
||||
yield Right(GetComposerCacheSuccess(listComposerCache));
|
||||
} catch (exception) {
|
||||
yield Left(GetComposerCacheFailure(exception));
|
||||
}
|
||||
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/user_name.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/composer_cache_repository.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/remove_composer_cache_state.dart';
|
||||
|
||||
class RemoveAllComposerCacheOnWebInteractor {
|
||||
final ComposerCacheRepository composerCacheRepository;
|
||||
|
||||
RemoveAllComposerCacheOnWebInteractor(this.composerCacheRepository);
|
||||
|
||||
Future<Either<Failure, Success>> execute(AccountId accountId, UserName userName) async {
|
||||
try {
|
||||
composerCacheRepository.removeAllComposerCacheOnWeb(accountId, userName);
|
||||
return Right(RemoveComposerCacheSuccess());
|
||||
} catch (exception) {
|
||||
return Left(RemoveComposerCacheFailure(exception));
|
||||
}
|
||||
}
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/user_name.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/composer_cache_repository.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/remove_composer_cache_state.dart';
|
||||
|
||||
class RemoveComposerCacheByIdOnWebInteractor {
|
||||
final ComposerCacheRepository composerCacheRepository;
|
||||
|
||||
RemoveComposerCacheByIdOnWebInteractor(this.composerCacheRepository);
|
||||
|
||||
Future<Either<Failure, Success>> execute(
|
||||
AccountId accountId,
|
||||
UserName userName,
|
||||
String composerId,
|
||||
) async {
|
||||
try {
|
||||
composerCacheRepository.removeComposerCacheByIdOnWeb(
|
||||
accountId,
|
||||
userName,
|
||||
composerId,
|
||||
);
|
||||
return Right(RemoveComposerCacheSuccess());
|
||||
} catch (exception) {
|
||||
return Left(RemoveComposerCacheFailure(exception));
|
||||
}
|
||||
}
|
||||
}
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
import 'package:core/core.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/composer_cache_repository.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/remove_composer_cache_state.dart';
|
||||
|
||||
class RemoveComposerCacheOnWebInteractor {
|
||||
final ComposerCacheRepository composerCacheRepository;
|
||||
|
||||
RemoveComposerCacheOnWebInteractor(this.composerCacheRepository);
|
||||
|
||||
Future<Either<Failure, Success>> execute() async {
|
||||
try {
|
||||
composerCacheRepository.removeComposerCacheOnWeb();
|
||||
return Right(RemoveComposerCacheSuccess());
|
||||
} catch (exception) {
|
||||
return Left(RemoveComposerCacheFailure(exception));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user