From 51652aa8c84c47f1e99f0337deba22396807a540 Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 24 May 2023 15:04:44 +0700 Subject: [PATCH] TF-1812 Handle store sending email to hive cache (cherry picked from commit c6f46fbce372a2ad0fae83ab4b9ef8dca6167e1a) --- .../manager/sending_email_cache_manager.dart | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 lib/features/offline_mode/manager/sending_email_cache_manager.dart diff --git a/lib/features/offline_mode/manager/sending_email_cache_manager.dart b/lib/features/offline_mode/manager/sending_email_cache_manager.dart new file mode 100644 index 000000000..6de5b25d1 --- /dev/null +++ b/lib/features/offline_mode/manager/sending_email_cache_manager.dart @@ -0,0 +1,25 @@ + +import 'package:core/utils/app_logger.dart'; +import 'package:jmap_dart_client/jmap/account_id.dart'; +import 'package:jmap_dart_client/jmap/core/user_name.dart'; +import 'package:model/extensions/account_id_extensions.dart'; +import 'package:tmail_ui_user/features/caching/clients/sending_email_hive_cache_client.dart'; +import 'package:tmail_ui_user/features/caching/utils/cache_utils.dart'; +import 'package:tmail_ui_user/features/offline_mode/model/sending_email_hive_cache.dart'; + +class SendingEmailCacheManager { + + final SendingEmailHiveCacheClient _hiveCacheClient; + + SendingEmailCacheManager(this._hiveCacheClient); + + Future storeSendingEmail( + AccountId accountId, + UserName userName, + SendingEmailHiveCache sendingEmailHiveCache + ) { + final keyCache = TupleKey(sendingEmailHiveCache.sendingId, accountId.asString, userName.value).encodeKey; + log('SendingEmailCacheManager::storeSendingEmail():keyCache: $keyCache | sendingEmailHiveCache: $sendingEmailHiveCache'); + return _hiveCacheClient.insertItem(keyCache, sendingEmailHiveCache); + } +} \ No newline at end of file