Commit Graph

100 Commits

Author SHA1 Message Date
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 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 04b9e97527 Implement client view for the user details 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 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 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 2f7019433d Fix clippy warnings 2021-06-23 10:57:34 +02:00
Valentin Tolmer 4d68a2a015 Add TCP handlers for opaque protocol 2021-06-23 10:27:59 +02:00
Valentin Tolmer 7be0e420d4 Add a handler for OPAQUE messages 2021-06-23 10:27:59 +02:00
Valentin Tolmer f6372c7e02 Add the OPAQUE tables to the cleanup cron 2021-06-23 10:27:59 +02:00
Valentin Tolmer 4bc48a064d Create SQL tables for the temporary OPAQUE data 2021-06-23 10:27:59 +02:00
Valentin Tolmer b5c7e3b0d7 clippy: fix lint warning 2021-06-23 10:27:59 +02:00
Valentin Tolmer c3bbcce6a3 Simplify KeyPair handling 2021-06-23 10:27:59 +02:00
Valentin Tolmer f918debc2e Simplify opaque types 2021-06-23 10:27:59 +02:00
Valentin Tolmer 973fac4bb8 Make passwords optional when registering a new user 2021-06-23 10:27:59 +02:00
Valentin Tolmer 3c916a2530 Implement password checking using opaque 2021-06-23 10:27:59 +02:00
Valentin Tolmer d5f84cd588 Add cargo.lock and fix some dependencies
Note that the auth_service handler has become less generic, but it's
enough for our purposes.
2021-06-22 17:27:43 +02:00
Marcelin Dupraz 2a6d23203c Implementation of the delete_user_request.
Tests are barebones and are dependant of the list_users_request
(delete_user_request_test will fail if list_users_request fails)
2021-05-30 22:08:01 +02:00
Valentin Tolmer ca48de542b Add a API endpoint to create a user 2021-05-30 18:26:14 +02:00
Valentin Tolmer 3f23f69fce Add the admin user to the admin group by default 2021-05-26 19:22:41 +02:00
Valentin Tolmer 352a7d90fc Add method to add users to groups 2021-05-26 15:49:59 +02:00
Valentin Tolmer b3c2f5edfc Add a method to create a group 2021-05-26 15:42:02 +02:00
Valentin Tolmer 8e369016da Create admin user by default 2021-05-26 15:13:17 +02:00
Valentin Tolmer 5a70f2ebc2 Add a method to create a user 2021-05-26 08:43:31 +02:00
Valentin Tolmer d1a42b178a Make display_name, first&last name optional 2021-05-26 08:42:05 +02:00
Valentin Tolmer eb5c48f030 Add a DB cleaner cron job 2021-05-25 10:39:09 +02:00
Valentin Tolmer 054f970f91 Make logout a post request, fix cookie path 2021-05-23 17:06:43 +02:00
Valentin Tolmer cd84aff310 Better database errors 2021-05-23 17:06:21 +02:00
Valentin Tolmer 28b7be0500 Hash refesh tokens earlier 2021-05-23 16:26:24 +02:00
Valentin Tolmer 10404abbb0 Implement server-side logout 2021-05-23 16:20:26 +02:00
Valentin Tolmer 28a941924e Split big files into little ones 2021-05-20 19:18:15 +02:00
Valentin Tolmer 9f1feb3b11 Change auth handlers to return an HttpResponse 2021-05-20 17:46:36 +02:00
Valentin Tolmer 6cb06b0e9f Change the authentication address to /auth 2021-05-20 17:41:30 +02:00
Valentin Tolmer d5cb53ae8a Implement refresh tokens 2021-05-20 17:40:30 +02:00
Valentin Tolmer 312d9b7a6f Mark cookies as sameSite=Strict 2021-05-19 18:08:26 +02:00
Valentin Tolmer 29b7f4b836 Remove folder placeholder 2021-05-17 16:54:41 +02:00
Valentin Tolmer e90ef2737c Add tests for tcp handlers 2021-05-14 10:30:58 +02:00
Valentin Tolmer f19a4b36de Default the web server to returning index.html 2021-05-14 10:30:58 +02:00
Valentin Tolmer 7970decb8e Replace field names by identifiers in SQL queries 2021-05-14 10:30:55 +02:00