init mock permission
This commit is contained in:
parent
22265fc2d2
commit
0205f6b5c7
|
@ -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} />
|
||||
}
|
||||
}
|
|
@ -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