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

@ -14,6 +14,8 @@ type Props = {
error?: string;
sortKey: string;
sortDirection: "asc" | "desc";
canUpdate: boolean;
canDelete: boolean;
onSort: (key: string) => void;
onEdit: (user: User) => void;
onDelete: (user: User) => void;
@ -33,6 +35,8 @@ export default function UserTable({
error,
sortKey,
sortDirection,
canUpdate,
canDelete,
onSort,
onEdit,
onDelete,
@ -66,7 +70,7 @@ export default function UserTable({
key: "role",
label: "Rolle",
sortable: true,
render: (user) => user.role,
render: (user) => user.primary_role.display_name,
},
{
key: "is_active",
@ -93,24 +97,28 @@ export default function UserTable({
>
<Eye size={16} />
</Link>
<Button
type="button"
variant="ghost"
size="icon-sm"
title="Bearbeiten"
onClick={() => onEdit(user)}
>
<Edit size={16} />
</Button>
<Button
type="button"
variant="destructive"
size="icon-sm"
title="Löschen"
onClick={() => onDelete(user)}
>
<Trash2 size={16} />
</Button>
{canUpdate && (
<Button
type="button"
variant="ghost"
size="icon-sm"
title="Bearbeiten"
onClick={() => onEdit(user)}
>
<Edit size={16} />
</Button>
)}
{canDelete && (
<Button
type="button"
variant="destructive"
size="icon-sm"
title="Löschen"
onClick={() => onDelete(user)}
>
<Trash2 size={16} />
</Button>
)}
</div>
),
},