diff --git a/contact/pubspec.lock b/contact/pubspec.lock index 3cde23d44..2315887ce 100644 --- a/contact/pubspec.lock +++ b/contact/pubspec.lock @@ -660,10 +660,10 @@ packages: description: path: "." ref: main - resolved-ref: "278183b54ccfcda7396273c556609d28194e34f1" + resolved-ref: "00b8c073e9e8b6f1caa831c400a5c31e56424c08" url: "https://github.com/linagora/jmap-dart-client.git" source: git - version: "0.3.2" + version: "0.3.3" js: dependency: transitive description: diff --git a/email_recovery/pubspec.lock b/email_recovery/pubspec.lock index 58043ced1..368b0e476 100644 --- a/email_recovery/pubspec.lock +++ b/email_recovery/pubspec.lock @@ -296,10 +296,10 @@ packages: description: path: "." ref: main - resolved-ref: "278183b54ccfcda7396273c556609d28194e34f1" + resolved-ref: "00b8c073e9e8b6f1caa831c400a5c31e56424c08" url: "https://github.com/linagora/jmap-dart-client.git" source: git - version: "0.3.2" + version: "0.3.3" js: dependency: transitive description: diff --git a/fcm/pubspec.lock b/fcm/pubspec.lock index d938da346..329ea1540 100644 --- a/fcm/pubspec.lock +++ b/fcm/pubspec.lock @@ -296,10 +296,10 @@ packages: description: path: "." ref: main - resolved-ref: "278183b54ccfcda7396273c556609d28194e34f1" + resolved-ref: "00b8c073e9e8b6f1caa831c400a5c31e56424c08" url: "https://github.com/linagora/jmap-dart-client.git" source: git - version: "0.3.2" + version: "0.3.3" js: dependency: transitive description: diff --git a/forward/pubspec.lock b/forward/pubspec.lock index d938da346..329ea1540 100644 --- a/forward/pubspec.lock +++ b/forward/pubspec.lock @@ -296,10 +296,10 @@ packages: description: path: "." ref: main - resolved-ref: "278183b54ccfcda7396273c556609d28194e34f1" + resolved-ref: "00b8c073e9e8b6f1caa831c400a5c31e56424c08" url: "https://github.com/linagora/jmap-dart-client.git" source: git - version: "0.3.2" + version: "0.3.3" js: dependency: transitive description: diff --git a/lib/features/composer/presentation/composer_controller.dart b/lib/features/composer/presentation/composer_controller.dart index 5777e1323..76c8e937d 100644 --- a/lib/features/composer/presentation/composer_controller.dart +++ b/lib/features/composer/presentation/composer_controller.dart @@ -496,6 +496,7 @@ class ComposerController extends BaseController bccRecipients: listBccEmailAddress.toSet(), replyToRecipients: listReplyToEmailAddress.toSet(), hasRequestReadReceipt: hasRequestReadReceipt.value, + isMarkAsImportant: isMarkAsImportant.value, identity: identitySelected.value, attachments: uploadController.attachmentsUploaded, inlineAttachments: uploadController.mapInlineAttachments, @@ -1092,6 +1093,7 @@ class ComposerController extends BaseController bccRecipients: listBccEmailAddress.toSet(), replyToRecipients: listReplyToEmailAddress.toSet(), hasRequestReadReceipt: hasRequestReadReceipt.value, + isMarkAsImportant: isMarkAsImportant.value, identity: identitySelected.value, attachments: uploadController.attachmentsUploaded, inlineAttachments: uploadController.mapInlineAttachments, @@ -2358,6 +2360,7 @@ class ComposerController extends BaseController bccRecipients: listBccEmailAddress.toSet(), replyToRecipients: listReplyToEmailAddress.toSet(), hasRequestReadReceipt: hasRequestReadReceipt.value, + isMarkAsImportant: isMarkAsImportant.value, identity: identitySelected.value, attachments: uploadController.attachmentsUploaded, inlineAttachments: uploadController.mapInlineAttachments, diff --git a/lib/features/composer/presentation/extensions/create_email_request_extension.dart b/lib/features/composer/presentation/extensions/create_email_request_extension.dart index 5f7cab24f..9bf6a9498 100644 --- a/lib/features/composer/presentation/extensions/create_email_request_extension.dart +++ b/lib/features/composer/presentation/extensions/create_email_request_extension.dart @@ -14,6 +14,7 @@ import 'package:model/mailbox/presentation_mailbox.dart'; import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart'; import 'package:tmail_ui_user/features/composer/presentation/extensions/identity_extension.dart'; import 'package:tmail_ui_user/features/composer/presentation/model/create_email_request.dart'; +import 'package:tmail_ui_user/features/composer/presentation/model/mail_priority_header.dart'; import 'package:tmail_ui_user/features/email/domain/extensions/list_attachments_extension.dart'; import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart'; import 'package:tmail_ui_user/features/sending_queue/domain/extensions/sending_email_extension.dart'; @@ -156,7 +157,16 @@ extension CreateEmailRequestExtension on CreateEmailRequest { : null, identityHeader: withIdentityHeader ? {IndividualHeaderIdentifier.identityHeader: identity?.id?.id.value} - : null + : null, + xPriorityHeader: isMarkAsImportant + ? {IndividualHeaderIdentifier.xPriorityHeader: MailPriorityHeader.asImportant().xPriority} + : null, + importanceHeader: isMarkAsImportant + ? {IndividualHeaderIdentifier.importanceHeader: MailPriorityHeader.asImportant().importance} + : null, + priorityHeader: isMarkAsImportant + ? {IndividualHeaderIdentifier.priorityHeader: MailPriorityHeader.asImportant().priority} + : null, ); } diff --git a/lib/features/composer/presentation/model/create_email_request.dart b/lib/features/composer/presentation/model/create_email_request.dart index 8b7a9a4bf..4ce4d9efb 100644 --- a/lib/features/composer/presentation/model/create_email_request.dart +++ b/lib/features/composer/presentation/model/create_email_request.dart @@ -19,6 +19,7 @@ class CreateEmailRequest with EquatableMixin { final String subject; final String emailContent; final bool hasRequestReadReceipt; + final bool isMarkAsImportant; final Set? fromSender; final Set? toRecipients; final Set? ccRecipients; @@ -50,6 +51,7 @@ class CreateEmailRequest with EquatableMixin { this.bccRecipients, this.replyToRecipients, this.hasRequestReadReceipt = true, + this.isMarkAsImportant = false, this.identity, this.attachments, this.inlineAttachments, @@ -79,6 +81,7 @@ class CreateEmailRequest with EquatableMixin { replyToRecipients, identity, hasRequestReadReceipt, + isMarkAsImportant, attachments, inlineAttachments, outboxMailboxId, diff --git a/lib/features/composer/presentation/model/mail_priority_header.dart b/lib/features/composer/presentation/model/mail_priority_header.dart new file mode 100644 index 000000000..518b8fbc0 --- /dev/null +++ b/lib/features/composer/presentation/model/mail_priority_header.dart @@ -0,0 +1,27 @@ + +import 'package:equatable/equatable.dart'; + +class MailPriorityHeader with EquatableMixin { + final String? xPriority; + final String? importance; + final String? priority; + + MailPriorityHeader({ + this.xPriority, + this.importance, + this.priority, + }); + + factory MailPriorityHeader.asImportant() => MailPriorityHeader( + xPriority: '1', + importance: 'high', + priority: 'urgent', + ); + + @override + List get props => [ + xPriority, + importance, + priority, + ]; +} \ No newline at end of file diff --git a/model/pubspec.lock b/model/pubspec.lock index 6a29ea0c8..1439fd0c6 100644 --- a/model/pubspec.lock +++ b/model/pubspec.lock @@ -652,10 +652,10 @@ packages: description: path: "." ref: main - resolved-ref: "278183b54ccfcda7396273c556609d28194e34f1" + resolved-ref: "00b8c073e9e8b6f1caa831c400a5c31e56424c08" url: "https://github.com/linagora/jmap-dart-client.git" source: git - version: "0.3.2" + version: "0.3.3" js: dependency: transitive description: diff --git a/pubspec.lock b/pubspec.lock index ea172177e..4c9205acf 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1332,10 +1332,10 @@ packages: description: path: "." ref: main - resolved-ref: "278183b54ccfcda7396273c556609d28194e34f1" + resolved-ref: "00b8c073e9e8b6f1caa831c400a5c31e56424c08" url: "https://github.com/linagora/jmap-dart-client.git" source: git - version: "0.3.2" + version: "0.3.3" js: dependency: transitive description: diff --git a/rule_filter/pubspec.lock b/rule_filter/pubspec.lock index d938da346..329ea1540 100644 --- a/rule_filter/pubspec.lock +++ b/rule_filter/pubspec.lock @@ -296,10 +296,10 @@ packages: description: path: "." ref: main - resolved-ref: "278183b54ccfcda7396273c556609d28194e34f1" + resolved-ref: "00b8c073e9e8b6f1caa831c400a5c31e56424c08" url: "https://github.com/linagora/jmap-dart-client.git" source: git - version: "0.3.2" + version: "0.3.3" js: dependency: transitive description: diff --git a/server_settings/pubspec.lock b/server_settings/pubspec.lock index eed1c4084..eba1996bf 100644 --- a/server_settings/pubspec.lock +++ b/server_settings/pubspec.lock @@ -288,10 +288,10 @@ packages: description: path: "." ref: main - resolved-ref: "278183b54ccfcda7396273c556609d28194e34f1" + resolved-ref: "00b8c073e9e8b6f1caa831c400a5c31e56424c08" url: "https://github.com/linagora/jmap-dart-client.git" source: git - version: "0.3.2" + version: "0.3.3" js: dependency: transitive description: