Files
admin/apps/backend/app/templates/backend/policy.hbs
T

37 lines
1.3 KiB
Handlebars
Executable File

import { BasePolicy } from '@adonisjs/bouncer'
import type { AuthorizerResponse } from '@adonisjs/bouncer/types'
import { getAdminPermissionSlugs } from '#services/permission_service'
import Admins from '#base_modules/Admin/model/admin'
export default class {{pascalCaseName}}Policy extends BasePolicy {
async view{{pascalCaseName}}List(user: Admins): Promise<AuthorizerResponse> {
if (!user) return false
const perms = await getAdminPermissionSlugs(await user)
return perms.has('{{name}}s.view')
}
async view{{pascalCaseName}}(user: Admins): Promise<AuthorizerResponse> {
if (!user) return false
const perms = await getAdminPermissionSlugs(await user)
return perms.has('{{name}}s.view')
}
async create{{pascalCaseName}}(user: Admins): Promise<AuthorizerResponse> {
if (!user) return false
const perms = await getAdminPermissionSlugs(await user)
return perms.has('{{name}}s.create')
}
async update{{pascalCaseName}}(user: Admins): Promise<AuthorizerResponse> {
if (!user) return false
const perms = await getAdminPermissionSlugs(await user)
return perms.has('{{name}}s.update')
}
async delete{{pascalCaseName}}(user: Admins): Promise<AuthorizerResponse> {
if (!user) return false
const perms = await getAdminPermissionSlugs(await user)
return perms.has('{{name}}s.delete')
}
}