Lan Khuat created JAMES-3464:
--------------------------------

             Summary: Mailbox/set should handle ifInState
                 Key: JAMES-3464
                 URL: https://issues.apache.org/jira/browse/JAMES-3464
             Project: James Server
          Issue Type: Sub-task
            Reporter: Lan Khuat


>From spec: https://jmap.io/spec-core.html#set (section 5.3)
{code:java}
ifInState: This is a state string as returned by the Foo/get method 
(representing the state of all objects of this type in the account). If 
supplied, the string must match the current state; otherwise, the method will 
be aborted and a stateMismatch error returned. If null, any changes will be 
applied to the current state.
{code}
h1. How

When Email/set request is received, if the ifInState property is present we 
need to compare it with the current Mailbox state stored in 
MailboxChangeRepository.

- if mismatched, a stateMismatch error should be returned.
- if matched, all the changes in the request will be applied and should create 
a new state, unless all the methodCalls in the request end up failing.

If the ifInState property is omitted then all the changes will be applied to 
the current state.
h1. DoD

Integration tests to show that the Mailbox/set method can handle ifInState 
property.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to