From e711ffd3ee2c253d41676b9d123629747faad726 Mon Sep 17 00:00:00 2001 From: mahyargdz Date: Fri, 21 Feb 2025 14:26:59 +0330 Subject: [PATCH] fix: add isAdmin to jwt token --- src/modules/auth/strategies/jwt.strategy.ts | 2 +- src/modules/tickets/providers/tickets.service.ts | 1 - .../tickets/repositories/tickets-message.repository.ts | 6 ++++-- src/modules/tickets/tickets.controller.ts | 9 ++++++++- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/modules/auth/strategies/jwt.strategy.ts b/src/modules/auth/strategies/jwt.strategy.ts index db69562..7d6772b 100644 --- a/src/modules/auth/strategies/jwt.strategy.ts +++ b/src/modules/auth/strategies/jwt.strategy.ts @@ -17,7 +17,7 @@ export class JwtStrategy extends PassportStrategy(Strategy, JWT_STRATEGY_NAME) { } async validate(payload: ITokenPayload) { - return { id: payload.id, permissions: payload.permissions }; + return { id: payload.id, permissions: payload.permissions, isAdmin: payload.isAdmin }; // return { id: payload.id, roles: payload.roles, permissions: payload.permissions }; } } diff --git a/src/modules/tickets/providers/tickets.service.ts b/src/modules/tickets/providers/tickets.service.ts index 342d535..941821e 100644 --- a/src/modules/tickets/providers/tickets.service.ts +++ b/src/modules/tickets/providers/tickets.service.ts @@ -270,7 +270,6 @@ export class TicketsService { async getTicketMessages(ticketId: string, userId: string, isAdmin: boolean) { let ticket: null | Ticket = null; - // if (isAdmin) { ticket = await this.ticketsRepository.findTicketById(ticketId); diff --git a/src/modules/tickets/repositories/tickets-message.repository.ts b/src/modules/tickets/repositories/tickets-message.repository.ts index fa02d6d..b39f23f 100644 --- a/src/modules/tickets/repositories/tickets-message.repository.ts +++ b/src/modules/tickets/repositories/tickets-message.repository.ts @@ -13,7 +13,9 @@ export class TicketMessagesRepository extends Repository { async findMessagesByTicketId(ticketId: string): Promise { return this.find({ relations: { - author: true, + author: { + roles: true, + }, attachments: true, // ticket: true, }, @@ -31,7 +33,7 @@ export class TicketMessagesRepository extends Repository { lastName: true, roles: { id: true, - name: false, + name: true, }, }, }, diff --git a/src/modules/tickets/tickets.controller.ts b/src/modules/tickets/tickets.controller.ts index 49abdab..5ec9eb4 100644 --- a/src/modules/tickets/tickets.controller.ts +++ b/src/modules/tickets/tickets.controller.ts @@ -13,6 +13,7 @@ import { Pagination } from "../../common/decorators/pagination.decorator"; import { PermissionsDec } from "../../common/decorators/permission.decorator"; import { UserDec } from "../../common/decorators/user.decorator"; import { ParamDto } from "../../common/DTO/param.dto"; +import { User } from "../users/entities/user.entity"; import { PermissionEnum } from "../users/enums/permission.enum"; @Controller("tickets") @@ -105,7 +106,13 @@ export class TicketsController { @ApiOperation({ summary: "Get all ticket messages of user" }) @AuthGuards() @Get(":id/messages") - getTicketMessages(@Param() paramDto: ParamDto, @UserDec("id") userId: string, @UserDec("isAdmin") isAdmin: boolean) { + getTicketMessages( + @Param() paramDto: ParamDto, + @UserDec("id") userId: string, + @UserDec("isAdmin") isAdmin: boolean, + @UserDec() user: User, + ) { + console.log(user); return this.ticketsService.getTicketMessages(paramDto.id, userId, isAdmin); }