TF-1600 Filter emails are available push notifications

(cherry picked from commit e20845f8b1401d2b4df7d9d7705f094aa431f49a)
This commit is contained in:
dab246
2023-03-30 19:15:08 +07:00
committed by Dat Vu
parent 0ff9de5e75
commit 26c74976f4
5 changed files with 33 additions and 0 deletions
@@ -2,6 +2,7 @@ import 'dart:ui';
import 'package:core/domain/extensions/datetime_extension.dart';
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/utils/app_logger.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:dartz/dartz.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
@@ -243,4 +244,19 @@ extension PresentationEmailExtension on PresentationEmail {
mailboxContain: mailboxContain
);
}
bool isBelongToOneOfTheMailboxes(List<MailboxId> mailboxIdsSource) {
final mapMailboxIds = mailboxIds;
mapMailboxIds?.removeWhere((key, value) => !value);
if (mapMailboxIds?.isNotEmpty == true) {
final listMailboxId = mapMailboxIds!.keys.toList();
log('PresentationEmailExtension::isBelongToOneOfTheMailboxes():listMailboxId: $listMailboxId');
final listMailboxIdValid = listMailboxId.where((mailboxId) => mailboxIdsSource.contains(mailboxId));
log('PresentationEmailExtension::isBelongToOneOfTheMailboxes():listMailboxIdValid: $listMailboxIdValid');
return listMailboxIdValid.isNotEmpty;
}
return false;
}
}