fix: add isAdmin to jwt token
This commit is contained in:
@@ -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,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user