feat: wip casl policies (#334)

* feat: wip casl policies

* feat: add ability guard on pipeline resolvers

* fix: test
This commit is contained in:
Jérémy M
2023-06-21 04:31:11 +02:00
committed by GitHub
parent 294b290939
commit b179d1f1f0
44 changed files with 1190 additions and 55 deletions

View File

@ -0,0 +1,6 @@
import { SetMetadata } from '@nestjs/common';
import { AbilityHandler } from 'src/ability/interfaces/ability-handler.interface';
export const CHECK_ABILITIES_KEY = 'check_abilities';
export const CheckAbilities = (...handlers: AbilityHandler[]) =>
SetMetadata(CHECK_ABILITIES_KEY, handlers);

View File

@ -0,0 +1,10 @@
import { createParamDecorator, ExecutionContext } from '@nestjs/common';
import { getRequest } from 'src/utils/extract-request';
export const UserAbility = createParamDecorator(
(_: unknown, context: ExecutionContext) => {
const request = getRequest(context);
return request.ability;
},
);