Skip to content

requires

requires(…rules): PipelineBehaviorTuple<CaslBehavior, CaslBehaviorOptions>

Defined in: packages/pipeline-casl/src/helpers/requires.ts:29

[CaslBehavior, { rules }] for pipeline.wrap(); every requirement must pass.

…[AbilityRequirement, ...AbilityRequirement[]]

PipelineBehaviorTuple<CaslBehavior, CaslBehaviorOptions>

class Users {
@pipeline.wrap({ kind: 'query' }, requires({ action: 'read', subject: 'User' }))
async find(query: GetUserQuery) {}
}
class Posts {
@pipeline.wrap(
{ kind: 'command' },
requires(
{ action: 'update', subject: 'Post', field: 'title' },
{ action: 'update', subject: 'Post', field: 'body' },
),
)
async edit(command: EditPostCommand) {}
}