Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Done
-
None
-
None
-
None
Description
From the spec: https://jmap.io/spec-core.html#changes
The Foo/changes method allows a client to efficiently update the state of its Foo cache to match the new state on the server.
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.
Example
Request
[[ "Email/changes", { "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6", "sinceState": "000001" }, "t0" ]]
Response
[[ "Email/changes", { "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6", "oldState": "000001", "newState": "000002", "hasMoreChanges": false, "created": [ "1", "2" ], "updated": [], "destroyed": [] }, "t0" ]]
DoD
Write integration tests to show that we can retrieve the changes to email(s) from a particular state.