[
https://issues.apache.org/jira/browse/JAMES-3472?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lan Khuat updated JAMES-3472:
-----------------------------
Description:
>From the spec: [https://jmap.io/spec-core.html#changes]
{code:java}
The Foo/changes method allows a client to efficiently update the state of its
Foo cache to match the new state on the server. {code}
h1. How
Serializer to deserialize/serialize Email/changes request/response has already
been written with Mailbox/changes implementation. We now only need to implement
Email/changes method + tests.
h1. Example
*Request*
{code:java}
[[ "Email/changes", {
"accountId":
"29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
"sinceState": "000001"
}, "t0" ]]
{code}
*Response*
{code:java}
[[ "Email/changes", {
"accountId":
"29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
"oldState": "000001",
"newState": "000002",
"hasMoreChanges": false,
"created": [ "1", "2" ],
"updated": [],
"destroyed": []
}, "t0" ]]
{code}
h1. DoD
Write integration tests to show that we can retrieve the changes to email(s)
from a particular state.
was:
>From the spec: [https://jmap.io/spec-core.html#changes]
{code:java}
The Foo/changes method allows a client to efficiently update the state of its
Foo cache to match the new state on the server. {code}
h1. How
Serializer to deserialize/serialize Email/changes request/response has already
been written with Mailbox/changes implementation. We now only need to implement
Email/changes method + tests.
h1. Example
**Request**
{code:java}
[[ "Email/changes", {
"accountId":
"29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
"sinceState": "000001"
}, "t0" ]]
{code}
**Response**
{code:java}
[[ "Email/changes", {
"accountId":
"29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
"oldState": "000001",
"newState": "000002",
"hasMoreChanges": false,
"created": [ "1", "2" ],
"updated": [],
"destroyed": []
}, "t0" ]]
{code}
h1. DoD
Write integration tests to show that we can retrieve the changes to email(s)
from a particular state.
> Implement Email/changes method and related contract tests
> ---------------------------------------------------------
>
> Key: JAMES-3472
> URL: https://issues.apache.org/jira/browse/JAMES-3472
> Project: James Server
> Issue Type: Sub-task
> Reporter: Lan Khuat
> Priority: Major
>
> From the spec: [https://jmap.io/spec-core.html#changes]
> {code:java}
> The Foo/changes method allows a client to efficiently update the state of its
> Foo cache to match the new state on the server. {code}
> h1. How
> Serializer to deserialize/serialize Email/changes request/response has
> already been written with Mailbox/changes implementation. We now only need to
> implement Email/changes method + tests.
> h1. Example
> *Request*
> {code:java}
> [[ "Email/changes", {
> "accountId":
> "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
> "sinceState": "000001"
> }, "t0" ]]
> {code}
>
> *Response*
> {code:java}
> [[ "Email/changes", {
> "accountId":
> "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
> "oldState": "000001",
> "newState": "000002",
> "hasMoreChanges": false,
> "created": [ "1", "2" ],
> "updated": [],
> "destroyed": []
> }, "t0" ]]
> {code}
> h1. DoD
> Write integration tests to show that we can retrieve the changes to email(s)
> from a particular state.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]