Files
workavia-mail-front/lib/features/thread/data/extensions/email_extension.dart
T
dab246 0d77789c5f TF-1626 Remove id of email when call Email/set method
(cherry picked from commit ce1d27d893fd406aa812d4e4ea9debe1ec265ddb)
2023-03-24 19:40:48 +07:00

27 lines
1.2 KiB
Dart

import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:tmail_ui_user/features/thread/data/model/email_cache.dart';
import 'package:tmail_ui_user/features/thread/data/extensions/map_keywords_extension.dart';
import 'package:tmail_ui_user/features/thread/data/extensions/email_address_extension.dart';
import 'package:tmail_ui_user/features/thread/data/extensions/map_mailbox_id_extension.dart';
extension EmailExtension on Email {
EmailCache toEmailCache() {
return EmailCache(
id!.id.value,
keywords: keywords?.toMapString(),
size: size?.value.round(),
receivedAt: receivedAt?.value,
hasAttachment: hasAttachment,
preview: preview,
subject: subject,
sentAt: sentAt?.value,
from: from?.map((emailAddress) => emailAddress.toEmailAddressHiveCache()).toList(),
to: to?.map((emailAddress) => emailAddress.toEmailAddressHiveCache()).toList(),
cc: cc?.map((emailAddress) => emailAddress.toEmailAddressHiveCache()).toList(),
bcc: bcc?.map((emailAddress) => emailAddress.toEmailAddressHiveCache()).toList(),
replyTo: replyTo?.map((emailAddress) => emailAddress.toEmailAddressHiveCache()).toList(),
mailboxIds: mailboxIds?.toMapString(),
);
}
}