a6ecaf321d
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit 0f61a97aab513cda75c65e3c92ebcf8f6290b6ec)
46 lines
1.3 KiB
Dart
46 lines
1.3 KiB
Dart
|
|
import 'package:equatable/equatable.dart';
|
|
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
|
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
|
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
|
import 'package:model/email/email_action_type.dart';
|
|
|
|
class EmailRequest with EquatableMixin {
|
|
|
|
final Email email;
|
|
final MailboxId? sentMailboxId;
|
|
final EmailId? emailIdDestroyed;
|
|
final EmailId? emailIdAnsweredOrForwarded;
|
|
final IdentityId? identityId;
|
|
final EmailActionType emailActionType;
|
|
final String? storedSendingId;
|
|
final EmailId? previousEmailId;
|
|
|
|
EmailRequest({
|
|
required this.email,
|
|
required this.emailActionType,
|
|
this.sentMailboxId,
|
|
this.identityId,
|
|
this.emailIdDestroyed,
|
|
this.emailIdAnsweredOrForwarded,
|
|
this.storedSendingId,
|
|
this.previousEmailId,
|
|
});
|
|
|
|
@override
|
|
List<Object?> get props => [
|
|
email,
|
|
sentMailboxId,
|
|
identityId,
|
|
emailIdDestroyed,
|
|
emailIdAnsweredOrForwarded,
|
|
emailActionType,
|
|
storedSendingId,
|
|
previousEmailId,
|
|
];
|
|
|
|
bool get isEmailAnswered => emailIdAnsweredOrForwarded != null &&
|
|
(emailActionType == EmailActionType.reply || emailActionType == EmailActionType.replyAll);
|
|
|
|
bool get isEmailForwarded => emailIdAnsweredOrForwarded != null && emailActionType == EmailActionType.forward;
|
|
} |