Files
fullstack-fuware/src/lib/auth/permissions.ts
2025-12-22 10:47:15 +07:00

30 lines
864 B
TypeScript

import { defaultStatements, adminAc } from 'better-auth/plugins/admin/access'
import { createAccessControl } from 'better-auth/plugins/access'
const statement = {
...defaultStatements,
audit: ['list'],
setting: ['list', 'create', 'update', 'delete'],
house: ['list', 'create', 'update', 'delete'],
box: ['list', 'create', 'update', 'delete'],
item: ['list', 'create', 'update', 'delete'],
} as const
const ac = createAccessControl(statement)
const admin = ac.newRole({
...adminAc.statements,
audit: ['list'],
setting: ['list', 'create', 'update', 'delete'],
house: ['list', 'create', 'update', 'delete'],
box: ['list', 'create', 'update', 'delete'],
item: ['list', 'create', 'update', 'delete'],
})
const user = ac.newRole({
setting: ['list', 'update'],
house: ['list', 'create', 'update', 'delete'],
})
export { ac, admin, user }