TF-1604: Add requiredCapabilities support TeamMailbox for spam report

(cherry picked from commit a05e1df1b9f6730978f2172aad36fb6c3e3249d4)
This commit is contained in:
HuyNguyen
2023-03-21 22:18:51 +07:00
committed by Dat Vu
parent 0b0db87260
commit 890ca4c8cd
10 changed files with 52 additions and 9 deletions
@@ -1,4 +1,5 @@
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox_filter_condition.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/spam_report_state.dart';
@@ -12,6 +13,7 @@ abstract class SpamReportRepository {
Future<void> deleteLastTimeDismissedSpamReported();
Future<UnreadSpamEmailsResponse> getUnreadSpamMailbox(
Session session,
AccountId accountId,
{
MailboxFilterCondition? mailboxFilterCondition,
@@ -3,6 +3,7 @@ import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:dartz/dartz.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox_filter_condition.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/repository/spam_report_repository.dart';
@@ -15,6 +16,7 @@ class GetUnreadSpamMailboxInteractor {
GetUnreadSpamMailboxInteractor(this._spamReportRepository);
Stream<Either<Failure, Success>> execute(
Session session,
AccountId accountId,
{
UnsignedInt? limit,
@@ -29,7 +31,11 @@ class GetUnreadSpamMailboxInteractor {
final checkTimeCondition = (timeLast.inHours > 0) && (timeLast.inHours > conditionsForDisplayingSpamReportBanner);
if (checkTimeCondition) {
final response = await _spamReportRepository.getUnreadSpamMailbox(accountId, mailboxFilterCondition: mailboxFilterCondition, limit: limit);
final response = await _spamReportRepository.getUnreadSpamMailbox(
session,
accountId,
mailboxFilterCondition: mailboxFilterCondition,
limit: limit);
final unreadSpamMailbox = response.unreadSpamMailbox;
if (unreadSpamMailbox!.unreadEmails!.value.value > 0) {