chore: add the access log to the ticket

This commit is contained in:
mahyargdz
2025-09-03 13:29:34 +03:30
parent 5e0bd3dce7
commit 76fd4f3435
2 changed files with 132 additions and 26 deletions
+23 -16
View File
@@ -12,7 +12,7 @@ import { TicketsService } from "./providers/tickets.service";
import { AdminRoute } from "../../common/decorators/admin.decorator";
import { AuthGuards } from "../../common/decorators/auth-guard.decorator";
import { PermissionsDec } from "../../common/decorators/permission.decorator";
import { UserDec } from "../../common/decorators/user.decorator";
import { IUserIpAndHeaders, UserDec, UserIpAndHeaders } from "../../common/decorators/user.decorator";
import { ParamDto } from "../../common/DTO/param.dto";
import { PermissionEnum } from "../users/enums/permission.enum";
@Controller("tickets")
@@ -26,20 +26,23 @@ export class TicketsController {
@ApiOperation({ summary: "Create ticket category => admin route" })
@PermissionsDec(PermissionEnum.TICKETS)
@Post("category")
createTicketCategory(@Body() createDto: CreateTicketCategoryDto) {
return this.ticketsService.createTicketCategory(createDto);
createTicketCategory(@Body() createDto: CreateTicketCategoryDto, @UserIpAndHeaders() userIpAndHeaders: IUserIpAndHeaders) {
return this.ticketsService.createTicketCategory(createDto, userIpAndHeaders);
}
@ApiOperation({ summary: "Update ticket category => admin route" })
@PermissionsDec(PermissionEnum.TICKETS)
@Patch("category/:id")
updateCategory(@Param() paramDto: ParamDto, @Body() updateCategoryDto: UpdateTicketCategoryDto) {
return this.ticketsService.updateCategory(paramDto, updateCategoryDto);
updateCategory(
@Param() paramDto: ParamDto,
@Body() updateCategoryDto: UpdateTicketCategoryDto,
@UserIpAndHeaders() userIpAndHeaders: IUserIpAndHeaders,
) {
return this.ticketsService.updateCategory(paramDto, updateCategoryDto, userIpAndHeaders);
}
@ApiOperation({ summary: "Get ticket categories " })
@Get("categories")
// @PermissionsDec(PermissionEnum.TICKETS)
getTicketCategories() {
return this.ticketsService.getTicketCategories();
}
@@ -57,8 +60,8 @@ export class TicketsController {
@HttpCode(HttpStatus.OK)
@PermissionsDec(PermissionEnum.TICKETS)
@Post("category/toggle-status/:id")
toggleCategoryStatus(@Param() paramDto: ParamDto) {
return this.ticketsService.toggleCategoryStatus(paramDto);
toggleCategoryStatus(@Param() paramDto: ParamDto, @UserIpAndHeaders() userIpAndHeaders: IUserIpAndHeaders) {
return this.ticketsService.toggleCategoryStatus(paramDto, userIpAndHeaders);
}
//----------------- ticket and ticket messages -------------------
@@ -73,8 +76,8 @@ export class TicketsController {
@AdminRoute()
@PermissionsDec(PermissionEnum.TICKETS)
@Post("admin")
createTicketByAdmin(@Body() createDto: CreateTicketByAdminDto, @UserDec("id") adminId: string) {
return this.ticketsService.createTicketByAdmin(createDto, adminId);
createTicketByAdmin(@Body() createDto: CreateTicketByAdminDto, @UserIpAndHeaders() userIpAndHeaders: IUserIpAndHeaders) {
return this.ticketsService.createTicketByAdmin(createDto, userIpAndHeaders);
}
@ApiOperation({ summary: "Get all tickets of user ==> user route" })
@@ -111,23 +114,27 @@ export class TicketsController {
@ApiOperation({ summary: "close ticket by user or admin" })
@HttpCode(HttpStatus.OK)
@Post(":id/close")
closedTicketByUser(@Param() paramDto: ParamDto, @UserDec("id") userId: string, @UserDec("isAdmin") isAdmin: boolean) {
return this.ticketsService.closeTicketByUser(paramDto.id, userId, isAdmin);
closedTicketByUser(
@Param() paramDto: ParamDto,
@UserDec("isAdmin") isAdmin: boolean,
@UserIpAndHeaders() userIpAndHeaders: IUserIpAndHeaders,
) {
return this.ticketsService.closeTicketByUser(paramDto.id, isAdmin, userIpAndHeaders);
}
@ApiOperation({ summary: "open ticket by admin" })
@AdminRoute()
@PermissionsDec(PermissionEnum.TICKETS)
@Post(":id/open")
openTicketByAdmin(@Param() paramDto: ParamDto) {
return this.ticketsService.openTicketByAdmin(paramDto.id);
openTicketByAdmin(@Param() paramDto: ParamDto, @UserIpAndHeaders() userIpAndHeaders: IUserIpAndHeaders) {
return this.ticketsService.openTicketByAdmin(paramDto.id, userIpAndHeaders);
}
@ApiOperation({ summary: "referer ticket ==> admin route" })
@AdminRoute()
@PermissionsDec(PermissionEnum.TICKETS)
@Post(":id/refer")
referTicket(@Param() paramDto: ParamDto, @UserDec("id") userId: string, @Body() referDto: ReferTicketDto) {
return this.ticketsService.referTicket(paramDto.id, userId, referDto);
referTicket(@Param() paramDto: ParamDto, @Body() referDto: ReferTicketDto, @UserIpAndHeaders() userIpAndHeaders: IUserIpAndHeaders) {
return this.ticketsService.referTicket(paramDto.id, referDto, userIpAndHeaders);
}
}