Commit Graph

260 Commits

Author SHA1 Message Date
Valentin Tolmer
f4edb99379 app: Add style.css, improve classes
Also change the server to be able to serve style.css.
2021-10-15 10:46:17 +02:00
Valentin Tolmer
3912d62623 app: Disable buttons while the task is running 2021-10-15 08:05:50 +02:00
Valentin Tolmer
ead501158d app: Migrate change password to yew_form
Also disable submit while the password is being sent.
2021-10-15 08:05:50 +02:00
Valentin Tolmer
88019a42c9 app: Add a proper error message to the email field 2021-10-15 08:05:50 +02:00
Valentin Tolmer
29832574c1 app: disable the login button while logging in 2021-10-15 08:05:50 +02:00
Valentin Tolmer
73a39fecf0 opaque: Lower the compute cost
This reduces the time to validate a password, at a minor cost of
security (makes bruteforcing the DB easier, but still really hard).

Note: this invalidates all current passwords. It is recommended to
delete the admin user directly in sqlite:

$ sqlite3 users.db
> DELETE from users WHERE user_id = "admin";

It will be recreated with the reset password when restarting the server.
The admin can then reset other users' passwords.
2021-10-15 08:05:50 +02:00
Valentin Tolmer
263fd44156 server: add a display name to the administrator user 2021-10-15 08:05:50 +02:00
Valentin Tolmer
c4c0bb8b8e app: Truncate the user creation date to the day 2021-10-15 08:05:50 +02:00
Valentin Tolmer
9a68563c0b app: Disable the add user/group buttons when relevant 2021-10-15 08:05:50 +02:00
Valentin Tolmer
01c82f09eb app: Add a page to create a group 2021-10-15 08:05:50 +02:00
Valentin Tolmer
35ee2834a3 graphql: Add a method to create a group 2021-10-15 08:05:50 +02:00
Valentin Tolmer
8bd1dec180 app: Implement group management
Except group creation
2021-10-15 08:05:50 +02:00
Valentin Tolmer
42da86cf72 graphql: Implement looking up a group's users 2021-10-15 08:05:50 +02:00
Valentin Tolmer
65780ae0fe graphql: Add a method to look up a group's details 2021-10-15 08:05:50 +02:00
Valentin Tolmer
9e9129aa3a app: Add navigation banner
Unstyled as of yet.
2021-10-15 08:05:50 +02:00
Valentin Tolmer
7d21cc5126 app: Add a page with the list of groups 2021-10-15 08:05:50 +02:00
Valentin Tolmer
0a3cfa168e gitignore: Add output of npm install rollup 2021-10-15 08:05:50 +02:00
Valentin Tolmer
d9abcd335d config: Add a minimum password length 2021-10-07 18:33:47 +02:00
Valentin Tolmer
1ec533bd9b app: Fix login password prompt 2021-10-06 17:58:02 +02:00
Valentin Tolmer
54b6f7d726 graphql: Add guardrails to prevent deleting all the admins 2021-09-28 13:50:56 +02:00
Valentin Tolmer
eb974e781c graphql: Add a filter by group 2021-09-28 13:50:56 +02:00
Valentin Tolmer
09a23a1e59 ldap: Add support for memberOf and wildcards 2021-09-28 13:50:56 +02:00
Valentin Tolmer
c0d866b77b graphql: Add a method to update group details 2021-09-28 13:50:56 +02:00
Valentin Tolmer
3b70762b42 graphql: Add a method to delete a group 2021-09-28 13:50:56 +02:00
Valentin Tolmer
402ef2f83a app: Add a component to delete a user
Also adds a way to hook to the bootstrap modals to show or hide them.
2021-09-24 16:46:30 +02:00
Valentin Tolmer
e8831f607b graphql: Add a method to delete a user 2021-09-24 16:46:30 +02:00
Valentin Tolmer
9e3315e09f docker: add cargo chef to the dockerfile to cache dependencies 2021-09-24 11:15:57 +02:00
Valentin Tolmer
dfe1607a3e app: Migrate create_user to yew_form 2021-09-20 11:23:57 +02:00
Valentin Tolmer
fa6427e694 app: Migrate login to yew_form 2021-09-20 11:23:57 +02:00
Valentin Tolmer
63467e5050 server: Prevent user updates from applying to everyone 2021-09-20 11:23:57 +02:00
Valentin Tolmer
a952968e9f app: Add Bootstrap classes. 2021-09-20 11:23:57 +02:00
Valentin Tolmer
00efdb42af app: Extract a RemoveUserFromGroup component 2021-09-20 11:23:57 +02:00
Valentin Tolmer
14be1170f2 app: Extract the form component from the user details page 2021-09-20 11:23:57 +02:00
Valentin Tolmer
5943df6443 app: Extract a Select component 2021-09-20 11:23:57 +02:00
Valentin Tolmer
37c6e8ef30 app: Extract the AddUserToGroup component 2021-09-20 11:23:57 +02:00
Valentin Tolmer
7aab9e8cf5 app: Add a way to manage a user's group memberships 2021-09-20 11:23:57 +02:00
Valentin Tolmer
480f48f820 graphql: Add a method to list groups 2021-09-20 11:23:57 +02:00
Valentin Tolmer
e4d6b122c5 graphql: Add methods to add/remove group memberships 2021-09-20 11:23:57 +02:00
Valentin Tolmer
a54e73bded app: Add the group memberships 2021-09-20 11:23:57 +02:00
Valentin Tolmer
718da71d0d app: Allow admins to change passwords 2021-09-20 11:23:57 +02:00
Valentin Tolmer
005e18472e app: reorganize and add a page to change the password 2021-09-13 10:35:39 +02:00
Valentin Tolmer
a184cce38f docker: fix command 2021-09-12 12:06:11 +02:00
Valentin Tolmer
035eb6cc3c cargo: update dependencies and add a patch to a library 2021-09-03 14:32:33 +02:00
Valentin Tolmer
d647be793a app: Add a way for users to edit their info 2021-09-03 14:32:33 +02:00
Valentin Tolmer
6ef06163db schema: add a script to re-export the schema 2021-09-03 14:32:33 +02:00
Valentin Tolmer
2954109d96 graphql: Add a method to update a user 2021-09-03 14:32:33 +02:00
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