diff --git a/model/lib/mail/presentation_mail.dart b/model/lib/mail/presentation_mail.dart new file mode 100644 index 000000000..97ff8c382 --- /dev/null +++ b/model/lib/mail/presentation_mail.dart @@ -0,0 +1,17 @@ + +import 'package:equatable/equatable.dart'; + +class PresentationMail with EquatableMixin { + + final String id; + final String? message; + + PresentationMail(this.id, {this.message}); + + factory PresentationMail.createMailEmpty() { + return PresentationMail('empty'); + } + + @override + List get props => [id, message]; +} \ No newline at end of file diff --git a/model/lib/mailbox/presentation_mailbox.dart b/model/lib/mailbox/presentation_mailbox.dart index 0494c4705..2f5c3d82b 100644 --- a/model/lib/mailbox/presentation_mailbox.dart +++ b/model/lib/mailbox/presentation_mailbox.dart @@ -1,4 +1,5 @@ import 'package:equatable/equatable.dart'; +import 'package:jmap_dart_client/jmap/core/id.dart'; import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart'; import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox_rights.dart'; import 'package:model/mailbox/select_mode.dart'; @@ -35,6 +36,10 @@ class PresentationMailbox with EquatableMixin { } ); + factory PresentationMailbox.createMailboxEmpty() { + return PresentationMailbox(MailboxId(Id("empty"))); + } + bool hasParentId() => parentId != null && parentId!.id.value.isNotEmpty; bool hasRole() => role != null && role!.value.isNotEmpty; diff --git a/model/lib/model.dart b/model/lib/model.dart index b3da60965..f327b5f6a 100644 --- a/model/lib/model.dart +++ b/model/lib/model.dart @@ -7,7 +7,11 @@ export 'account/password.dart'; // User export 'user/user_id.dart'; export 'user/user.dart'; + // Mailbox export 'mailbox/presentation_mailbox.dart'; export 'mailbox/select_mode.dart'; export 'mailbox/expand_mode.dart'; + +// Mail +export 'mail/presentation_mail.dart';