attachment
This commit is contained in:
+67
@@ -0,0 +1,67 @@
|
||||
import { Body, Controller, Delete, Get, Param, Patch, Post, Query } from "@nestjs/common";
|
||||
import { ApiOperation, ApiTags } from "@nestjs/swagger";
|
||||
import { CreateTicketDto } from "../DTO/create-ticket.dto";
|
||||
import { FindTicketQueryDto } from "../DTO/search-ticket-query.dto";
|
||||
import { TicketService } from "../providers/tickets.service";
|
||||
import { UserId } from "src/common/decorators";
|
||||
import { AdminId } from "src/common/decorators/admin-id.decorator";
|
||||
import { UpdateTicketDto } from "../DTO/update-ticket.dto";
|
||||
|
||||
@Controller()
|
||||
@ApiTags("Tickets")
|
||||
|
||||
export class TicketController {
|
||||
constructor(private readonly ticketsService: TicketService) { }
|
||||
|
||||
@Post('public/ticket/order/:orderId')
|
||||
@ApiOperation({ summary: "create ticket ==> user route" })
|
||||
createTicket(@Param('orderId') orderId: string, @Body() createDto: CreateTicketDto, @UserId() userId: string) {
|
||||
return this.ticketsService.createTicket(orderId, createDto, userId);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation({ summary: "Get all order tickets ==> user route" })
|
||||
@Get('public/ticket/order/:orderId')
|
||||
getTickets(@Query() queryDto: FindTicketQueryDto, @Param('orderId') orderId: string, @UserId() userId: string) {
|
||||
return this.ticketsService.getTickets(orderId, queryDto, userId);
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "Delete Ticket ==> admin route" })
|
||||
@Delete('public/ticket/:ticketId')
|
||||
deleteTicket(@Param('ticketId') ticketId: string, @UserId() userId: string) {
|
||||
return this.ticketsService.deleteTicket(ticketId, userId);
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "Delete Ticket ==> admin route" })
|
||||
@Patch('public/ticket/:ticketId')
|
||||
updateTicket(@Param('ticketId') ticketId: string, @UserId() userId: string, @Body() body: UpdateTicketDto) {
|
||||
return this.ticketsService.updateTicket(ticketId, body, userId,);
|
||||
}
|
||||
|
||||
/*=========================== Admin ============================== */
|
||||
|
||||
@ApiOperation({ summary: "Delete Ticket ==> admin route" })
|
||||
@Delete('admin/ticket/:ticketId')
|
||||
deleteTicketAsAdmin(@Param('ticketId') ticketId: string) {
|
||||
return this.ticketsService.deleteTicket(ticketId);
|
||||
}
|
||||
|
||||
@Post('admin/ticket/order/:orderId')
|
||||
@ApiOperation({ summary: "create ticket ==> admin route" })
|
||||
createTicketAsAdmin(@Param('orderId') orderId: string, @Body() createDto: CreateTicketDto, @AdminId() adminId: string) {
|
||||
return this.ticketsService.createTicket(orderId, createDto, undefined, adminId);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation({ summary: "Get all order tickets ==> admin route" })
|
||||
@Get('admin/ticket/order/:orderId')
|
||||
getTicketsAsAdmin(@Query() queryDto: FindTicketQueryDto, @Param('orderId') orderId: string) {
|
||||
return this.ticketsService.getTickets(orderId, queryDto);
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "Delete Ticket ==> admin route" })
|
||||
@Patch('admin/ticket/:ticketId')
|
||||
updateTicketAsAdmin(@Param('ticketId') ticketId: string, @Body() body: UpdateTicketDto) {
|
||||
return this.ticketsService.updateTicket(ticketId, body);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user