Commit Graph

79 Commits

Author SHA1 Message Date
Quentin Gliech
7901657b72 Remove the nullable transform 2025-11-07 10:53:46 +01:00
Quentin Gliech
56911f25c1 Merge remote-tracking branch 'origin/main' into quenting/schemars-0.9 2025-11-06 17:34:43 +01:00
Olivier 'reivilibre
dd5eec7780 (update JSONSchema) 2025-10-21 12:16:45 +01:00
Olivier 'reivilibre
e06fb33e37 Add personal sessions admin API 2025-10-20 14:51:40 +01:00
Quentin Gliech
ecafcaa175 Add admin APIs to finish individual sessions (#5091) 2025-10-08 10:30:22 +02:00
Quentin Gliech
28e573b400 Add a configuration option to make email optional for password registration 2025-10-07 17:28:01 +02:00
Quentin Gliech
ce1aabdb8a Admin API to get the version of the service 2025-10-03 11:58:53 +02:00
Quentin Gliech
4423ee130f Admin API to finish a compatibility session 2025-09-30 16:50:37 +02:00
Quentin Gliech
f7e01450da Admin API to finish an OAuth2 session 2025-09-30 16:50:37 +02:00
Quentin Gliech
c3d77e01d2 Admin API to finish a user session 2025-09-30 15:53:18 +02:00
Quentin Gliech
50a8d00dc6 Admin API: make sure the meta fields are nullable 2025-09-30 13:23:54 +02:00
Quentin Gliech
10efae35fe Admin API: add endpoint to get an Upstream OAuth Provider by ID 2025-09-30 12:08:31 +02:00
Quentin Gliech
9756bd0a4a Merge remote-tracking branch 'origin/main' into quenting/admin-api/optional-count 2025-09-30 11:46:50 +02:00
Quentin Gliech
39fc59deb2 Admin API: parameter to include total number of items
This allows removing the count calculation when not needed, or to skip
the list of items entirely.
2025-09-29 18:27:22 +02:00
Quentin Gliech
209bc05ae7 Admin API: add pagination cursors to list endpoints 2025-09-29 15:09:15 +02:00
Quentin Gliech
c1c76177bd Admin API to list upstream OAuth 2.0 providers 2025-09-19 11:12:48 +02:00
Quentin Gliech
cb8c408489 Admin API filter to search users by username 2025-09-15 14:12:31 +02:00
Quentin Gliech
b7015c0b3d Allow filtering guest/non-guest users 2025-09-15 12:51:06 +02:00
Quentin Gliech
a2172a02ba Surface the user guest flag in the admin API 2025-09-15 12:51:00 +02:00
Quentin Gliech
ca9aeb42c0 Admin API to expose a few configuration values 2025-09-12 17:47:36 +02:00
Quentin Gliech
4d83fcb25e Merge remote-tracking branch 'origin/main' into quenting/stable-api 2025-08-04 16:38:49 +02:00
Quentin Gliech
0878505429 Allow skipping GDPR-erasure when deactivating a user through the admin API (#4744) 2025-07-17 09:15:25 +02:00
Andrew Ferrazzutti
49540693ab Decouple (un)locking from (re/de)activation
Unify the admin API, CLI, and GraphQL API in not having the unlock
command also reactivate, or the deactivate command also lock.

Still let the unlock command of the CLI and GraphQL API to also
reactivate the target user, albeit as a non-default option.
2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
415e3a2555 Separate active state from lock state in admin API
- Allow the admin API to deactivate a user without locking it, and to
  unlock a user without reactivating it.
- Make unlock-and-reactivate flows unset the "deactivated_at" timestamp.
- Revert adding an "unlock" parameter on `ReactivateUserJob`, as the
  option is used only by the admin API which doesn't use a job.
2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
63bb786b5d Update schema 2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
44ffec5111 Add admin API endpoint to reactivate user 2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
23a87a02d2 Negate erase option and make optional
This makes it more intuitive for an empty request body to be equivalent
to the option being set to false.
2025-07-14 01:02:51 -04:00
Andrew Ferrazzutti
88f5df36d4 Force optional request body for JSON schema 2025-07-10 13:26:58 -04:00
Andrew Ferrazzutti
f8b4dcc6c2 Require "erase" key in deactivation request body
If body is absent, treat "erase" as true.
If body is present, require "erase" to be present in the body.
2025-07-04 14:30:42 -04:00
Andrew Ferrazzutti
58cd2ba993 Add "erase" option to REST deactivate request body
This allows using the endpoint to deactivate a user without deleting it.

TODO: make the request body optional.
2025-07-03 13:22:17 -04:00
Quentin Gliech
a390e61b08 Update the admin API doc to use stable scope in the example 2025-06-13 15:57:53 +02:00
Quentin Gliech
e54664ad6f Upgrade schemars to 0.9 2025-06-12 15:48:24 +02:00
Quentin Gliech
5a4bc59bd3 Admin API to edit registration tokens 2025-06-05 18:22:16 +02:00
Quentin Gliech
5a34e28f4c Admin API to un-revoke a user registration token. 2025-06-05 16:56:42 +02:00
Quentin Gliech
0e94e6c2bb Add whether the registration is valid or not in the admin API 2025-06-03 17:42:55 +02:00
Quentin Gliech
4d1122533b Admin API to revoke user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
2eaca3db22 Admin API to create a new user registration token 2025-06-03 17:42:54 +02:00
Quentin Gliech
378e83ef66 Admin API to get individual user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
35a33f3464 Admin API to list user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
cd96b6324e Add the user deactivation state in the admin API 2025-06-02 11:54:16 +02:00
Quentin Gliech
f8c7a218f1 Make the security schemes relative in the static OpenAPI spec 2025-05-07 14:20:21 +02:00
Quentin Gliech
95094453e5 Use absolute URLs in the OAuth 2.0 security scheme in the API spec 2025-05-07 14:05:44 +02:00
Quentin Gliech
5d4c371e53 admin: expose the sessions 'human_name' 2025-04-25 16:55:30 +02:00
Tonkku
13c9713205 Handle the correct conflict 2025-04-09 07:27:04 +00:00
Tonkku
b7c6320016 Admin API endpoint to remove upstream link 2025-03-17 16:33:49 +00:00
Tonkku
81c0602092 Admin API endpoint to add upstream link 2025-03-17 14:40:27 +00:00
Quentin Gliech
518a366ee2 Make the admin API update the local policy data 2025-02-25 16:42:21 +01:00
Quentin Gliech
aec5d80dbd Admin API to get and set policy data 2025-02-25 13:06:44 +01:00
Quentin Gliech
9e81369c60 Fix the HTTP status code for the user creation admin endpoint (#4040) 2025-02-14 15:01:58 +01:00
Quentin Gliech
281ed7bc17 Fix the HTTP status code for the user creation admin endpoint 2025-02-14 14:54:22 +01:00