Variable PERMISSIONSConst
PERMISSIONS: {
student: readonly [
"read:courses",
"read:own_progress",
"update:own_progress",
"update:own_profile",
];
content_creator: readonly [
"read:courses",
"read:own_progress",
"update:own_progress",
"update:own_profile",
"create:content",
"update:content",
"read:analytics",
];
admin: readonly [
"read:courses",
"read:own_progress",
"update:own_progress",
"update:own_profile",
"create:content",
"update:content",
"read:analytics",
"delete:content",
"manage:users",
"read:all_progress",
];
} = ...
Type declaration
Readonly
student: readonly [
"read:courses",
"read:own_progress",
"update:own_progress",
"update:own_profile",
]
Readonly
content_creator: readonly [
"read:courses",
"read:own_progress",
"update:own_progress",
"update:own_profile",
"create:content",
"update:content",
"read:analytics",
]
Readonly
admin: readonly [
"read:courses",
"read:own_progress",
"update:own_progress",
"update:own_profile",
"create:content",
"update:content",
"read:analytics",
"delete:content",
"manage:users",
"read:all_progress",
]
Permission-Based Access Control System
Defines granular permissions for each user role, enabling fine-grained access control beyond simple role-based authorization. This system allows for more precise security policies where specific actions can be controlled independently of user roles.
The permission system follows a hierarchical structure where higher-level roles inherit permissions from lower-level roles and add additional capabilities:
Permission mappings for each user role