import { BasePolicy } from '@adonisjs/bouncer' import type { AuthorizerResponse } from '@adonisjs/bouncer/types' import Admins from '#base_modules/Admin/model/admin' import { getAdminPermissionSlugs } from '#services/permission_service' export default class RolePolicy extends BasePolicy { async roleList(user: Admins): Promise { if (!user) return false const perms = await getAdminPermissionSlugs(user) return perms.has('role.view') } async viewRole(user: Admins): Promise { if (!user) return false const perms = await getAdminPermissionSlugs(user) return perms.has('role.view') } async createRole(user: Admins): Promise { if (!user) return false const perms = await getAdminPermissionSlugs(user) return perms.has('role.create') } async updateRole(user: Admins): Promise { if (!user) return false const perms = await getAdminPermissionSlugs(user) return perms.has('role.update') } async deleteRole(user: Admins): Promise { if (!user) return false const perms = await getAdminPermissionSlugs(user) return perms.has('role.delete') } }