TF-2026 Implement SaveToDraft method
(cherry picked from commit cf03def2f5de115fb9feb64af6686c3957b8f1f2)
This commit is contained in:
@@ -5,7 +5,6 @@ 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:tmail_ui_user/features/composer/domain/state/update_email_drafts_state.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/mailbox/domain/repository/mailbox_repository.dart';
|
||||
|
||||
@@ -27,19 +26,14 @@ class UpdateEmailDraftsInteractor {
|
||||
final currentMailboxState = listState.first;
|
||||
final currentEmailState = listState.last;
|
||||
|
||||
final newEmailDrafts = await _emailRepository.updateEmailDrafts(session, accountId, newEmail);
|
||||
final emailDeleted = await _emailRepository.deleteEmailPermanently(session, accountId, oldEmailId);
|
||||
if (emailDeleted) {
|
||||
yield Right<Failure, Success>(
|
||||
UpdateEmailDraftsSuccess(
|
||||
newEmailDrafts,
|
||||
currentEmailState: currentEmailState,
|
||||
currentMailboxState: currentMailboxState
|
||||
)
|
||||
);
|
||||
} else {
|
||||
yield Left<Failure, Success>(UpdateEmailDraftsFailure(CannotDeleteOldEmailException()));
|
||||
}
|
||||
final newEmailDrafts = await _emailRepository.updateEmailDrafts(session, accountId, newEmail, oldEmailId);
|
||||
yield Right<Failure, Success>(
|
||||
UpdateEmailDraftsSuccess(
|
||||
newEmailDrafts,
|
||||
currentEmailState: currentEmailState,
|
||||
currentMailboxState: currentMailboxState
|
||||
)
|
||||
);
|
||||
} catch (e) {
|
||||
yield Left<Failure, Success>(UpdateEmailDraftsFailure(e));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user