Commit Graph

1080 Commits

Author SHA1 Message Date
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
adc839f0ec 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-07-01 14:56:55 +02:00
Pascal Bleser
8e9981ff42 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-07-01 14:56:55 +02:00
Pascal Bleser
22ce836074 groupware: removed debugging logs 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
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
Ralf Haferkamp
99d80f30a9 fix: Status codes for Space Disable/Delete
Allow a "permission denied error" from reva to bubble up to the client.
Reva was fixed to return "permission denied" only when the space to be
delete can actually be listed by the user. Other wise it will return
"not found". See reva commit 1bf72cb76394671f373e87f15f23f978cf41ab08.

So when a user with the 'can manage' role tries to purge an already
disabled space it will now get "Forbidden" status instead of a "Not
found".

Also fixes the expected status codes in the tests.
2026-06-22 11:06:26 +02:00
Jörn Friedrich Dreyer
81fd00043e Merge pull request #2063 from opencloud-eu/nats-tls-options
add tls support for all nats connections
2026-06-16 13:21:22 +02:00
opencloudeu
89353aa7c8 [tx] updated from transifex 2026-06-12 23:16:52 +00:00
opencloudeu
600640bb35 [tx] updated from transifex 2026-06-12 12:21:04 +00:00
opencloudeu
7db40eece4 [tx] updated from transifex 2026-06-12 12:14:52 +00:00
Florian Schade
836cb980f2 Merge pull request #2928 from opencloud-eu/add-roles
feat: add more roles
2026-06-12 11:31:22 +02:00
Michael Barz
42dfc8b04f feat: add more roles 2026-06-12 10:51:10 +02:00
Ralf Haferkamp
d163c8ed29 fix(graph): translate sharing roles consitently
GetRoleDefinition/s does now handle l10n correctly. Previsouly it just
returned the non-localized string. What made things worse was that
ListPermissions() mutated global list of available roles and replaced
some strings with translated values depending on the `accept-language`
header. Which resulted in GetRoleDefinition returning results in mixed
localization depending on who/what called ListPermissions before.

Fixes: #2800
2026-06-11 14:31:44 +02:00
Jörn Friedrich Dreyer
77fd4fca69 add tls support for all nats connections
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2026-06-10 17:04:18 +02:00
opencloudeu
b19c17c879 [tx] updated from transifex 2026-06-09 09:31:40 +00:00
Christian Richter
8593a1409a incorporate requested changes
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-06-03 16:28:44 +02:00
Christian Richter
d6c6340705 use ldap instead of ldaps internally
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-06-03 16:28:44 +02:00
Christian Richter
1462301116 incorporate requested changes
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-05-20 14:14:00 +02:00
Christian Richter
0351adfe6b change logger level
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-05-20 14:14:00 +02:00
Ralf Haferkamp
f056326c4c Merge remote-tracking branch 'origin/main' into feature/guest-links 2026-05-13 14:35:54 +02:00
Jörn Friedrich Dreyer
5d7bfc9033 delete unused constants
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2026-05-13 10:54:00 +02:00
Dominik Schmidt
a75d89d1b0 feat(graph): populate driveItem.webUrl per Libre Graph spec
The Libre Graph spec declares webUrl on driveItem but
cs3ResourceToDriveItem never set it. Build the /f/<resource-id>
permalink off the configured public base URL (same source drives.go
reads for drive.webUrl) and parse it once at service construction
so callers can use it as a plain field.
2026-05-12 15:28:10 +02:00
Ralf Haferkamp
393926bd73 Merge remote-tracking branch 'origin/main' into feature/guest-links 2026-05-11 15:39:27 +02:00
Andre Duffeck
efb73c8a79 Merge pull request #2702 from aduffeck/fix-nats-ttl
Set new defaults for caches and stores
2026-05-11 11:04:10 +02:00
opencloudeu
66bdbb7b22 [tx] updated from transifex 2026-05-08 00:04:00 +00:00
opencloudeu
6dfb0e0200 [tx] updated from transifex 2026-05-06 00:02:20 +00:00
opencloudeu
3e5f3844ad [tx] updated from transifex 2026-05-02 00:03:02 +00:00
André Duffeck
544968a4de Set new defaults for caches and stores
See https://github.com/opencloud-eu/opencloud/issues/2681 for more
details.
2026-04-30 11:00:12 +02:00
Ralf Haferkamp
173485cf44 Merge remote-tracking branch 'origin/main' into feature/guest-links 2026-04-29 10:24:57 +02:00
André Duffeck
e9e195789d Adapt to changes in reva/cs3apis 2026-04-24 14:49:11 +02:00
Ralf Haferkamp
ec8733ac52 graph: use share manager for managing space permissions
This gets us rid of quite a bit of special casing for space permission.
Also provides us with "real" permission IDs instead of those faked
"u:<userid>" ones.
2026-04-23 17:07:00 +02:00
Ralf Haferkamp
fad0cc4828 Use filter to avoid including space membership in the sharedWithMe response 2026-04-23 17:07:00 +02:00
Florian Schade
288e67cc39 chore: replace interface with any 2026-04-23 09:31:11 +02:00
Ralf Haferkamp
e2f322791a fix(graph): sort drive in "natural" order
Instead of doing a lexical sort we sort the drive/space in a more
"natural" order so that e.g. "Space 2" is sorted before "Space 10".

Related: https://github.com/opencloud-eu/web/issues/2430
2026-04-23 08:44:13 +02:00
opencloudeu
907cc6d766 [tx] updated from transifex 2026-04-23 00:04:10 +00:00
opencloudeu
e698a81528 [tx] updated from transifex 2026-04-22 00:04:28 +00:00
Thomas Schweiger
fb6ab0f092 enhancement: increase display size of graph flow diagram 2026-04-21 16:51:13 +02:00
opencloudeu
7a7a727cf3 [tx] updated from transifex 2026-04-20 00:04:46 +00:00
opencloudeu
bdf7cc7b8b [tx] updated from transifex 2026-04-19 00:04:47 +00:00
opencloudeu
bfb03b6973 [tx] updated from transifex 2026-04-17 00:04:32 +00:00
opencloudeu
2b15d557ea [tx] updated from transifex 2026-04-15 00:04:54 +00:00
opencloudeu
9e615837c6 [tx] updated from transifex 2026-04-02 00:05:58 +00:00
opencloudeu
f7215df83f [tx] updated from transifex 2026-04-01 00:06:08 +00:00
opencloudeu
3e6a1e69fc [tx] updated from transifex 2026-03-30 00:18:52 +00:00
opencloudeu
6042f26ed1 [tx] updated from transifex 2026-03-29 00:15:44 +00:00
opencloudeu
9bee89691f [tx] updated from transifex 2026-03-27 00:15:02 +00:00
opencloudeu
97a6a9818c [tx] updated from transifex 2026-03-25 00:07:12 +00:00