79 Commits

Author SHA1 Message Date
Quentin Gliech
a35cb76c41 Remove the nullable transform 2025-11-07 10:53:46 +01:00
Quentin Gliech
e2490688a5 Merge remote-tracking branch 'origin/main' into quenting/schemars-0.9 2025-11-06 17:34:43 +01:00
Olivier 'reivilibre
dda3a498b3 (update JSONSchema) 2025-10-21 12:16:45 +01:00
Olivier 'reivilibre
1030ec9ea9 Add personal sessions admin API 2025-10-20 14:51:40 +01:00
Quentin Gliech
cd39513d44 Add admin APIs to finish individual sessions (#5091) 2025-10-08 10:30:22 +02:00
Quentin Gliech
e4844968d3 Add a configuration option to make email optional for password registration 2025-10-07 17:28:01 +02:00
Quentin Gliech
0a5d048deb Admin API to get the version of the service 2025-10-03 11:58:53 +02:00
Quentin Gliech
b856c885e1 Admin API to finish a compatibility session 2025-09-30 16:50:37 +02:00
Quentin Gliech
c512b7223d Admin API to finish an OAuth2 session 2025-09-30 16:50:37 +02:00
Quentin Gliech
defb2cf0e0 Admin API to finish a user session 2025-09-30 15:53:18 +02:00
Quentin Gliech
eb8a87c02c Admin API: make sure the meta fields are nullable 2025-09-30 13:23:54 +02:00
Quentin Gliech
38278fa453 Admin API: add endpoint to get an Upstream OAuth Provider by ID 2025-09-30 12:08:31 +02:00
Quentin Gliech
0d7144836e Merge remote-tracking branch 'origin/main' into quenting/admin-api/optional-count 2025-09-30 11:46:50 +02:00
Quentin Gliech
afaa7c44aa 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
10a4c8e215 Admin API: add pagination cursors to list endpoints 2025-09-29 15:09:15 +02:00
Quentin Gliech
04758bee99 Admin API to list upstream OAuth 2.0 providers 2025-09-19 11:12:48 +02:00
Quentin Gliech
a7e56b3849 Admin API filter to search users by username 2025-09-15 14:12:31 +02:00
Quentin Gliech
1e1dfdadc2 Allow filtering guest/non-guest users 2025-09-15 12:51:06 +02:00
Quentin Gliech
5d63ee2edf Surface the user guest flag in the admin API 2025-09-15 12:51:00 +02:00
Quentin Gliech
f9f23fb12d Admin API to expose a few configuration values 2025-09-12 17:47:36 +02:00
Quentin Gliech
7e018a06aa Merge remote-tracking branch 'origin/main' into quenting/stable-api 2025-08-04 16:38:49 +02:00
Quentin Gliech
b83c747f37 Allow skipping GDPR-erasure when deactivating a user through the admin API (#4744) 2025-07-17 09:15:25 +02:00
Andrew Ferrazzutti
d807975137 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
6c1afee13d 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
13a21cc018 Update schema 2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
a8b8c8e31c Add admin API endpoint to reactivate user 2025-07-16 14:17:01 -04:00
Andrew Ferrazzutti
49f2daeaa9 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
1101dd95e8 Force optional request body for JSON schema 2025-07-10 13:26:58 -04:00
Andrew Ferrazzutti
972c50d6a3 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
aad422110c 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
15408d32d8 Update the admin API doc to use stable scope in the example 2025-06-13 15:57:53 +02:00
Quentin Gliech
a35db23b31 Upgrade schemars to 0.9 2025-06-12 15:48:24 +02:00
Quentin Gliech
52942ee94e Admin API to edit registration tokens 2025-06-05 18:22:16 +02:00
Quentin Gliech
c8f2a2146c Admin API to un-revoke a user registration token. 2025-06-05 16:56:42 +02:00
Quentin Gliech
12e9d025d7 Add whether the registration is valid or not in the admin API 2025-06-03 17:42:55 +02:00
Quentin Gliech
723302fd97 Admin API to revoke user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
aa7c6b35bc Admin API to create a new user registration token 2025-06-03 17:42:54 +02:00
Quentin Gliech
6000719b29 Admin API to get individual user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
322c8545bb Admin API to list user registration tokens 2025-06-03 17:42:54 +02:00
Quentin Gliech
a11610d318 Add the user deactivation state in the admin API 2025-06-02 11:54:16 +02:00
Quentin Gliech
c326d76e2a Make the security schemes relative in the static OpenAPI spec 2025-05-07 14:20:21 +02:00
Quentin Gliech
dc2ff768e3 Use absolute URLs in the OAuth 2.0 security scheme in the API spec 2025-05-07 14:05:44 +02:00
Quentin Gliech
498c0ac3a7 admin: expose the sessions 'human_name' 2025-04-25 16:55:30 +02:00
Tonkku
7c4a9bf5be Handle the correct conflict 2025-04-09 07:27:04 +00:00
Tonkku
272a9b8caf Admin API endpoint to remove upstream link 2025-03-17 16:33:49 +00:00
Tonkku
61091ff7e6 Admin API endpoint to add upstream link 2025-03-17 14:40:27 +00:00
Quentin Gliech
c3296a2e22 Make the admin API update the local policy data 2025-02-25 16:42:21 +01:00
Quentin Gliech
d393494e76 Admin API to get and set policy data 2025-02-25 13:06:44 +01:00
Quentin Gliech
ffb6e2e9be Fix the HTTP status code for the user creation admin endpoint (#4040) 2025-02-14 15:01:58 +01:00
Quentin Gliech
be1da26bd8 Fix the HTTP status code for the user creation admin endpoint 2025-02-14 14:54:22 +01:00