Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
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
1. Write a serializer to deserialize/serialize Mailbox/changes request/response.
2. Implement Mailbox/changes method + tests.
Example
Request
[[ "Mailbox/changes", { "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6", "sinceState": "000001" }, "t0" ]]
Response
[[ "Mailbox/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 mailbox(es) from a particular state.