TF-1813 Add createTime and change type email property in SendingEmailHiveCache

(cherry picked from commit 3077cc3b414d4894ac13f5636aa5d59b0096c9fb)
This commit is contained in:
dab246
2023-06-01 14:02:07 +07:00
committed by Dat Vu
parent 3f7c1e38b8
commit 8756c5fefb
6 changed files with 59 additions and 8 deletions
@@ -0,0 +1,30 @@
import 'dart:convert';
import 'package:jmap_dart_client/http/converter/email_id_nullable_converter.dart';
import 'package:jmap_dart_client/http/converter/id_nullable_converter.dart';
import 'package:jmap_dart_client/http/converter/identities/identity_id_nullable_converter.dart';
import 'package:jmap_dart_client/http/converter/mailbox_id_nullable_converter.dart';
import 'package:jmap_dart_client/http/converter/mailbox_name_converter.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:model/email/email_action_type.dart';
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
import 'package:tmail_ui_user/features/offline_mode/model/sending_email_hive_cache.dart';
extension SendingEmailHiveCacheExtension on SendingEmailHiveCache {
SendingEmail toSendingEmail() {
return SendingEmail(
sendingId: sendingId,
email: Email.fromJson(jsonDecode(email)),
emailActionType: EmailActionType.values.firstWhere((value) => value.name == emailActionType),
createTime: createTime,
sentMailboxId: const MailboxIdNullableConverter().fromJson(sentMailboxId),
emailIdDestroyed: const EmailIdNullableConverter().fromJson(emailIdDestroyed),
emailIdAnsweredOrForwarded: const EmailIdNullableConverter().fromJson(emailIdAnsweredOrForwarded),
identityId: const IdentityIdNullableConverter().fromJson(identityId),
mailboxNameRequest: const MailboxNameConverter().fromJson(mailboxNameRequest),
creationIdRequest: const IdNullableConverter().fromJson(creationIdRequest)
);
}
}
@@ -12,33 +12,37 @@ class SendingEmailHiveCache extends HiveObject with EquatableMixin {
final String sendingId;
@HiveField(1)
final Map<String, dynamic> email;
final String email;
@HiveField(2)
final String emailActionType;
@HiveField(3)
final String? sentMailboxId;
final DateTime createTime;
@HiveField(4)
final String? emailIdDestroyed;
final String? sentMailboxId;
@HiveField(5)
final String? emailIdAnsweredOrForwarded;
final String? emailIdDestroyed;
@HiveField(6)
final String? identityId;
final String? emailIdAnsweredOrForwarded;
@HiveField(7)
final String? mailboxNameRequest;
final String? identityId;
@HiveField(8)
final String? mailboxNameRequest;
@HiveField(9)
final String? creationIdRequest;
SendingEmailHiveCache(
this.sendingId,
this.email,
this.emailActionType,
this.createTime,
this.sentMailboxId,
this.emailIdDestroyed,
this.emailIdAnsweredOrForwarded,
@@ -52,6 +56,7 @@ class SendingEmailHiveCache extends HiveObject with EquatableMixin {
sendingId,
email,
emailActionType,
createTime,
sentMailboxId,
emailIdDestroyed,
emailIdAnsweredOrForwarded,
@@ -21,7 +21,7 @@ class Worker with EquatableMixin {
}
Map<String, dynamic> get inputData {
data[WorkManagerConstants.workerTypeKey] = type.name;
data.addAll({WorkManagerConstants.workerTypeKey: type.name});
return data;
}