Add initial project files

This commit is contained in:
Igor Martyniuk
2026-09-01 13:03:41 +03:00
parent 22e111bb44
commit 74cb5b6176
1841 changed files with 242819 additions and 30 deletions
@@ -0,0 +1,36 @@
import { BasePolicy } from '@adonisjs/bouncer'
import type { AuthorizerResponse } from '@adonisjs/bouncer/types'
import Admin from '#base_modules/Admin/model/admin'
import { getAdminPermissionSlugs } from '#services/permission_service'
export default class WebManagerPolicy extends BasePolicy {
view(user: Admin): Promise<AuthorizerResponse> {
return this.hasPermission(user, 'web_manager.view')
}
create(user: Admin): Promise<AuthorizerResponse> {
return this.hasPermission(user, 'web_manager.create')
}
update(user: Admin): Promise<AuthorizerResponse> {
return this.hasPermission(user, 'web_manager.update')
}
publish(user: Admin): Promise<AuthorizerResponse> {
return this.hasPermission(user, 'web_manager.publish')
}
delete(user: Admin): Promise<AuthorizerResponse> {
return this.hasPermission(user, 'web_manager.delete')
}
manageSettings(user: Admin): Promise<AuthorizerResponse> {
return this.hasPermission(user, 'web_manager.settings')
}
private async hasPermission(user: Admin, permission: string) {
if (!user) return false
const permissions = await getAdminPermissionSlugs(user)
return permissions.has(permission)
}
}