Files
workavia-mail-front/model/lib/extensions/mailbox_id_extension.dart
T
david.potoma 603acaa35a Adding functionality for mails to be unread when moved to spam.
Rebasing

(cherry picked from commit 4a907520bc0b53ff42cb7d6cde40771a649629f5)
2023-11-21 16:54:33 +07:00

38 lines
1.2 KiB
Dart

import 'package:jmap_dart_client/jmap/core/patch_object.dart';
import 'package:jmap_dart_client/jmap/core/reference_id.dart';
import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:model/extensions/keyword_identifier_extension.dart';
extension MailboxIdExtension on MailboxId {
String generatePath() {
if (id is ReferenceId) {
return '${PatchObject.mailboxIdsProperty}/${id.toString()}';
} else {
return '${PatchObject.mailboxIdsProperty}/${id.value}';
}
}
PatchObject generateMoveToMailboxActionPath(MailboxId destinationMailboxId) {
return PatchObject({
generatePath(): null,
destinationMailboxId.generatePath(): true
});
}
PatchObject generateActionPath() {
return PatchObject({
generatePath(): true,
});
}
PatchObject generateMoveToSpamActionPath(MailboxId currentMailboxId, MailboxId spamMailboxId) {
return PatchObject({
currentMailboxId.generatePath(): null,
spamMailboxId.generatePath(): true,
KeyWordIdentifier.emailSeen.generatePath(): true
});
}
String get asString => id.value;
}