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
@@ -7,6 +7,7 @@ import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:tmail_ui_user/features/caching/clients/email_cache_client.dart';
import 'package:tmail_ui_user/features/caching/utils/cache_utils.dart';
import 'package:tmail_ui_user/features/cleanup/domain/model/email_cleanup_rule.dart';
import 'package:tmail_ui_user/features/email/domain/exceptions/email_cache_exceptions.dart';
import 'package:tmail_ui_user/features/thread/data/extensions/email_cache_extension.dart';
import 'package:tmail_ui_user/features/thread/data/extensions/email_extension.dart';
import 'package:tmail_ui_user/features/thread/data/extensions/list_email_cache_extension.dart';
@@ -97,8 +98,13 @@ class EmailCacheManager {
return _emailCacheClient.insertItem(keyCache, emailCache);
}
Future<EmailCache?> getEmailFromCache(AccountId accountId, UserName userName, EmailId emailId) {
Future<EmailCache> getStoredEmail(AccountId accountId, UserName userName, EmailId emailId) async {
final keyCache = TupleKey(emailId.asString, accountId.asString, userName.value).encodeKey;
return _emailCacheClient.getItem(keyCache, needToReopen: true);
final emailCache = await _emailCacheClient.getItem(keyCache, needToReopen: true);
if (emailCache != null) {
return emailCache;
} else {
throw NotFoundStoredEmailException();
}
}
}