TF-868: Unread/new emails are not loaded when opening folder
This commit is contained in:
@@ -5,12 +5,14 @@ import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/sort/comparator.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
|
||||
|
||||
class GetEmailRequest with EquatableMixin {
|
||||
final AccountId accountId;
|
||||
final UnsignedInt? limit;
|
||||
final Set<Comparator>? sort;
|
||||
final Filter? filter;
|
||||
final FilterMessageOption? filterOption;
|
||||
final Properties? properties;
|
||||
final EmailId? lastEmailId;
|
||||
|
||||
@@ -18,10 +20,11 @@ class GetEmailRequest with EquatableMixin {
|
||||
this.limit,
|
||||
this.sort,
|
||||
this.filter,
|
||||
this.filterOption,
|
||||
this.properties,
|
||||
this.lastEmailId,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [limit, sort, filter, properties, lastEmailId];
|
||||
List<Object?> get props => [limit, sort, filter, properties, lastEmailId, filterOption];
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/filter/filter.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
|
||||
@@ -12,9 +10,7 @@ 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/domain/model/email_filter.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/email_response.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/get_email_request.dart';
|
||||
import 'package:dartz/dartz.dart' as dartz;
|
||||
|
||||
abstract class ThreadRepository {
|
||||
Stream<EmailsResponse> getAllEmail(
|
||||
@@ -33,10 +29,9 @@ abstract class ThreadRepository {
|
||||
jmap.State currentState,
|
||||
{
|
||||
Set<Comparator>? sort,
|
||||
EmailFilter? emailFilter,
|
||||
Properties? propertiesCreated,
|
||||
Properties? propertiesUpdated,
|
||||
MailboxId? inMailboxId,
|
||||
FilterMessageOption? filterOption,
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
+3
-6
@@ -3,9 +3,8 @@ import 'package:dartz/dartz.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/sort/comparator.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/email_filter.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/email_response.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/repository/thread_repository.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
||||
@@ -23,8 +22,7 @@ class RefreshChangesEmailsInMailboxInteractor {
|
||||
Set<Comparator>? sort,
|
||||
Properties? propertiesCreated,
|
||||
Properties? propertiesUpdated,
|
||||
MailboxId? inMailboxId,
|
||||
FilterMessageOption? filterOption,
|
||||
EmailFilter? emailFilter,
|
||||
}
|
||||
) async* {
|
||||
yield Right<Failure, Success>(RefreshingState());
|
||||
@@ -37,8 +35,7 @@ class RefreshChangesEmailsInMailboxInteractor {
|
||||
sort: sort,
|
||||
propertiesCreated: propertiesCreated,
|
||||
propertiesUpdated: propertiesUpdated,
|
||||
inMailboxId: inMailboxId,
|
||||
filterOption: filterOption)
|
||||
emailFilter: emailFilter)
|
||||
.map(_toGetEmailState);
|
||||
} catch (e) {
|
||||
yield Left(RefreshChangesAllEmailFailure(e));
|
||||
|
||||
Reference in New Issue
Block a user