Advanced
Events
React to roles and permissions being attached or detached.
Events are disabled by default:
config/permissions.ts
defineConfig({
// ...
events: { enabled: true },
})
| Event | Payload |
|---|---|
permission:role_attached | RoleAttachedEvent |
permission:role_detached | RoleDetachedEvent |
permission:permission_attached | PermissionAttachedEvent |
permission:permission_detached | PermissionDetachedEvent |
Every payload has model, the role / permission (model or name) and the teamId.
start/events.ts
import emitter from '@adonisjs/core/services/emitter'
emitter.on('permission:role_attached', (event) => {
console.log(`Role ${event.role} attached to`, event.model.$primaryKeyValue)
})
