File tree Expand file tree Collapse file tree 6 files changed +16
-9
lines changed
generators/auth/templates Expand file tree Collapse file tree 6 files changed +16
-9
lines changed Original file line number Diff line number Diff line change 11import { applyDecorators , SetMetadata , UseGuards } from '@nestjs/common' ;
22import JwtAccessGuard from '@guards/jwt-access.guard' ;
33import RolesGuard from '@guards/roles.guard' ;
4- import { RolesAuthType } from '@decorators/roles.decorator' ;
4+ import { RolesEnum } from '@decorators/roles.decorator' ;
55
6- export default function Auth ( roles : RolesAuthType ) {
6+ export default function Auth ( ... roles : RolesEnum [ ] ) {
77 return applyDecorators (
88 SetMetadata ( 'roles' , roles ) ,
99 UseGuards ( JwtAccessGuard , RolesGuard ) ,
Original file line number Diff line number Diff line change @@ -5,6 +5,4 @@ export enum RolesEnum {
55 USER = 'user'
66}
77
8- export type RolesAuthType = RolesEnum [ ] | RolesEnum | void ;
9-
108export const Roles = ( ...roles : RolesEnum [ ] ) => SetMetadata ( 'roles' , roles ) ;
Original file line number Diff line number Diff line change 1+ import _ from 'lodash' ;
12import { Request } from 'express' ;
23import { CanActivate , ExecutionContext , Injectable } from '@nestjs/common' ;
34import { Reflector } from '@nestjs/core' ;
@@ -14,7 +15,7 @@ export default class RolesGuard implements CanActivate {
1415 async canActivate ( context : ExecutionContext ) : Promise < boolean > {
1516 const roles = this . reflector . get < RolesEnum [ ] > ( 'roles' , context . getHandler ( ) ) ;
1617
17- if ( ! roles ) {
18+ if ( _ . isEmpty ( roles ) ) {
1819 return true ;
1920 }
2021
Original file line number Diff line number Diff line change 1+ import _ from 'lodash' ;
12import {
23 CanActivate ,
34 ExecutionContext ,
@@ -6,17 +7,21 @@ import {
67} from '@nestjs/common' ;
78import { Reflector } from '@nestjs/core' ;
89
10+ import { RolesEnum } from '@decorators/roles.decorator' ;
11+
912@Injectable ( )
1013export default class RolesGuard implements CanActivate {
1114 constructor (
1215 private reflector : Reflector ,
1316 ) { }
1417
1518 async canActivate ( context : ExecutionContext ) : Promise < boolean > {
16- const roles = this . reflector . get < string [ ] > ( 'roles' , context . getHandler ( ) ) ;
17- if ( ! roles ) {
19+ const roles = this . reflector . get < RolesEnum [ ] > ( 'roles' , context . getHandler ( ) ) ;
20+
21+ if ( _ . isEmpty ( roles ) ) {
1822 return true ;
1923 }
24+
2025 const req = context . switchToHttp ( ) . getRequest ( ) ;
2126 if ( req . isUnauthenticated ( ) ) {
2227 throw new UnauthorizedException ( 'Login please' ) ;
Original file line number Diff line number Diff line change 1+ import _ from 'lodash' ;
12import { CanActivate , ExecutionContext , Injectable } from '@nestjs/common' ;
23import { Reflector } from '@nestjs/core' ;
34import { RolesEnum } from "@decorators/roles.decorator" ;
@@ -10,7 +11,8 @@ export default class RolesGuard implements CanActivate {
1011
1112 async canActivate ( context : ExecutionContext ) : Promise < boolean > {
1213 const roles = this . reflector . get < RolesEnum [ ] > ( 'roles' , context . getHandler ( ) ) ;
13- if ( ! roles ) {
14+
15+ if ( _ . isEmpty ( roles ) ) {
1416 return true ;
1517 }
1618
Original file line number Diff line number Diff line change 1+ import _ from 'lodash' ;
12import {
23 CanActivate ,
34 ExecutionContext ,
@@ -17,7 +18,7 @@ export default class RolesGuard implements CanActivate {
1718 async canActivate ( context : ExecutionContext ) : Promise < boolean > {
1819 const roles = this . reflector . get < RolesEnum [ ] > ( 'roles' , context . getHandler ( ) ) ;
1920
20- if ( ! roles ) {
21+ if ( _ . isEmpty ( roles ) ) {
2122 return true ;
2223 }
2324
You can’t perform that action at this time.
0 commit comments