Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-2884 Update JMAP implementation to conform to RFC 8620/8621
  3. JAMES-3461

Implement Mailbox/changes method and related contract tests

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.6.0
    • 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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            dlkhuat Lan Khuat
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: