chore: ticket service but not tested

This commit is contained in:
mahyargdz
2025-01-28 20:08:43 +03:30
parent 239099bb15
commit 1d11509371
28 changed files with 368 additions and 73 deletions
+54 -4
View File
@@ -1,10 +1,60 @@
import { Controller } from "@nestjs/common";
import { ApiTags } from "@nestjs/swagger";
import { Body, Controller, Get, HttpCode, HttpStatus, Param, Patch, Post, Query } from "@nestjs/common";
import { ApiOperation, ApiTags } from "@nestjs/swagger";
// import { TicketsService } from "./providers/tickets.service";
import { CreateTicketCategoryDto } from "./DTO/create-ticket-category.dto";
import { SearchTicketCategoryDto } from "./DTO/search-ticket-category.dto";
import { UpdateTicketCategoryDto } from "./DTO/update-ticket-category.dto";
import { TicketsService } from "./providers/tickets.service";
import { AuthGuards } from "../../common/decorators/auth-guard.decorator";
import { Pagination } from "../../common/decorators/pagination.decorator";
import { Roles } from "../../common/decorators/roles.decorator";
import { ParamDto } from "../../common/DTO/param.dto";
import { RoleEnum } from "../users/enums/role.enum";
@Controller("tickets")
@ApiTags("Tickets")
export class TicketsController {
// constructor(private readonly ticketsService: TicketsService) {}
constructor(private readonly ticketsService: TicketsService) {}
@ApiOperation({ summary: "Create ticket category => admin route" })
@AuthGuards()
@Roles(RoleEnum.ADMIN)
@Post("category")
createTicketCategory(@Body() createDto: CreateTicketCategoryDto) {
return this.ticketsService.createTicketCategory(createDto);
}
@ApiOperation({ summary: "Update ticket category => admin route" })
@AuthGuards()
@Roles(RoleEnum.ADMIN)
@Patch("category/:id")
updateCategory(@Param() paramDto: ParamDto, @Body() updateCategoryDto: UpdateTicketCategoryDto) {
return this.ticketsService.updateCategory(paramDto, updateCategoryDto);
}
@ApiOperation({ summary: "Get ticket categories => admin route" })
@AuthGuards()
@Roles(RoleEnum.ADMIN)
@Get("categories")
getTicketCategories() {
return this.ticketsService.getTicketCategories();
}
@ApiOperation({ summary: "Get ticket categories list => admin route" })
@Pagination()
@AuthGuards()
@Roles(RoleEnum.ADMIN)
@Get("categories-list")
getCategoriesList(@Query() queryDto: SearchTicketCategoryDto) {
return this.ticketsService.getCategoriesList(queryDto);
}
@ApiOperation({ summary: "toggle status of categories => admin route" })
@AuthGuards()
@Roles(RoleEnum.ADMIN)
@HttpCode(HttpStatus.OK)
@Post("category/toggle-status/:id")
toggleCategoryStatus(@Param() paramDto: ParamDto) {
return this.ticketsService.toggleCategoryStatus(paramDto);
}
}