Commit Graph

19 Commits

Author SHA1 Message Date
Pascal Bleser
2e4bc60f87 groupware: add identities of all accounts to the index resource 2026-07-01 14:56:55 +02:00
Pascal Bleser
e2e8bcd4c1 groupware: fix email search, add variant that includes the full emails 2026-07-01 14:56:55 +02:00
Pascal Bleser
f01fdcadd7 groupware: fix email search, add variant that includes the full emails 2026-07-01 14:56:55 +02:00
Pascal Bleser
3f432deb79 Groupware: refactor jmap package, implement Email/set, EmailSubmission
* refactor the jmap package to split it into several files as the
   jmap.api.go file was becoming too unwieldy

 * refactor the Groupware handler function response to be a Response
   object, to be more future-proof and avoid adding more and more
   return parameters while handling "no content" response as well

 * more godoc for the JMAP model

 * add Email creation, updating, deleting (Email/set,
   EmailSubmission/set)

 * add endpoints
   - POST /accounts/{accountid}/messages
   - PATCH|PUT /accounts/{accountid}/messages/{messageid}
   - DELETE /accounts/{accountid}/messages/{messageid}
2026-07-01 14:56:55 +02:00
Pascal Bleser
c1337a9c04 groupware: implement message search with snippets 2026-07-01 14:56:55 +02:00
Pascal Bleser
29fa354b81 groupware: blob streaming (upload and download) 2026-07-01 14:56:55 +02:00
Pascal Bleser
6720b09349 groupware: more JMAP operations implementation 2026-07-01 14:56:55 +02:00
Pascal Bleser
10f89892b0 groupware: further implementation and improvements 2026-07-01 14:56:55 +02:00
Pascal Bleser
bf6baf57ab refactored the Session object, refactored the services/groupware directory, and started Swagger documentation implementation 2026-07-01 14:56:55 +02:00
Pascal Bleser
51f3827751 groupware: refactoring the API mechanisms 2026-07-01 14:56:55 +02:00
Pascal Bleser
91bf6a36db groupware: implement JSON:API's error response format, with a revamped error handling in jmap and services/groupware 2026-07-01 14:56:55 +02:00
Pascal Bleser
9d3fd1cd27 Refactor groupware service after ADR decision on the Groupware API
* after having decided that the Groupware API should be a standalone
   independent custom REST API that is using JMAP data models as much as
   possible,
 * removed Groupware APIs from the Graph service
 * moved Groupware implementation to the Groupware service, and
   refactored a few things accordingly
2026-07-01 14:56:55 +02:00
Pascal Bleser
f6d6c08ceb Groupware and jmap: cleanup and API documentation 2026-07-01 14:56:55 +02:00
Pascal Bleser
e0b8090f94 groupware and jmap improvements and refactoring 2026-07-01 14:56:55 +02:00
Pascal Bleser
aacc8dafd0 add an auth-api service to make an exemplary implementation of an external authentication API for third party services such as Stalwart 2026-07-01 14:56:55 +02:00
Pascal Bleser
2a169ac647 move services/groupware/pkg/jmap to pkg/jmap 2026-07-01 14:56:55 +02:00
Pascal Bleser
eeffbdc9fc WIP: restructure the Jmap client, and implement the /me/messages Graph API endpoint with it 2026-07-01 14:56:55 +02:00
Pascal Bleser
198cf4b6ee add missing routing for /groupware (currently unprotected for testing) 2026-07-01 14:56:55 +02:00
Pascal Bleser
745b90eec5 WIP: initial implementation of the groupware service 2026-07-01 14:56:55 +02:00