Skip to content

Commit ba21335

Browse files
committed
feature: update roles enum and update auth guard
1 parent baf8709 commit ba21335

File tree

42 files changed

+65
-67
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+65
-67
lines changed

generators/auth/templates/mongodb/jwt/src/decorators/auth.decorator.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
import { applyDecorators, SetMetadata, UseGuards } from '@nestjs/common';
22
import JwtAccessGuard from '@guards/jwt-access.guard';
33
import RolesGuard from '@guards/roles.guard';
4+
import { RolesAuthType } from '@decorators/roles.decorator';
45

5-
enum RolesEnum {
6-
admin = 'admin',
7-
user = 'user',
8-
}
9-
10-
export default function Auth(...roles: RolesEnum[]) {
6+
export default function Auth(roles: RolesAuthType) {
117
return applyDecorators(
128
SetMetadata('roles', roles),
139
UseGuards(JwtAccessGuard, RolesGuard),
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import { SetMetadata } from '@nestjs/common';
22

33
export enum RolesEnum {
4-
admin = 'admin',
5-
user = 'user'
4+
ADMIN = 'admin',
5+
USER = 'user'
66
}
77

8+
export type RolesAuthType = RolesEnum[] | RolesEnum | void;
9+
810
export const Roles = (...roles: RolesEnum[]) => SetMetadata('roles', roles);

generators/auth/templates/mongodb/jwt/src/guards/roles.guard.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ export default class RolesGuard implements CanActivate {
1818
const request: Request = context.switchToHttp().getRequest();
1919
const user = request.user as UserDocument;
2020

21-
return user.role === RolesEnum.admin || roles.includes(user.role);
21+
return user.role === RolesEnum.ADMIN || roles.includes(user.role);
2222
}
2323
}

generators/auth/templates/mongodb/jwt/src/modules/v1/auth/auth.controller.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ export default class AuthController {
249249
})
250250
@ApiBearerAuth()
251251
@HttpCode(HttpStatus.NO_CONTENT)
252-
@Auth(RolesEnum.admin)
252+
@Auth(RolesEnum.ADMIN)
253253
@Put('verify')
254254
async verifyUser(@Body() verifyUserDto: VerifyUserDto): Promise<User | null> {
255255
const foundUser = await this.usersService.getUnverifiedUserByEmail(
@@ -325,7 +325,7 @@ export default class AuthController {
325325
})
326326
@ApiBearerAuth()
327327
@Delete('logout-all')
328-
@Auth(RolesEnum.admin)
328+
@Auth(RolesEnum.ADMIN)
329329
@HttpCode(HttpStatus.NO_CONTENT)
330330
async logoutAll(): Promise<{}> {
331331
return this.authService.deleteAllTokens();

generators/auth/templates/mongodb/jwt/src/modules/v1/users/dto/user-response.dto.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export class UserResponseDto {
77
@Transform(({ value }) => value.toString(), { toPlainOnly: true })
88
_id: ObjectId = new ObjectId();
99

10-
role: RolesEnum = RolesEnum.user;
10+
role: RolesEnum = RolesEnum.USER;
1111

1212
verified: boolean = false;
1313

generators/auth/templates/mongodb/jwt/src/modules/v1/users/schemas/users.schema.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ export class User {
2727
@Prop({
2828
type: String,
2929
required: false,
30-
default: RolesEnum.user,
30+
default: RolesEnum.USER,
3131
})
32-
role: RolesEnum = RolesEnum.user;
32+
role: RolesEnum = RolesEnum.USER;
3333
}
3434

3535
export type UserDocument = User & Document;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { SetMetadata } from '@nestjs/common';
22

33
export enum RolesEnum {
4-
admin = 'admin',
5-
user = 'user'
4+
ADMIN = 'admin',
5+
USER = 'user'
66
}
77

88
export const Roles = (...roles: RolesEnum[]) => SetMetadata('roles', roles);

generators/auth/templates/mongodb/oauth2/src/modules/v1/users/dto/user-response.dto.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export class UserResponseDto {
1616

1717
lastName: string = '';
1818

19-
role: RolesEnum = RolesEnum.user;
19+
role: RolesEnum = RolesEnum.USER;
2020

2121
email: string = '';
2222

generators/auth/templates/mongodb/oauth2/src/modules/v1/users/schemas/users.schema.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ export class User {
3838
@Prop({
3939
type: String,
4040
required: false,
41-
default: RolesEnum.user,
41+
default: RolesEnum.USER,
4242
})
43-
role: RolesEnum = RolesEnum.user;
43+
role: RolesEnum = RolesEnum.USER;
4444
}
4545

4646
export type UserDocument = User & Document;

generators/auth/templates/mongodb/oauth2/src/modules/v1/users/users.controller.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export default class UsersController {
3737
@Get()
3838
@UseGuards(RolesGuard)
3939
@Serialize(UsersResponseDto)
40-
@Roles(RolesEnum.admin)
40+
@Roles(RolesEnum.ADMIN)
4141
async getAllVerified(): Promise<UserDocument[]> {
4242
return this.usersService.getAllVerified();
4343
}

0 commit comments

Comments
 (0)