RFC 8621 JMAP for Mail data types.
Provides [Email], [Mailbox], [Thread], [Identity], [EmailSubmission],
and [SearchSnippet] — the core object types defined by
RFC 8621.
This crate is types-only: no method handlers, no async, no network I/O.
It sits between jmap-types (shared wire primitives) and jmap-mail-server
(method handlers).
All types implement [serde::Serialize] and [serde::Deserialize] with the
camelCase field names required by the JMAP wire format.
Example
use Mailbox;
let json = r#"{
"id": "mb1",
"name": "Inbox",
"role": "inbox",
"sortOrder": 10,
"totalEmails": 42,
"unreadEmails": 3,
"totalThreads": 20,
"unreadThreads": 2,
"myRights": {
"mayReadItems": true,
"mayAddItems": true,
"mayRemoveItems": true,
"maySetSeen": true,
"maySetKeywords": true,
"mayCreateChild": true,
"mayRename": true,
"mayDelete": false,
"maySubmit": false
},
"isSubscribed": true
}"#;
let mailbox: Mailbox = from_str.unwrap;
assert_eq!;