This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit da64b84965ce0f2646dece74f89a338311c758ea Author: Benoit Tellier <[email protected]> AuthorDate: Thu Aug 20 16:08:40 2020 +0700 JAMES-3359 Mailbox/set documentation --- .../jmap-rfc-8621/doc/specs/spec/mail/mailbox.mdown | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/server/protocols/jmap-rfc-8621/doc/specs/spec/mail/mailbox.mdown b/server/protocols/jmap-rfc-8621/doc/specs/spec/mail/mailbox.mdown index b92eee3..954584f 100644 --- a/server/protocols/jmap-rfc-8621/doc/specs/spec/mail/mailbox.mdown +++ b/server/protocols/jmap-rfc-8621/doc/specs/spec/mail/mailbox.mdown @@ -12,6 +12,11 @@ A **Mailbox** object has the following properties: - **id**: `Id` (immutable; server-set) The id of the Mailbox. - **name**: `String` + +<aside class="notice"> + "name" should not contain the IMAP hierarchy delimiter ".". +</aside> + User-visible name for the Mailbox, e.g., "Inbox". This MUST be a Net-Unicode string [@!RFC5198] of at least 1 character in length, subject to the maximum size given in the capability object. There MUST NOT be two sibling Mailboxes with both the same parent and the same name. Servers MAY reject names that violate server policy (e.g., names containing a slash (/) or control characters). - **parentId**: `Id|null` (default: null) The Mailbox id for the parent of this Mailbox, or `null` if this Mailbox is at the top level. Mailboxes form acyclic graphs (forests) directed by the child-to-parent relationship. There MUST NOT be a loop. @@ -160,6 +165,10 @@ This is a standard "/queryChanges" method as described in [@!RFC8620], Section 5 ## Mailbox/set +<aside class="notice"> + Implemented +</aside> + This is a standard "/set" method as described in [@!RFC8620], Section 5.3, but with the following additional request argument: - **onDestroyRemoveEmails**: `Boolean` (default: false) @@ -174,6 +183,14 @@ For **destroy**: - `mailboxHasEmail`: The Mailbox has at least one Email assigned to it, and the *onDestroyRemoveEmails* argument was `false`. +<aside class="notice"> +Restrictions: + - "parentId" updates only succeeds if the given mailbox has no child. + - all updates to shared mailboxes by a sharee are forbidden. + - Updates to server-set fields are rejected, even if they match the server value. + - as "role" and "sortOrder" are server-set by the current James implementation, updating them is not supported. +</aside> + ## Example Fetching all Mailboxes in an account: --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
