TF-1923 Fix logic get stored email when offline

(cherry picked from commit fa74abdf2663e80e445236449c5aec3e5c9267e5)
This commit is contained in:
dab246
2023-06-20 22:28:01 +07:00
committed by Dat H. Pham
parent 99a6a64899
commit 002a543865
8 changed files with 28 additions and 29 deletions
@@ -82,7 +82,7 @@ abstract class EmailDataSource {
Future<void> storeEmail(Session session, AccountId accountId, Email email);
Future<Email?> getEmailStored(Session session, AccountId accountId, EmailId emailId);
Future<Email> getStoredEmail(Session session, AccountId accountId, EmailId emailId);
Future<void> storeOpenedEmail(Session session, AccountId accountId, DetailedEmail detailedEmail);
@@ -185,7 +185,7 @@ class EmailDataSourceImpl extends EmailDataSource {
}
@override
Future<Email?> getEmailStored(Session session, AccountId accountId, EmailId emailId) {
Future<Email> getStoredEmail(Session session, AccountId accountId, EmailId emailId) {
throw UnimplementedError();
}
@@ -229,11 +229,10 @@ class EmailHiveCacheDataSourceImpl extends EmailDataSource {
}
@override
Future<Email?> getEmailStored(Session session, AccountId accountId, EmailId emailId) {
Future<Email> getStoredEmail(Session session, AccountId accountId, EmailId emailId) {
return Future.sync(() async {
final email = await _emailCacheManager.getEmailFromCache(accountId, session.username, emailId);
log('EmailHiveCacheDataSourceImpl::getEmailFromCache():emailId: $email');
return email?.toEmail();
final email = await _emailCacheManager.getStoredEmail(accountId, session.username, emailId);
return email.toEmail();
}).catchError(_exceptionThrower.throwException);
}
@@ -210,8 +210,8 @@ class EmailRepositoryImpl extends EmailRepository {
}
@override
Future<Email?> getEmailStored(Session session, AccountId accountId, EmailId emailId) {
return emailDataSource[DataSourceType.hiveCache]!.getEmailStored(session, accountId, emailId);
Future<Email> getStoredEmail(Session session, AccountId accountId, EmailId emailId) {
return emailDataSource[DataSourceType.hiveCache]!.getStoredEmail(session, accountId, emailId);
}
@override