Get all email cache by AccountId

(cherry picked from commit e9f172861d595549158feb829c74afc76dd7311e)
This commit is contained in:
dab246
2023-04-25 15:49:23 +07:00
committed by Dat Vu
parent 764a12bfec
commit a6966e434e
8 changed files with 45 additions and 34 deletions
@@ -1,4 +1,5 @@
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.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';
@@ -24,4 +25,10 @@ extension EmailExtension on Email {
mailboxIds: mailboxIds?.toMapString(),
);
}
bool belongTo(MailboxId mailboxId) {
return mailboxIds != null
&& mailboxIds!.containsKey(mailboxId)
&& mailboxIds![mailboxId] == true;
}
}
@@ -1,8 +1,8 @@
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:tmail_ui_user/features/thread/data/extensions/email_cache_extension.dart';
import 'package:tmail_ui_user/features/thread/data/model/email_cache.dart';
extension ListEmailCacheExtension on List<EmailCache> {
Map<String, EmailCache> toMap() {
return { for (var emailCache in this) emailCache.id : emailCache };
}
List<Email> toEmailList() => map((emailCache) => emailCache.toEmail()).toList();
}