1114 Commits

Author SHA1 Message Date
Valentin Tolmer 0ac9e134de schema: make user fields non-nullable
They can always be empty. This simplifies mutation, since graphql_client
doesn't have an easy way to conditionally leave out fields (we could do
that with `@include`, but that's one bool per field in addition to the
field, a bit ugly).
2021-09-03 14:32:33 +02:00
Valentin Tolmer 564c09d6ab app: Fix the user detail view 2021-09-03 14:32:33 +02:00
Valentin Tolmer 092cdb860c workflow: Fix typo 2021-08-31 20:32:55 +02:00
Valentin Tolmer d8df47b35d Move backend source to server/ subpackage
To clarify the organization.
2021-08-31 20:32:55 +02:00
Valentin Tolmer 3eb53ba5bf model: rename to auth
Since the "model" doesn't contain any message from the API anymore, and
instead contains only the structures needed for authentication, it was
renamed as such.
2021-08-31 20:32:55 +02:00
Valentin Tolmer 9dd579e32e model: move User and Group definition to backend 2021-08-31 20:32:55 +02:00
Valentin Tolmer 641018ff56 model: remove AddUserToGroupRequest 2021-08-31 20:32:55 +02:00
Valentin Tolmer 54f973e349 model: remove CreateGroupRequest 2021-08-31 20:32:55 +02:00
Valentin Tolmer 4af60e5668 model: remove DeleteUserRequest 2021-08-31 20:32:55 +02:00
Valentin Tolmer 0bcabc7d0c model: remove CreateUserRequest 2021-08-31 20:32:55 +02:00
Valentin Tolmer 0dd05e5771 model: inline the UserDetailsRequest 2021-08-31 20:32:55 +02:00
Valentin Tolmer 6efafa99c8 user_table: refactor to clarify view() 2021-08-31 20:32:55 +02:00
Valentin Tolmer 9c4f8931a0 app: Fix local timezone not taken into account 2021-08-31 20:32:55 +02:00
Valentin Tolmer cd91b4d3ac api: inline the ListUsersRequest 2021-08-31 20:32:55 +02:00
Valentin Tolmer 08a3845cbe infra: Remove the TCP API
Deprecated in favor of GraphQL
2021-08-31 20:32:55 +02:00
Valentin Tolmer 651adbe3c8 model: Inline the BindRequest in the backend 2021-08-31 20:32:55 +02:00
Valentin Tolmer 2aca9dbe62 app: migrate user creation to GraphQL 2021-08-31 20:32:55 +02:00
Valentin Tolmer 37f61ce212 app: fix registration URLs 2021-08-31 20:32:55 +02:00
Valentin Tolmer 40ba65dca7 app: make a graphql argument required 2021-08-31 20:32:55 +02:00
Valentin Tolmer 459f1eba19 graphql: add an endpoint to create a user 2021-08-31 20:32:55 +02:00
Valentin Tolmer dd7e9c9283 app: migrate user_details to graphql endpoint 2021-08-31 20:32:55 +02:00
Valentin Tolmer 267ce51973 jwt: Harden check by hardcoding accepted algorithms 2021-08-30 09:27:00 +02:00
Valentin Tolmer 0ecd9ed263 Migrate datetimes to UTC 2021-08-30 09:27:00 +02:00
Valentin Tolmer 848cc86d73 api: add the rest of the fields to User 2021-08-30 09:27:00 +02:00
Valentin Tolmer a1f40a32a5 app: refactor API methods with empty responses 2021-08-30 09:27:00 +02:00
Valentin Tolmer f860b8fe43 app: Migrate list_users to use the graphql client 2021-08-30 09:27:00 +02:00
Valentin Tolmer 83ed58bff2 errors: use anyhow::Context everywhere 2021-08-30 09:27:00 +02:00
Valentin Tolmer a08b9a556d cli: introduce the export_graphql_schema command
Split the command line into subcommands `run` and
`export_graphql_schema`.
2021-08-30 09:27:00 +02:00
Valentin Tolmer d2617e08a7 Simplify get_user_groups to take a &str 2021-08-30 09:27:00 +02:00
Valentin Tolmer a51965a61a Implement basic GraphQL endpoint with auth 2021-08-30 09:27:00 +02:00
Valentin Tolmer be3e50d31a Update actix libraries 2021-08-30 09:27:00 +02:00
Valentin Tolmer 87516eb218 Update actix libraries 2021-08-22 16:58:33 +02:00
Valentin Tolmer 860ca8d41c Add the twitter handle to the README 2021-07-05 14:11:19 +02:00
Valentin Tolmer 04b9e97527 Implement client view for the user details 2021-07-05 13:41:36 +02:00
Valentin Tolmer 5e0b41998f Propagate the admin status to the top component 2021-07-05 13:41:36 +02:00
Valentin Tolmer 6744a89922 Implement per-user guards for the user details endpoint 2021-07-05 13:41:36 +02:00
Valentin Tolmer c7fb8baadb Remove useless clones 2021-07-05 13:41:36 +02:00
Valentin Tolmer 5a3332430f Add a route to server user details 2021-07-05 13:41:36 +02:00
Valentin Tolmer b0c721bb28 Add a method to get a single user's details 2021-07-05 13:41:36 +02:00
Valentin Tolmer 5a5db13cc2 Add a request message for user details 2021-07-05 13:41:36 +02:00
Valentin Tolmer a731777514 Remove outdated config sample 2021-07-05 13:41:36 +02:00
Valentin Tolmer ab66a36fe6 Set admin password when creating the user 2021-07-05 10:24:23 +02:00
Valentin Tolmer d891529da9 Add allow warnings for nonstandard macro braces
The warnings come from the macros of libraries that we use, so we can't
change them.
2021-07-05 10:10:27 +02:00
Valentin Tolmer 65f0dfed84 Fix dockerfile start command 2021-07-01 12:16:02 +02:00
Valentin Tolmer 8e049c9e54 Add a docker image 2021-06-30 17:22:32 +02:00
Valentin Tolmer e09c73efce Register clients' passwords using OPAQUE 2021-06-25 10:10:55 +02:00
Valentin Tolmer 8b73de0df7 Update opaque and implement it without DB 2021-06-23 20:46:55 +02:00
Valentin Tolmer f12abb35d3 Fix workflow to use the workspace 2021-06-23 11:13:18 +02:00
Valentin Tolmer 0a761ff11f Create a workspace for the packages 2021-06-23 11:13:05 +02:00
Valentin Tolmer 97aab86e8e Add clippy and fmt to the workflow 2021-06-23 10:57:43 +02:00