feat(rbac): add roles and permissions

This commit is contained in:
Schubert Ferenc 2026-07-02 23:05:59 +02:00
parent 86a32a942c
commit 694b7bd09a
37 changed files with 2682 additions and 218 deletions

View file

@ -0,0 +1,19 @@
import type { CurrentUser, PermissionName } from "@/types/rbac";
export function hasPermission(user: CurrentUser | null | undefined, permission: PermissionName) {
return Boolean(user?.permissions.includes(permission));
}
export function hasAnyPermission(
user: CurrentUser | null | undefined,
permissions: PermissionName[],
) {
return permissions.some((permission) => hasPermission(user, permission));
}
export function hasAllPermissions(
user: CurrentUser | null | undefined,
permissions: PermissionName[],
) {
return permissions.every((permission) => hasPermission(user, permission));
}