TF-2667 Handle save message to cache when reload page

This commit is contained in:
dab246
2024-03-06 03:42:45 +07:00
committed by Dat H. Pham
parent b58a0179f9
commit ae6341532c
9 changed files with 72 additions and 229 deletions
@@ -0,0 +1,27 @@
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/composer/domain/repository/composer_repository.dart';
import 'package:tmail_ui_user/features/composer/presentation/model/create_email_request.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/save_composer_cache_state.dart';
class SaveComposerCacheOnWebInteractor {
final ComposerCacheRepository _composerCacheRepository;
final ComposerRepository _composerRepository;
SaveComposerCacheOnWebInteractor(
this._composerCacheRepository,
this._composerRepository,
);
Future<Either<Failure, Success>> execute(CreateEmailRequest createEmailRequest) async {
try {
final emailCreated = await _composerRepository.generateEmail(createEmailRequest);
_composerCacheRepository.saveComposerCacheOnWeb(emailCreated);
return Right(SaveComposerCacheSuccess());
} catch (exception) {
return Left(SaveComposerCacheFailure(exception));
}
}
}