permissions middleware

This commit is contained in:
Julian Krauser 2024-08-27 11:47:27 +02:00
parent c7e48c0334
commit 1d2b5ea420
7 changed files with 86 additions and 25 deletions

View file

@ -1,8 +1,18 @@
export type PermissionSection = "club" | "settings" | "user";
export type PermissionModule = "protocoll" | "user";
export type PermissionModule =
| "members"
| "calendar"
| "newsletter"
| "protocoll"
| "qualification"
| "award"
| "executive_position"
| "communication"
| "user"
| "role";
export type PermissionType = "read" | "create" | "update" | "delete";
export type PermissionType = "create" | "read" | "update" | "delete";
export type PermissionString =
| `${PermissionSection}.${PermissionModule}.${PermissionType}` // für spezifische Berechtigungen
@ -19,6 +29,26 @@ export type PermissionObject = {
admin?: boolean;
};
export type SectionsAndModulesObject = {
[section in PermissionSection]: Array<PermissionModule>;
};
export const permissionSections: Array<PermissionSection> = ["club", "settings", "user"];
export const permissionModules: Array<PermissionModule> = ["protocoll", "user"];
export const permissionModules: Array<PermissionModule> = [
"members",
"calendar",
"newsletter",
"protocoll",
"qualification",
"award",
"executive_position",
"communication",
"user",
"role",
];
export const permissionTypes: Array<PermissionType> = ["read", "create", "update", "delete"];
export const sectionsAndModules: SectionsAndModulesObject = {
club: ["members", "calendar", "newsletter", "protocoll"],
settings: ["qualification", "award", "executive_position", "communication"],
user: ["user", "role"],
};