save mail when reload page

This commit is contained in:
ManhNTX
2022-07-11 01:40:54 +07:00
committed by Dat H. Pham
parent 1cde4b5d5b
commit 2add68d760
13 changed files with 289 additions and 0 deletions
@@ -0,0 +1,10 @@
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/data/model/email_cache.dart';
abstract class EmailCacheRepository {
void saveEmailCacheOnWeb(Email email);
EmailCache? getEmailCacheOnWeb();
void removeEmailCacheOnWeb();
}
@@ -0,0 +1,12 @@
import 'package:tmail_ui_user/features/mailbox_dashboard/data/model/email_cache.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/email_cache_repository.dart';
class GetEmailCacheOnWebInteractor {
final EmailCacheRepository emailCacheRepository;
GetEmailCacheOnWebInteractor(this.emailCacheRepository);
EmailCache? execute() {
return emailCacheRepository.getEmailCacheOnWeb();
}
}
@@ -0,0 +1,11 @@
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/email_cache_repository.dart';
class RemoveEmailCacheOnWebInteractor {
final EmailCacheRepository emailCacheRepository;
RemoveEmailCacheOnWebInteractor(this.emailCacheRepository);
execute() {
return emailCacheRepository.removeEmailCacheOnWeb();
}
}
@@ -0,0 +1,12 @@
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/email_cache_repository.dart';
class SaveEmailCacheOnWebInteractor {
final EmailCacheRepository emailCacheRepository;
SaveEmailCacheOnWebInteractor(this.emailCacheRepository);
execute(Email email) {
return emailCacheRepository.saveEmailCacheOnWeb(email);
}
}