TF-4236 Apply BatchSetEmailProcessingMixin for some method use SetEmailMethod
This commit is contained in:
@@ -5,6 +5,7 @@ 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/mail/email/email.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/exceptions/email_exceptions.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/add_a_label_to_a_thread_state.dart';
|
||||
|
||||
@@ -22,17 +23,30 @@ class AddALabelToAThreadInteractor {
|
||||
) async* {
|
||||
try {
|
||||
yield Right(AddingALabelToAThread());
|
||||
await _emailRepository.addLabelToThread(
|
||||
final result = await _emailRepository.addLabelToThread(
|
||||
session,
|
||||
accountId,
|
||||
emailIds,
|
||||
labelKeyword,
|
||||
);
|
||||
yield Right(AddALabelToAThreadSuccess(
|
||||
emailIds,
|
||||
labelKeyword,
|
||||
labelDisplay,
|
||||
));
|
||||
if (emailIds.length == result.emailIdsSuccess.length) {
|
||||
yield Right(AddALabelToAThreadSuccess(
|
||||
result.emailIdsSuccess,
|
||||
labelKeyword,
|
||||
labelDisplay,
|
||||
));
|
||||
} else if (result.emailIdsSuccess.isEmpty) {
|
||||
yield Left(AddALabelToAThreadFailure(
|
||||
exception: EmailIdListIsEmptyException(),
|
||||
labelDisplay: labelDisplay,
|
||||
));
|
||||
} else {
|
||||
yield Right(AddALabelToAThreadHasSomeFailure(
|
||||
result.emailIdsSuccess,
|
||||
labelKeyword,
|
||||
labelDisplay,
|
||||
));
|
||||
}
|
||||
} catch (e) {
|
||||
yield Left(AddALabelToAThreadFailure(
|
||||
exception: e,
|
||||
|
||||
+20
-6
@@ -5,6 +5,7 @@ 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/mail/email/email.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/exceptions/email_exceptions.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/labels/remove_a_label_from_a_thread_state.dart';
|
||||
|
||||
@@ -22,17 +23,30 @@ class RemoveALabelFromAThreadInteractor {
|
||||
) async* {
|
||||
try {
|
||||
yield Right(RemovingALabelFromAThread());
|
||||
await _emailRepository.removeLabelFromThread(
|
||||
final result = await _emailRepository.removeLabelFromThread(
|
||||
session,
|
||||
accountId,
|
||||
emailIds,
|
||||
labelKeyword,
|
||||
);
|
||||
yield Right(RemoveALabelFromAThreadSuccess(
|
||||
emailIds,
|
||||
labelKeyword,
|
||||
labelDisplay,
|
||||
));
|
||||
if (emailIds.length == result.emailIdsSuccess.length) {
|
||||
yield Right(RemoveALabelFromAThreadSuccess(
|
||||
result.emailIdsSuccess,
|
||||
labelKeyword,
|
||||
labelDisplay,
|
||||
));
|
||||
} else if (result.emailIdsSuccess.isEmpty) {
|
||||
yield Left(RemoveALabelFromAThreadFailure(
|
||||
exception: EmailIdListIsEmptyException(),
|
||||
labelDisplay: labelDisplay,
|
||||
));
|
||||
} else {
|
||||
yield Right(RemoveALabelFromAThreadHasSomeFailure(
|
||||
result.emailIdsSuccess,
|
||||
labelKeyword,
|
||||
labelDisplay,
|
||||
));
|
||||
}
|
||||
} catch (e) {
|
||||
yield Left(RemoveALabelFromAThreadFailure(
|
||||
exception: e,
|
||||
|
||||
Reference in New Issue
Block a user