init mock permission
This commit is contained in:
parent
22265fc2d2
commit
0205f6b5c7
|
@ -10,7 +10,9 @@ export const createActionsColumn = (
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
id: "actions",
|
id: "actions",
|
||||||
header: "",
|
header: () => {
|
||||||
|
return <span>Actions</span>
|
||||||
|
},
|
||||||
cell: ({ row }: { row: { original: IUserSchema } }) => <ActionsCell user={row.original} onUpdate={handleUserUpdate} />
|
cell: ({ row }: { row: { original: IUserSchema } }) => <ActionsCell user={row.original} onUpdate={handleUserUpdate} />
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -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
|
Loading…
Reference in New Issue