TF-1812 Implement interactor store sending email

(cherry picked from commit d1a064ec87c9f0ebdb373c893d891db9a93a9d37)
This commit is contained in:
dab246
2023-05-24 15:05:19 +07:00
committed by Dat Vu
parent 51652aa8c8
commit c98be4cfc5
18 changed files with 179 additions and 19 deletions
@@ -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