Commit Graph

8 Commits

Author SHA1 Message Date
Pascal Bleser
56e11c3ee4 groupware: improve tests
* jmap: add UpdateContactCard and UpdateCalendarEvent funcs
 * use JSON marshalling and unmarshalling into a map for toPatch()
   implementations
 * add updating ContactCards and CalendarEvents to tests
 * add deleting ContactCards and CalendarEvents to tests
 * make query response totals work when the value is 0
 * tests: use CreateContactCard and CreateCalendarEvent funcs to create
   objects in tests instead of using a different JMAP stack that works
   with untyped maps
2026-06-16 16:51:37 +02:00
Pascal Bleser
83e9953df6 groupware: refactor for conciseness
* introduce jmap.Context to hold multiple parameters and shorten
   function calls

 * introduce SearchResultsTemplate
2026-06-16 16:51:37 +02:00
Pascal Bleser
6e2eea65b2 groupware: model refactoring, introducing typed interfaces and Foo
* move ContactCard from jscontact to jmap, as it is actually a JMAP
   specification item, but also was causing too many issues with
   circular references from jscontact -> jmap

 * introduce Foo, Idable, GetRequest, GetResponse, etc... types and
   generics

 * first attempt at a Foo factory type for Mailboxes, needs to be
   expanded to further minimize repetition

 * add more specialized template functions to avoid repetition

 * introduce ChangesTemplate[T] for *Changes structs
2026-06-16 16:51:37 +02:00
Pascal Bleser
b77cbe3dbc groupware: significant refactorings of the JMAP framework, adding methods and more intelligence to the various request and response types to improve the use of template functions, reducing the risks of typos and copy/paste mistakes 2026-06-16 16:51:37 +02:00
Pascal Bleser
6ef5988f30 groupware: add changes support for quotas, identities, submissions 2026-06-16 16:51:37 +02:00
Pascal Bleser
a49b0e239e groupware: framework refactorings + add support for /changes + add /objects 2026-06-16 16:51:37 +02:00
Pascal Bleser
4a2f9463e4 groupware: pollute code with NOSONAR comments, and make a little more use of JMAP API templates 2026-06-16 16:51:37 +02:00
Pascal Bleser
124ed20e13 groupware: as suggested in the review PR 1994, remove all filename prefixes that match the package (groupware_xyz.go -> xyz.go), for groupware, jmap, jscontact, jscalendar 2026-06-16 16:50:52 +02:00