|
| 1 | +use serde::Deserialize; |
1 | 2 | use serde::Serialize;
|
2 | 3 | use strum::AsRefStr;
|
3 |
| -use strum::Display; |
4 | 4 | use strum::EnumString;
|
5 | 5 | use utoipa::ToSchema;
|
6 | 6 |
|
7 | 7 | use crate::roles::BuiltinRoleSet;
|
8 | 8 |
|
9 | 9 | #[derive(
|
10 |
| - Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, EnumString, AsRefStr, Display, ToSchema, |
| 10 | + Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize, EnumString, AsRefStr, ToSchema, |
11 | 11 | )]
|
12 |
| -#[strum(serialize_all = "snake_case")] |
13 | 12 | pub enum BuiltinRole {
|
14 | 13 | /// A user with this role short-circuits all role and permission checks
|
15 | 14 | ///
|
16 | 15 | /// Alternatively, especially for development, the `EDITOAST_SUPERUSER` environment variable can be set
|
17 | 16 | /// when no user identity header is present. (This is the case when editoast is queried directly and
|
18 | 17 | /// not through the gateway.)
|
19 |
| - #[strum(serialize = "superuser")] |
20 | 18 | Superuser,
|
21 | 19 |
|
22 |
| - #[strum(serialize = "operational_studies:write")] |
23 | 20 | OpsWrite,
|
24 |
| - #[strum(serialize = "operational_studies:read")] |
25 | 21 | OpsRead,
|
26 | 22 |
|
27 |
| - #[strum(serialize = "infra:read")] |
28 | 23 | InfraRead,
|
29 |
| - #[strum(serialize = "infra:write")] |
30 | 24 | InfraWrite,
|
31 | 25 |
|
32 |
| - #[strum(serialize = "rolling_stock_collection:read")] |
33 | 26 | RollingStockCollectionRead,
|
34 |
| - #[strum(serialize = "rolling_stock_collection:write")] |
35 | 27 | RollingStockCollectionWrite,
|
36 | 28 |
|
37 |
| - #[strum(serialize = "work_schedule:write")] |
38 | 29 | WorkScheduleWrite,
|
39 |
| - #[strum(serialize = "work_schedule:read")] |
40 | 30 | WorkScheduleRead,
|
41 | 31 |
|
42 |
| - #[strum(serialize = "map:read")] |
43 | 32 | MapRead,
|
44 | 33 |
|
45 |
| - #[strum(serialize = "stdcm")] |
46 | 34 | Stdcm,
|
47 |
| - #[strum(serialize = "stdcm:admin")] |
48 | 35 | StdcmAdmin,
|
49 | 36 |
|
50 |
| - #[strum(serialize = "timetable:read")] |
51 | 37 | TimetableRead,
|
52 |
| - #[strum(serialize = "timetable:write")] |
53 | 38 | TimetableWrite,
|
54 | 39 |
|
55 |
| - #[strum(serialize = "document:read")] |
56 | 40 | DocumentRead,
|
57 |
| - #[strum(serialize = "document:write")] |
58 | 41 | DocumentWrite,
|
59 | 42 |
|
60 |
| - #[strum(serialize = "subject:read")] |
61 | 43 | SubjectRead,
|
62 |
| - #[strum(serialize = "subject:write")] |
63 | 44 | SubjectWrite,
|
64 | 45 |
|
65 |
| - #[strum(serialize = "role:read")] |
66 | 46 | RoleRead,
|
67 |
| - #[strum(serialize = "role:write")] |
68 | 47 | RoleWrite,
|
69 | 48 | }
|
70 | 49 |
|
|
0 commit comments