init mock permission

This commit is contained in:
vergiLgood1 2025-04-06 21:00:53 +07:00
parent 22265fc2d2
commit 0205f6b5c7
2 changed files with 22 additions and 1 deletions

View File

@ -10,7 +10,9 @@ export const createActionsColumn = (
) => {
return {
id: "actions",
header: "",
header: () => {
return <span>Actions</span>
},
cell: ({ row }: { row: { original: IUserSchema } }) => <ActionsCell user={row.original} onUpdate={handleUserUpdate} />
}
}

View File

@ -0,0 +1,19 @@
import { IUserSchema } from "@/src/entities/models/users/users.model"
type Role = "viewer" | "editor" | "admin";
const PERMISSIONS: Record<Role, string[]> = {
viewer: ["view:post"],
editor: ["view:post", "edit:post"],
admin: ["view:post", "create:post", "edit:post", "delete:post"],
};
export const CheckPermission = (user: IUserSchema, action: string, resource: string) => {
const permissions = PERMISSIONS[user.role as Role]
if (!permissions) return false
return permissions.includes(`${action}:${resource}`)
}
export default CheckPermission