diff --git a/web/features/skills/permissions.ts b/web/features/skills/permissions.ts new file mode 100644 index 00000000000..44f90069006 --- /dev/null +++ b/web/features/skills/permissions.ts @@ -0,0 +1,19 @@ +import { useAtomValue } from 'jotai' +import { workspacePermissionKeysAtom } from '@/context/permission-state' +import { hasPermission } from '@/utils/permission' + +export const SkillPermission = { + Edit: 'skill.edit', + Publish: 'skill.publish', + Delete: 'skill.delete', +} as const + +export function useSkillPermissions() { + const permissionKeys = useAtomValue(workspacePermissionKeysAtom) + + return { + canEdit: hasPermission(permissionKeys, SkillPermission.Edit), + canPublish: hasPermission(permissionKeys, SkillPermission.Publish), + canDelete: hasPermission(permissionKeys, SkillPermission.Delete), + } +}