refactor: change the role to roles and many to many
This commit is contained in:
@@ -2,8 +2,9 @@ import { UseGuards, applyDecorators } from "@nestjs/common";
|
||||
import { ApiBearerAuth } from "@nestjs/swagger";
|
||||
|
||||
import { JwtAuthGuard } from "../../modules/auth/guards/auth.guard";
|
||||
import { PermissionsGuard } from "../../modules/auth/guards/permission.guard";
|
||||
import { RoleGuard } from "../../modules/auth/guards/role.guard";
|
||||
|
||||
export function AuthGuards() {
|
||||
return applyDecorators(UseGuards(JwtAuthGuard, RoleGuard), ApiBearerAuth("authorization"));
|
||||
return applyDecorators(UseGuards(JwtAuthGuard, RoleGuard, PermissionsGuard), ApiBearerAuth("authorization"));
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
import { SetMetadata } from "@nestjs/common";
|
||||
|
||||
import { PermissionEnum } from "../../modules/users/enums/permission.enum";
|
||||
|
||||
export const PERMISSION_KEY = "permissions";
|
||||
export const PermissionsDec = (...permissions: PermissionEnum[]) => SetMetadata(PERMISSION_KEY, permissions);
|
||||
@@ -1,15 +1,16 @@
|
||||
import { ExecutionContext, createParamDecorator } from "@nestjs/common";
|
||||
import { FastifyRequest } from "fastify";
|
||||
|
||||
import { User } from "../../modules/users/entities/user.entity";
|
||||
import { ITokenPayload } from "../../modules/auth/interfaces/IToken-payload";
|
||||
|
||||
declare module "fastify" {
|
||||
interface FastifyRequest {
|
||||
user?: Omit<User, "password">;
|
||||
// user?: Omit<User, "password">;
|
||||
user?: ITokenPayload;
|
||||
}
|
||||
}
|
||||
|
||||
export const UserDec = createParamDecorator((data: keyof Omit<User, "password"> | undefined, ctx: ExecutionContext) => {
|
||||
export const UserDec = createParamDecorator((data: keyof ITokenPayload | undefined, ctx: ExecutionContext) => {
|
||||
const req = ctx.switchToHttp().getRequest<FastifyRequest>();
|
||||
const user = req.user;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user