[
https://issues.apache.org/jira/browse/JAMES-3464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lan Khuat updated JAMES-3464:
-----------------------------
Description:
>From spec: [https://jmap.io/spec-core.html#set] (section 5.3)
{code:java}
oldState: The state string that would have been returned by Foo/get before
making the requested changes, or null if the server doesn’t know what the
previous state string was.
newState: The state string that will now be returned by Foo/get.
{code}
h1. How
- When a Mailbox/set request is received, we need to fetch the current state of
the Mailbox objects. This should be returned as `oldState` property in the
response.
- After all the changes in the Mailbox/set request have been applied
successfully, we should create a new state, store it in the
MailboxChangeRepository and return it with the response as `newState` property.
- If all the methodCalls in the request end up failing then no new state should
be generated.
h1. DoD
Integration tests to show that the Mailbox/set method can return oldState &
newState property.
was:
>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.
Summary: Mailbox/set should handle oldState & newState (was:
Mailbox/set should handle ifInState)
> Mailbox/set should handle oldState & newState
> ---------------------------------------------
>
> Key: JAMES-3464
> URL: https://issues.apache.org/jira/browse/JAMES-3464
> Project: James Server
> Issue Type: Sub-task
> Reporter: Lan Khuat
> Priority: Major
>
> From spec: [https://jmap.io/spec-core.html#set] (section 5.3)
> {code:java}
> oldState: The state string that would have been returned by Foo/get before
> making the requested changes, or null if the server doesn’t know what the
> previous state string was.
> newState: The state string that will now be returned by Foo/get.
> {code}
> h1. How
> - When a Mailbox/set request is received, we need to fetch the current state
> of the Mailbox objects. This should be returned as `oldState` property in the
> response.
> - After all the changes in the Mailbox/set request have been applied
> successfully, we should create a new state, store it in the
> MailboxChangeRepository and return it with the response as `newState`
> property.
> - If all the methodCalls in the request end up failing then no new state
> should be generated.
>
> h1. DoD
> Integration tests to show that the Mailbox/set method can return oldState &
> newState property.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]