Commit Graph

1054 Commits

Author SHA1 Message Date
Pascal Bleser
fc1994db2d 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-04-30 10:51:40 +02:00
Pascal Bleser
ad73661703 Groupware and jmap: cleanup and API documentation 2026-04-30 10:51:40 +02:00
Pascal Bleser
fabe4c9568 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-04-30 10:51:40 +02:00
Pascal Bleser
75e04f8f68 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-04-30 10:51:40 +02:00
Pascal Bleser
1e6574199e groupware: removed debugging logs 2026-04-30 10:51:40 +02:00
Pascal Bleser
0948c50931 groupware and jmap improvements and refactoring 2026-04-30 10:51:40 +02:00
Pascal Bleser
7c1f491344 move services/groupware/pkg/jmap to pkg/jmap 2026-04-30 10:51:40 +02:00
Pascal Bleser
af597ad91d WIP: restructure the Jmap client, and implement the /me/messages Graph API endpoint with it 2026-04-30 10:51:40 +02:00
André Duffeck
e9e195789d Adapt to changes in reva/cs3apis 2026-04-24 14:49:11 +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
André Duffeck
bfba4ec671 Render the followed drive item after following it according to the spec 2026-03-13 09:38:28 +01:00
André Duffeck
58db915775 Emit events when favorites are added/removed 2026-03-13 09:38:28 +01:00
André Duffeck
3402390b69 Add endpoints for following/unfollowing drive items to the graph API 2026-03-13 09:38:28 +01:00
opencloudeu
fc532634b5 [tx] updated from transifex 2026-03-12 00:09:32 +00:00
opencloudeu
bb77048256 [tx] updated from transifex 2026-03-11 00:09:51 +00:00
opencloudeu
3d20d7bc66 [tx] updated from transifex 2026-03-10 00:09:40 +00:00
Andre Duffeck
bd02897df1 Merge pull request #2424 from aduffeck/bump-cs3apis
Bump reva and the cs3 apis
2026-03-09 08:47:35 +01:00
opencloudeu
d163647b22 [tx] updated from transifex 2026-03-09 00:10:07 +00:00
opencloudeu
c4529e4830 [tx] updated from transifex 2026-03-08 00:09:15 +00:00
opencloudeu
1f83676974 [tx] updated from transifex 2026-03-07 00:10:34 +00:00
André Duffeck
e51ee6d229 Adapt to cs3api changes 2026-03-06 14:59:30 +01:00
Ralf Haferkamp
fe3befd172 chore(graph/education): deduplicate LDAP Search result processing 2026-03-04 15:36:22 +01:00
Ralf Haferkamp
9f7b42586b chore(graph/education): reduce complexity and duplication 2026-03-04 15:14:30 +01:00
Ralf Haferkamp
020a37b017 feat(graph): replace externalId school lookup with OData $filter support
Remove the ability to look up schools by externalId directly (from LDAP
filters, duplicate checks, and the EducationBackend interface). This
approach was somewhat unclean, we shouldn't add more an more attributes
as keys for direct lookup.

Instead, expose externalId filtering via the OData $filter query
parameter on GET /education/schools, following the same pattern as
for education users.

Related: #1598
2026-03-04 14:31:43 +01:00
Ralf Haferkamp
6f404096ce feat(graph/education): Add support of 'eq' filters on users
This adds support of simple OData filters on the 'education/users'
endpoint. Filters of the type '$filter=<attr> eq <value>' are supported
now for the following educationUser properties:

"displayname", "mail", "userType", "primaryRole" and "externalId"

Closes: #1599
2026-03-04 13:51:42 +01:00
Ralf Haferkamp
5065a67891 feat(graph/edu): Add externalID user property 2026-03-04 13:51:42 +01:00
opencloudeu
53233c9d19 [tx] updated from transifex 2026-03-04 00:10:50 +00:00
opencloudeu
4447893aeb [tx] updated from transifex 2026-02-18 00:15:57 +00:00
opencloudeu
4e9eb596f0 [tx] updated from transifex 2026-02-17 00:17:42 +00:00
opencloudeu
e698a35aef [tx] updated from transifex 2026-02-16 00:16:53 +00:00
opencloudeu
d867665dc1 [tx] updated from transifex 2026-02-15 00:16:35 +00:00
opencloudeu
e0b465342f [tx] updated from transifex 2026-02-14 00:16:38 +00:00
opencloudeu
1c80721aff [tx] updated from transifex 2026-02-11 00:15:55 +00:00
Christian Richter
6f7160556f fix tests
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-02-10 10:45:09 +01:00
Christian Richter
7d5d8f3484 adapt graph service
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
Co-authored-by: Ralf Haferkamp <r.haferkamp@opencloud.eu>
2026-02-10 10:45:09 +01:00
Christian Richter
5877bfa8a2 initial skel for external tenant id
Signed-off-by: Christian Richter <c.richter@opencloud.eu>
2026-02-10 10:45:09 +01:00