You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Lan Khuat (Jira)" <se...@james.apache.org> on 2020/11/30 09:23:00 UTC
[jira] [Updated] (JAMES-3464) Mailbox/set should handle ifInState
[ 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}
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.
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.
> 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
> Priority: Major
>
> 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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org