From 2bf5caadce00bca0505108789420629a5ed6e9a9 Mon Sep 17 00:00:00 2001 From: canove Date: Sat, 19 Sep 2020 21:14:25 -0300 Subject: [PATCH] change delete ticket route to typescript --- backend/src/controllers/TicketController.ts | 48 ++++++------------- backend/src/controllers/WhatsAppController.ts | 4 +- backend/src/routes/ticketRoutes.ts | 2 +- .../TicketServices/DeleteTicketService.ts | 16 +++++++ .../TicketServices/UpdateTicketService.ts | 10 +++- ...pprService.ts => DeleteWhatsAppService.ts} | 0 6 files changed, 43 insertions(+), 37 deletions(-) create mode 100644 backend/src/services/TicketServices/DeleteTicketService.ts rename backend/src/services/WhatsappService/{DeleteWhatsApprService.ts => DeleteWhatsAppService.ts} (100%) diff --git a/backend/src/controllers/TicketController.ts b/backend/src/controllers/TicketController.ts index dfaca0b..bad73ae 100644 --- a/backend/src/controllers/TicketController.ts +++ b/backend/src/controllers/TicketController.ts @@ -2,6 +2,7 @@ import { Request, Response } from "express"; import GetDefaultWhatsapp from "../helpers/GetDefaultWhatsapp"; import Ticket from "../models/Ticket"; import CreateTicketService from "../services/TicketServices/CreateTicketService"; +import DeleteTicketService from "../services/TicketServices/DeleteTicketService"; import ListTicketsService from "../services/TicketServices/ListTicketsService"; import UpdateTicketService from "../services/TicketServices/UpdateTicketService"; // const Sequelize = require("sequelize"); @@ -118,28 +119,12 @@ export const update = async ( req: Request, res: Response ): Promise => { - // const io = getIO(); const { ticketId } = req.params; const ticketData: TicketData = req.body; const ticket = await UpdateTicketService({ ticketData, ticketId }); - // const ticket = await Ticket.findByPk(ticketId, { - // include: [ - // { - // model: Contact, - // as: "contact", - // attributes: ["name", "number", "profilePicUrl"] - // } - // ] - // }); - - // if (!ticket) { - // return res.status(404).json({ error: "No ticket found with this ID" }); - // } - - // await ticket.update(req.body); - + // const io = getIO(); // io.to("notification").emit("ticket", { // action: "updateStatus", // ticket: ticket @@ -148,22 +133,19 @@ export const update = async ( return res.status(200).json(ticket); }; -// export const remove = (req: Request, res: Response): Promise => { -// const io = getIO(); -// const { ticketId } = req.params; +export const remove = async ( + req: Request, + res: Response +): Promise => { + const { ticketId } = req.params; -// const ticket = await Ticket.findByPk(ticketId); + await DeleteTicketService(ticketId); -// if (!ticket) { -// return res.status(400).json({ error: "No ticket found with this ID" }); -// } + // const io = getIO(); + // io.to("notification").emit("ticket", { + // action: "delete", + // ticketId: ticket.id + // }); -// await ticket.destroy(); - -// io.to("notification").emit("ticket", { -// action: "delete", -// ticketId: ticket.id -// }); - -// return res.status(200).json({ message: "ticket deleted" }); -// }; + return res.status(200).json({ message: "ticket deleted" }); +}; diff --git a/backend/src/controllers/WhatsAppController.ts b/backend/src/controllers/WhatsAppController.ts index 5cf4e17..9dca11f 100644 --- a/backend/src/controllers/WhatsAppController.ts +++ b/backend/src/controllers/WhatsAppController.ts @@ -1,7 +1,7 @@ import { Request, Response } from "express"; import CreateWhatsAppService from "../services/WhatsappService/CreateWhatsAppService"; -import DeleteWhatsApprService from "../services/WhatsappService/DeleteWhatsApprService"; +import DeleteWhatsAppService from "../services/WhatsappService/DeleteWhatsAppService"; import ListWhatsAppsService from "../services/WhatsappService/ListWhatsAppsService"; import FindWhatsAppService from "../services/WhatsappService/FindWhatsAppService"; import UpdateWhatsAppService from "../services/WhatsappService/UpdateWhatsAppService"; @@ -91,7 +91,7 @@ export const remove = async ( // const io = getIO(); const { whatsappId } = req.params; - await DeleteWhatsApprService(whatsappId); + await DeleteWhatsAppService(whatsappId); // removeWbot(whatsapp.id); // io.emit("whatsapp", { diff --git a/backend/src/routes/ticketRoutes.ts b/backend/src/routes/ticketRoutes.ts index 3a17fda..1627be2 100644 --- a/backend/src/routes/ticketRoutes.ts +++ b/backend/src/routes/ticketRoutes.ts @@ -11,6 +11,6 @@ ticketRoutes.post("/tickets", isAuth, TicketController.store); ticketRoutes.put("/tickets/:ticketId", isAuth, TicketController.update); -// ticketRoutes.delete("/tickets/:ticketId", isAuth, TicketController.remove); +ticketRoutes.delete("/tickets/:ticketId", isAuth, TicketController.remove); export default ticketRoutes; diff --git a/backend/src/services/TicketServices/DeleteTicketService.ts b/backend/src/services/TicketServices/DeleteTicketService.ts new file mode 100644 index 0000000..9e1f579 --- /dev/null +++ b/backend/src/services/TicketServices/DeleteTicketService.ts @@ -0,0 +1,16 @@ +import Ticket from "../../models/Ticket"; +import AppError from "../../errors/AppError"; + +const DeleteTicketService = async (id: string): Promise => { + const ticket = await Ticket.findOne({ + where: { id } + }); + + if (!ticket) { + throw new AppError("No ticket found with this ID.", 404); + } + + await ticket.destroy(); +}; + +export default DeleteTicketService; diff --git a/backend/src/services/TicketServices/UpdateTicketService.ts b/backend/src/services/TicketServices/UpdateTicketService.ts index 342f0c5..303a91d 100644 --- a/backend/src/services/TicketServices/UpdateTicketService.ts +++ b/backend/src/services/TicketServices/UpdateTicketService.ts @@ -1,4 +1,5 @@ import AppError from "../../errors/AppError"; +import Contact from "../../models/Contact"; import Ticket from "../../models/Ticket"; interface TicketData { @@ -18,7 +19,14 @@ const UpdateTicketService = async ({ const { status, userId } = ticketData; const ticket = await Ticket.findOne({ - where: { id: ticketId } + where: { id: ticketId }, + include: [ + { + model: Contact, + as: "contact", + attributes: ["name", "number", "profilePicUrl"] + } + ] }); if (!ticket) { diff --git a/backend/src/services/WhatsappService/DeleteWhatsApprService.ts b/backend/src/services/WhatsappService/DeleteWhatsAppService.ts similarity index 100% rename from backend/src/services/WhatsappService/DeleteWhatsApprService.ts rename to backend/src/services/WhatsappService/DeleteWhatsAppService.ts