feat: add user plan to the user ticket info for admin
This commit is contained in:
@@ -290,6 +290,7 @@ export const enum TicketMessageEnum {
|
|||||||
TICKET_LIMIT_NOT_FOUND = "محدودیت تعداد تیکت در پلن پشتیبانی شما یافت نشد",
|
TICKET_LIMIT_NOT_FOUND = "محدودیت تعداد تیکت در پلن پشتیبانی شما یافت نشد",
|
||||||
INVALID_TICKET_LIMIT = "محدودیت تعداد تیکت در پلن پشتیبانی شما نامعتبر است",
|
INVALID_TICKET_LIMIT = "محدودیت تعداد تیکت در پلن پشتیبانی شما نامعتبر است",
|
||||||
TICKET_LIMIT_EXCEEDED = "شما به محدودیت تعداد تیکت در پلن پشتیبانی خود رسیدهاید",
|
TICKET_LIMIT_EXCEEDED = "شما به محدودیت تعداد تیکت در پلن پشتیبانی خود رسیدهاید",
|
||||||
|
OPENED = "تیکت با موفقیت باز شد",
|
||||||
}
|
}
|
||||||
|
|
||||||
export const enum WalletMessage {
|
export const enum WalletMessage {
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ export class SupportPlansService {
|
|||||||
async getUserSupportPlanOfUser(userId: string) {
|
async getUserSupportPlanOfUser(userId: string) {
|
||||||
const userSupportPlan = await this.userSupportPlanRepo.findOne({
|
const userSupportPlan = await this.userSupportPlanRepo.findOne({
|
||||||
where: { user: { id: userId }, status: UserSupportPlanStatus.ACTIVE },
|
where: { user: { id: userId }, status: UserSupportPlanStatus.ACTIVE },
|
||||||
relations: { supportPlan: { features: true } },
|
relations: { supportPlan: true },
|
||||||
});
|
});
|
||||||
|
|
||||||
return { userSupportPlan };
|
return { userSupportPlan };
|
||||||
|
|||||||
@@ -286,9 +286,11 @@ export class TicketsService {
|
|||||||
if (!ticket) throw new BadRequestException(TicketMessageEnum.TICKET_NOT_FOUND);
|
if (!ticket) throw new BadRequestException(TicketMessageEnum.TICKET_NOT_FOUND);
|
||||||
|
|
||||||
const messages = await this.ticketMessagesRepository.findMessagesByTicketId(ticketId);
|
const messages = await this.ticketMessagesRepository.findMessagesByTicketId(ticketId);
|
||||||
|
const userSupportPlan = await this.supportPlansService.getUserSupportPlanOfUser(ticket.user.id);
|
||||||
return {
|
return {
|
||||||
ticket,
|
ticket,
|
||||||
messages,
|
messages,
|
||||||
|
supportPlan: userSupportPlan,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -312,6 +314,19 @@ export class TicketsService {
|
|||||||
message: TicketMessageEnum.CLOSED,
|
message: TicketMessageEnum.CLOSED,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
//******************************** * /
|
||||||
|
async openTicketByAdmin(ticketId: string) {
|
||||||
|
const ticket = await this.ticketsRepository.findTicketById(ticketId);
|
||||||
|
if (!ticket) throw new BadRequestException(TicketMessageEnum.TICKET_NOT_FOUND);
|
||||||
|
|
||||||
|
ticket.status = TicketStatus.PENDING;
|
||||||
|
await this.ticketsRepository.save(ticket);
|
||||||
|
|
||||||
|
return {
|
||||||
|
message: TicketMessageEnum.OPENED,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
//******************************** */
|
//******************************** */
|
||||||
async referTicket(ticketId: string, userId: string, referDto: ReferTicketDto) {
|
async referTicket(ticketId: string, userId: string, referDto: ReferTicketDto) {
|
||||||
const queryRunner = this.dataSource.createQueryRunner();
|
const queryRunner = this.dataSource.createQueryRunner();
|
||||||
|
|||||||
@@ -107,6 +107,14 @@ export class TicketsController {
|
|||||||
return this.ticketsService.closeTicketByUser(paramDto.id, userId, isAdmin);
|
return this.ticketsService.closeTicketByUser(paramDto.id, userId, isAdmin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation({ summary: "open ticket by admin" })
|
||||||
|
@AdminRoute()
|
||||||
|
@PermissionsDec(PermissionEnum.TICKETS)
|
||||||
|
@Post(":id/open")
|
||||||
|
openTicketByAdmin(@Param() paramDto: ParamDto) {
|
||||||
|
return this.ticketsService.openTicketByAdmin(paramDto.id);
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation({ summary: "referer ticket ==> admin route" })
|
@ApiOperation({ summary: "referer ticket ==> admin route" })
|
||||||
@AdminRoute()
|
@AdminRoute()
|
||||||
@PermissionsDec(PermissionEnum.TICKETS)
|
@PermissionsDec(PermissionEnum.TICKETS)
|
||||||
|
|||||||
Reference in New Issue
Block a user