import { IUserSchema } from "@/src/entities/models/users/users.model" type Role = "viewer" | "editor" | "admin"; const PERMISSIONS: Record = { 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