TF-1812 Add SendingEmailHiveCache to store sending email
(cherry picked from commit 7ff4c951b843f7a844e0dd4f0667b85b7fb0b710)
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
|
||||
import 'package:model/extensions/email_id_extensions.dart';
|
||||
import 'package:model/extensions/identity_id_extension.dart';
|
||||
import 'package:model/extensions/mailbox_id_extension.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 SendingEmailExtension on SendingEmail {
|
||||
SendingEmailHiveCache toHiveCache() {
|
||||
return SendingEmailHiveCache(
|
||||
sendingId,
|
||||
email.toJson(),
|
||||
emailActionType.name,
|
||||
sentMailboxId?.asString,
|
||||
emailIdDestroyed?.asString,
|
||||
emailIdAnsweredOrForwarded?.asString,
|
||||
identityId?.asString,
|
||||
mailboxNameRequest?.name,
|
||||
creationIdRequest?.value
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:model/email/email_action_type.dart';
|
||||
|
||||
class SendingEmail with EquatableMixin {
|
||||
final String sendingId;
|
||||
final Email email;
|
||||
final MailboxId? sentMailboxId;
|
||||
final EmailId? emailIdDestroyed;
|
||||
final EmailId? emailIdAnsweredOrForwarded;
|
||||
final IdentityId? identityId;
|
||||
final EmailActionType emailActionType;
|
||||
final MailboxName? mailboxNameRequest;
|
||||
final Id? creationIdRequest;
|
||||
|
||||
SendingEmail({
|
||||
required this.sendingId,
|
||||
required this.email,
|
||||
required this.emailActionType,
|
||||
this.sentMailboxId,
|
||||
this.emailIdDestroyed,
|
||||
this.emailIdAnsweredOrForwarded,
|
||||
this.identityId,
|
||||
this.mailboxNameRequest,
|
||||
this.creationIdRequest
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
sendingId,
|
||||
email,
|
||||
emailActionType,
|
||||
sentMailboxId,
|
||||
emailIdDestroyed,
|
||||
emailIdAnsweredOrForwarded,
|
||||
identityId,
|
||||
mailboxNameRequest,
|
||||
creationIdRequest
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user