fix: add isAdmin to jwt token

This commit is contained in:
mahyargdz
2025-02-21 14:26:59 +03:30
parent bf4a03cb47
commit e711ffd3ee
4 changed files with 13 additions and 5 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ export class JwtStrategy extends PassportStrategy(Strategy, JWT_STRATEGY_NAME) {
} }
async validate(payload: ITokenPayload) { 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 }; // return { id: payload.id, roles: payload.roles, permissions: payload.permissions };
} }
} }
@@ -270,7 +270,6 @@ export class TicketsService {
async getTicketMessages(ticketId: string, userId: string, isAdmin: boolean) { async getTicketMessages(ticketId: string, userId: string, isAdmin: boolean) {
let ticket: null | Ticket = null; let ticket: null | Ticket = null;
// //
if (isAdmin) { if (isAdmin) {
ticket = await this.ticketsRepository.findTicketById(ticketId); ticket = await this.ticketsRepository.findTicketById(ticketId);
@@ -13,7 +13,9 @@ export class TicketMessagesRepository extends Repository<TicketMessage> {
async findMessagesByTicketId(ticketId: string): Promise<TicketMessage[]> { async findMessagesByTicketId(ticketId: string): Promise<TicketMessage[]> {
return this.find({ return this.find({
relations: { relations: {
author: true, author: {
roles: true,
},
attachments: true, attachments: true,
// ticket: true, // ticket: true,
}, },
@@ -31,7 +33,7 @@ export class TicketMessagesRepository extends Repository<TicketMessage> {
lastName: true, lastName: true,
roles: { roles: {
id: true, id: true,
name: false, name: true,
}, },
}, },
}, },
+8 -1
View File
@@ -13,6 +13,7 @@ import { Pagination } from "../../common/decorators/pagination.decorator";
import { PermissionsDec } from "../../common/decorators/permission.decorator"; import { PermissionsDec } from "../../common/decorators/permission.decorator";
import { UserDec } from "../../common/decorators/user.decorator"; import { UserDec } from "../../common/decorators/user.decorator";
import { ParamDto } from "../../common/DTO/param.dto"; import { ParamDto } from "../../common/DTO/param.dto";
import { User } from "../users/entities/user.entity";
import { PermissionEnum } from "../users/enums/permission.enum"; import { PermissionEnum } from "../users/enums/permission.enum";
@Controller("tickets") @Controller("tickets")
@@ -105,7 +106,13 @@ export class TicketsController {
@ApiOperation({ summary: "Get all ticket messages of user" }) @ApiOperation({ summary: "Get all ticket messages of user" })
@AuthGuards() @AuthGuards()
@Get(":id/messages") @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); return this.ticketsService.getTicketMessages(paramDto.id, userId, isAdmin);
} }