From 60b6a0022ad5dd3e288246b571f8e7914a3088a8 Mon Sep 17 00:00:00 2001 From: dab246 Date: Fri, 7 Apr 2023 18:17:44 +0700 Subject: [PATCH] TF-1749 Handle delete drafts email after send email successfully (cherry picked from commit bbef527d780425364660221271295a3fa733dcde) --- .../composer/domain/model/email_request.dart | 13 ------------- .../domain/usecases/send_email_interactor.dart | 4 ++++ lib/features/email/data/network/email_api.dart | 3 --- 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/lib/features/composer/domain/model/email_request.dart b/lib/features/composer/domain/model/email_request.dart index 9cfeac9ac..b4ac81c6a 100644 --- a/lib/features/composer/domain/model/email_request.dart +++ b/lib/features/composer/domain/model/email_request.dart @@ -27,17 +27,4 @@ class EmailRequest with EquatableMixin { identity, emailIdDestroyed ]; -} - -extension EmailRequestExtension on EmailRequest { - - EmailRequest toEmailRequest({Email? newEmail}) { - return EmailRequest( - newEmail ?? email, - submissionCreateId, - sentMailboxId: sentMailboxId, - identity: identity, - emailIdDestroyed: emailIdDestroyed - ); - } } \ No newline at end of file diff --git a/lib/features/composer/domain/usecases/send_email_interactor.dart b/lib/features/composer/domain/usecases/send_email_interactor.dart index 0563c5c85..f62a5d6ef 100644 --- a/lib/features/composer/domain/usecases/send_email_interactor.dart +++ b/lib/features/composer/domain/usecases/send_email_interactor.dart @@ -40,6 +40,10 @@ class SendEmailInteractor { ); if (result) { + if (emailRequest.emailIdDestroyed != null) { + await _emailRepository.deleteEmailPermanently(session, accountId, emailRequest.emailIdDestroyed!); + } + yield Right( SendEmailSuccess( currentEmailState: currentEmailState, diff --git a/lib/features/email/data/network/email_api.dart b/lib/features/email/data/network/email_api.dart index 79ab742d3..baaabdd4d 100644 --- a/lib/features/email/data/network/email_api.dart +++ b/lib/features/email/data/network/email_api.dart @@ -141,9 +141,6 @@ class EmailAPI with HandleSetErrorMixin { final setEmailMethod = SetEmailMethod(accountId) ..addCreate(idCreateMethod, emailNeedsToBeCreated); - if (emailRequest.emailIdDestroyed != null) { - setEmailMethod.addDestroy({emailRequest.emailIdDestroyed!.id}); - } final setEmailInvocation = requestBuilder.invocation(setEmailMethod); final setEmailSubmissionMethod = SetEmailSubmissionMethod(accountId)