Commit Graph

4430 Commits

Author SHA1 Message Date
Pascal Bleser
17718abec5 groupware: minor email searching response improvements + started implementing vacation response setting API 2026-02-04 09:40:20 +01:00
Pascal Bleser
1309db5e43 groupware: add identities of all accounts to the index resource 2026-02-04 09:40:20 +01:00
Pascal Bleser
a9e22fc2b8 groupware: fix email search, add variant that includes the full emails 2026-02-04 09:40:20 +01:00
Pascal Bleser
8181569225 groupware: fix email search, add variant that includes the full emails 2026-02-04 09:40:20 +01:00
Pascal Bleser
d032c92a26 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-02-04 09:40:20 +01:00
Pascal Bleser
050f535d74 groupware: implement message search with snippets 2026-02-04 09:40:20 +01:00
Pascal Bleser
3fdfe714fd groupware: blob streaming (upload and download) 2026-02-04 09:40:20 +01:00
Pascal Bleser
cc41e511c3 groupware: more JMAP operations implementation 2026-02-04 09:40:20 +01:00
Pascal Bleser
b4c8b5a3f4 groupware: further implementation and improvements 2026-02-04 09:40:20 +01:00
Pascal Bleser
04336a9c3a refactored the Session object, refactored the services/groupware directory, and started Swagger documentation implementation 2026-02-04 09:40:20 +01:00
Pascal Bleser
115ae939a8 groupware: refactoring the API mechanisms 2026-02-04 09:40:20 +01:00
Pascal Bleser
6cbce01a46 groupware: implement JSON:API's error response format, with a revamped error handling in jmap and services/groupware 2026-02-04 09:40:20 +01:00
Pascal Bleser
09716cbe1b 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-02-04 09:40:20 +01:00
Pascal Bleser
2a4b528139 Groupware and jmap: cleanup and API documentation 2026-02-04 09:40:20 +01:00
Pascal Bleser
5acddf601c groupware: remove unneeded messages.go that was a remainder from an earlier implementation attempt, which also fixes compilation issues due to changes in main 2026-02-04 09:40:19 +01:00
Pascal Bleser
7cb9b128a8 Groupware improvements: refactoring, k6 tests
* refactored the models to be strongly typed with structs and mapstruct
   to decompose the dynamic parts of the JMAP payloads

 * externalized large JSON strings for tests into .json files under
   testdata/

 * added a couple of fantasy Graph groupware APIs to explore further
   options

 * added k6 scripts to test those graph/me/messages APIs, with a setup
   program to set up users in LDAP, fill their IMAP inbox, activate them
   in Stalwart, cleaning things up, etc...
2026-02-04 09:40:19 +01:00
Pascal Bleser
060f290637 groupware: removed debugging logs 2026-02-04 09:40:19 +01:00
Pascal Bleser
fcace7229b auth-api: fix: was missing newly introduced metrics 2026-02-04 09:40:19 +01:00
Pascal Bleser
1ca1485286 groupware and jmap improvements and refactoring 2026-02-04 09:40:19 +01:00
Pascal Bleser
23f40932b3 Introduce a the auth-api service
* primitive implementation to demonstrate how it could work, still to
   be considered WIP at best

 * add new dependency: MicahParks/jwkset and MicahParks/keyfunc to
   retrieve the JWK set from KeyCloak to verify the signature of the
   JWTs sent as part of Bearer authentication in the /auth API

 * (minor) opencloud/.../service.go: clean up a logging statement that
   was introduced earlier to hunt down why the auth-api service was not
   being started
2026-02-04 09:40:19 +01:00
Pascal Bleser
46690c81b3 add an auth-api service to make an exemplary implementation of an external authentication API for third party services such as Stalwart 2026-02-04 09:40:19 +01:00
Pascal Bleser
b48a6f3b45 move services/groupware/pkg/jmap to pkg/jmap 2026-02-04 09:40:19 +01:00
Pascal Bleser
bb1ff183bd WIP: restructure the Jmap client, and implement the /me/messages Graph API endpoint with it 2026-02-04 09:40:19 +01:00
Pascal Bleser
6612b0afe2 add missing routing for /groupware (currently unprotected for testing) 2026-02-04 09:40:19 +01:00
Pascal Bleser
71ed48ace4 WIP: initial implementation of the groupware service 2026-02-04 09:40:19 +01:00
Ralf Haferkamp
0639304e96 docs(proxy): Clarify PROXY_OIDC_USERINFO_CACHE_TTL value
Try to make it more precise when that value is actually relevant.

Closes: #2252
2026-02-03 15:36:37 +01:00
opencloudeu
7a0bbd93b4 [tx] updated from transifex 2026-02-03 00:14:43 +00:00
opencloudeu
158c920e3d [tx] updated from transifex 2026-02-01 00:13:47 +00:00
opencloudeu
cad6a61120 [tx] updated from transifex 2026-01-29 00:13:28 +00:00
André Duffeck
e2f6a68810 Do not ever set a TTL for the ID cache. It's not supposed to expire. 2026-01-28 12:52:24 +01:00
opencloudeu
47d5d8c1b8 [tx] updated from transifex 2026-01-28 00:12:56 +00:00
opencloudeu
08a87ad1a3 [tx] updated from transifex 2026-01-27 00:12:45 +00:00
Viktor Scharf
6cefc94493 bump-web-5.0.0 (#2216) 2026-01-26 15:33:43 +01:00
opencloudeu
0d3fe86873 [tx] updated from transifex 2026-01-26 00:11:58 +00:00
opencloudeu
e372ae0ccf [tx] updated from transifex 2026-01-25 00:12:01 +00:00
opencloudeu
c43ac9974e [tx] updated from transifex 2026-01-23 00:12:14 +00:00
opencloudeu
5493a32e3b [tx] updated from transifex 2026-01-22 00:12:11 +00:00
André Duffeck
80601fc0dc Do not try to enable multi tenancy for the system storage 2026-01-20 15:49:13 +01:00
Jörn Friedrich Dreyer
87ef2d97fa Clarify what the two requests are used for (#2179)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2026-01-19 21:38:20 +01:00
opencloudeu
9264617a28 [tx] updated from transifex 2026-01-14 00:09:55 +00:00
Jörn Friedrich Dreyer
b7ab1b1f40 Merge pull request #2114 from dragonchaser/consoldiate_log_config
consolidate log config in activitylog
2026-01-12 09:50:05 +01:00
opencloudeu
8814f3fa32 [tx] updated from transifex 2026-01-12 00:08:46 +00:00
opencloudeu
f6a54930ea [tx] updated from transifex 2026-01-09 00:08:53 +00:00
Christian Richter
b51c4af8d9 remove logger from proxytest
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-01-08 14:50:44 +01:00
Christian Richter
cb9815acb1 fix yaml mappings
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-01-08 14:16:31 +01:00
Christian Richter
25952fc27c consolidate log config in webfinger
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-01-08 13:48:15 +01:00
Christian Richter
36b90c8619 consolidate log config in webdav
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-01-08 13:46:30 +01:00
Christian Richter
f039bcf995 consolidate log config in web
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-01-08 13:44:41 +01:00
Christian Richter
dd34f40618 consolidate log config in users
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-01-08 13:42:54 +01:00
Christian Richter
f69610777d consolidate log config in userlog
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-01-08 13:41:10 +01:00