TF-1812 Implement interactor store sending email
(cherry picked from commit d1a064ec87c9f0ebdb373c893d891db9a93a9d37)
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
|
||||
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart';
|
||||
|
||||
extension EmailRequestExtension on EmailRequest {
|
||||
SendingEmail toSendingEmail(String sendingId, {CreateNewMailboxRequest? mailboxRequest}) {
|
||||
return SendingEmail(
|
||||
sendingId: sendingId,
|
||||
email: email,
|
||||
emailActionType: emailActionType,
|
||||
sentMailboxId: sentMailboxId,
|
||||
emailIdDestroyed: emailIdDestroyed,
|
||||
emailIdAnsweredOrForwarded: emailIdAnsweredOrForwarded,
|
||||
identityId: identityId,
|
||||
mailboxNameRequest: mailboxRequest?.newName,
|
||||
creationIdRequest: mailboxRequest?.creationId
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -11,23 +11,23 @@ class EmailRequest with EquatableMixin {
|
||||
final MailboxId? sentMailboxId;
|
||||
final EmailId? emailIdDestroyed;
|
||||
final EmailId? emailIdAnsweredOrForwarded;
|
||||
final Identity? identity;
|
||||
final EmailActionType? emailActionType;
|
||||
final IdentityId? identityId;
|
||||
final EmailActionType emailActionType;
|
||||
|
||||
EmailRequest(
|
||||
this.email, {
|
||||
EmailRequest({
|
||||
required this.email,
|
||||
required this.emailActionType,
|
||||
this.sentMailboxId,
|
||||
this.identity,
|
||||
this.identityId,
|
||||
this.emailIdDestroyed,
|
||||
this.emailIdAnsweredOrForwarded,
|
||||
this.emailActionType
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
email,
|
||||
sentMailboxId,
|
||||
identity,
|
||||
identityId,
|
||||
emailIdDestroyed,
|
||||
emailIdAnsweredOrForwarded,
|
||||
emailActionType
|
||||
|
||||
@@ -48,6 +48,7 @@ import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache
|
||||
import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache_worker_queue.dart';
|
||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_manager.dart';
|
||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
||||
import 'package:tmail_ui_user/features/offline_mode/manager/sending_email_cache_manager.dart';
|
||||
import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart';
|
||||
import 'package:tmail_ui_user/features/upload/data/datasource/attachment_upload_datasource.dart';
|
||||
import 'package:tmail_ui_user/features/upload/data/datasource_impl/attachment_upload_datasource_impl.dart';
|
||||
@@ -102,6 +103,7 @@ class ComposerBindings extends BaseBindings {
|
||||
Get.find<DetailedEmailCacheWorkerQueue>(),
|
||||
Get.find<OpenedEmailCacheWorkerQueue>(),
|
||||
Get.find<EmailCacheManager>(),
|
||||
Get.find<SendingEmailCacheManager>(),
|
||||
Get.find<FileUtils>(),
|
||||
Get.find<CacheExceptionThrower>()));
|
||||
}
|
||||
|
||||
@@ -796,9 +796,9 @@ class ComposerController extends BaseController {
|
||||
if (arguments != null && accountId != null && userProfile != null && session != null) {
|
||||
final email = await _generateEmail(context, userProfile, outboxMailboxId: outboxMailboxId);
|
||||
final emailRequest = EmailRequest(
|
||||
email,
|
||||
email: email,
|
||||
sentMailboxId: sentMailboxId,
|
||||
identity: identitySelected.value,
|
||||
identityId: identitySelected.value?.id,
|
||||
emailIdDestroyed: arguments.emailActionType == EmailActionType.edit
|
||||
? arguments.presentationEmail?.id
|
||||
: null,
|
||||
|
||||
Reference in New Issue
Block a user