Valentin Tolmer
28607c4744
server: update various dependencies
2023-03-02 10:51:38 +01:00
Valentin Tolmer
dce73f91ef
server: update actix, inline juniper-actix
2023-03-02 10:51:38 +01:00
Valentin Tolmer
c9997d4c17
server: statically enforce access control
2023-03-01 11:28:04 +01:00
Valentin Tolmer
e458aca3e3
db: Change the DB storage type to NaiveDateTime
...
The entire internals of the server now work using only NaiveDateTime,
since we know they are all UTC. At the fringes (LDAP, GraphQL, JWT
tokens) we convert back into UTC to make sure we have a clear API.
This allows us to be compatible with Postgres (which doesn't support
DateTime<UTC>, only NaiveDateTime).
This change is backwards compatible since in SQlite with
Sea-query/Sea-ORM, the UTC datetimes are stored without a timezone, as
simple strings. It's the same format as NaiveDateTime.
Fixes #87 .
2023-01-13 15:50:03 +01:00
Valentin Tolmer
09a0522e2d
server: move domain types to a separate file
2022-11-25 15:35:48 +01:00
Valentin Tolmer
e89b1538af
server,app: migrate to sea-orm
2022-11-25 15:35:48 +01:00
Waldemar Heinze
a3216a4550
server: fix clippy's suggestions
2022-11-24 23:52:57 +01:00
Valentin Tolmer
ff66e918cf
server: increase max payload size to 16MB
...
Fixes #337
2022-10-19 17:28:25 +02:00
Valentin Tolmer
4c69f917e7
server: Improve equality handling in filters
...
Now the columns are checked and mapped to user columns, to avoid any
ambiguity.
Fixes #341 .
2022-10-19 08:43:38 +02:00
Valentin Tolmer
3acc448048
server: Add support for users' avatars in GrahpQL
2022-08-09 13:03:28 +02:00
Iván Izaguirre
5c584536b5
frontend: Add UUID and creation date
...
This exposes the new info in the GraphQL API, and adds it to the frontend.
2022-07-21 12:10:37 +02:00
Valentin Tolmer
cf19fd41b0
server: Update permission checks for strict_readonly
2022-07-08 19:02:20 +02:00
Valentin Tolmer
c72c1fdf2c
server: Add a Uuid attribute to every user and group
2022-07-01 12:41:12 +02:00
Valentin Tolmer
23a4763914
server: Add tracing logging
...
Fixes #17
2022-06-30 17:14:13 +02:00
Valentin Tolmer
da186fab38
ldap: add support for memberOf attribute
...
The "memberOf" filter was already supported, but not the attribute.
Fixes #179
2022-06-10 15:22:06 +02:00
Valentin Tolmer
ff698df280
server: Introduce a read-only user
2022-06-06 17:27:37 +02:00
Valentin Tolmer
ca19e61f50
domain: introduce UserId to make uid case insensitive
...
Note that if there was a non-lowercase user already in the DB, it cannot
be found again. To fix this, run in the DB:
sqlite> UPDATE users SET user_id = LOWER(user_id);
2022-03-26 18:23:19 +01:00
Valentin Tolmer
c850fa4273
server: refactor group requests to use filters
2022-02-12 14:27:02 +01:00
Valentin Tolmer
a1fe703bf0
server: rename RequestFilter to UserRequestFilter
2022-02-12 14:27:02 +01:00
Valentin Tolmer
790fd7c5d1
cargo: Update to 2021 edition
2021-11-23 00:25:47 +01:00
Valentin Tolmer
35ee2834a3
graphql: Add a method to create a group
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
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
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
e8831f607b
graphql: Add a method to delete a user
2021-09-24 16:46:30 +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
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
d8df47b35d
Move backend source to server/ subpackage
...
To clarify the organization.
2021-08-31 20:32:55 +02:00