Files
workavia-mail-front/model/lib/extensions/mailbox_id_extension.dart
T
dab246 1b7ce6b37a Store mailbox cache by AccountId
(cherry picked from commit 7804f19d27d65af855e145de1953df9a553f3ce0)
2023-05-08 13:03:51 +07:00

28 lines
780 B
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/mailbox/mailbox.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,
});
}
String get asString => id.value;
}