fix: bug in the assign to user check

This commit is contained in:
mahyargdz
2025-03-03 12:34:33 +03:30
parent 3278e07d95
commit ab72fedfb8
@@ -252,6 +252,8 @@ export class TicketsService {
if (ticket.status === TicketStatus.CLOSED) throw new BadRequestException(TicketMessageEnum.TICKET_CLOSED); if (ticket.status === TicketStatus.CLOSED) throw new BadRequestException(TicketMessageEnum.TICKET_CLOSED);
const isSuperAdmin = await this.usersService.isSuperAdmin(userId); const isSuperAdmin = await this.usersService.isSuperAdmin(userId);
console.log(isSuperAdmin);
console.log(ticket.assignedTo);
if (!isSuperAdmin && ticket.assignedTo?.id !== userId) throw new BadRequestException(TicketMessageEnum.TICKET_NOT_ASSIGNED_TO_USER); if (!isSuperAdmin && ticket.assignedTo?.id !== userId) throw new BadRequestException(TicketMessageEnum.TICKET_NOT_ASSIGNED_TO_USER);
const user = await queryRunner.manager.findOneBy(User, { id: userId }); const user = await queryRunner.manager.findOneBy(User, { id: userId });
@@ -351,6 +353,7 @@ export class TicketsService {
if (users.length === 0) return null; if (users.length === 0) return null;
users.sort((a, b) => (a.tickets.length || 0) - (b.tickets.length || 0)); users.sort((a, b) => (a.tickets.length || 0) - (b.tickets.length || 0));
console.log(users);
return users[0]; return users[0];
} }
@@ -393,8 +396,11 @@ export class TicketsService {
private async findTicket(queryRunner: QueryRunner, ticketId: string, userId: string, isAdmin: boolean): Promise<Ticket> { private async findTicket(queryRunner: QueryRunner, ticketId: string, userId: string, isAdmin: boolean): Promise<Ticket> {
const ticket = isAdmin const ticket = isAdmin
? await queryRunner.manager.findOne(Ticket, { where: { id: ticketId }, relations: { user: true } }) ? await queryRunner.manager.findOne(Ticket, { where: { id: ticketId }, relations: { user: true, assignedTo: true } })
: await queryRunner.manager.findOne(Ticket, { where: { id: ticketId, user: { id: userId } }, relations: { user: true } }); : await queryRunner.manager.findOne(Ticket, {
where: { id: ticketId, user: { id: userId } },
relations: { user: true, assignedTo: true },
});
if (!ticket) throw new BadRequestException(TicketMessageEnum.TICKET_NOT_FOUND); if (!ticket) throw new BadRequestException(TicketMessageEnum.TICKET_NOT_FOUND);
return ticket; return ticket;