From 6225a212f4a8879d695c033ba0b67544b8406439 Mon Sep 17 00:00:00 2001 From: Rodrigo Martins Date: Sat, 12 Apr 2025 21:53:15 -0300 Subject: [PATCH] Lint errors Signed-off-by: Rodrigo Martins --- src/server/routes/atendimentos.ts | 47 ++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/src/server/routes/atendimentos.ts b/src/server/routes/atendimentos.ts index 7e6e0de..e350912 100644 --- a/src/server/routes/atendimentos.ts +++ b/src/server/routes/atendimentos.ts @@ -12,6 +12,12 @@ const upload = multer({ storage: multer.memoryStorage() }); router.use(authMiddleware); +// Função auxiliar para validar se uma string é um UUID válido +function isValidUUID(uuid: string): boolean { + const regexUUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; + return regexUUID.test(uuid); +} + // Rota para listar agendamentos router.get("/agendamentos", async (req, res) => { try { @@ -151,6 +157,16 @@ router.put("/agendamentos/:id", async (req, res) => { try { const { id } = req.params; const { clienteId, data, observacoes, tipo } = req.body; + + // Validação do UUID antes de consultar o banco de dados + if (!isValidUUID(id)) { + console.error(`ID de agendamento inválido: ${id}. Não é um UUID válido.`); + return res.status(400).json({ + error: "ID de agendamento inválido", + details: "O formato do ID fornecido não é um UUID válido." + }); + } + console.log("Atualizando agendamento:", { id, clienteId, data, observacoes, tipo }); // Verificar se o agendamento existe @@ -200,6 +216,15 @@ router.delete("/agendamentos/:id", async (req, res) => { const { id } = req.params; console.log("Excluindo agendamento:", id); + // Validação do UUID antes de consultar o banco de dados + if (!isValidUUID(id)) { + console.error(`ID de agendamento inválido: ${id}. Não é um UUID válido.`); + return res.status(400).json({ + error: "ID de agendamento inválido", + details: "O formato do ID fornecido não é um UUID válido." + }); + } + // Verificar se o agendamento existe const agendamento = await prisma.agendamento.findUnique({ where: { id }, @@ -236,6 +261,15 @@ router.patch("/:id", async (req, res) => { const { id } = req.params; const { anexos, ...data } = req.body; + // Validação do UUID antes de consultar o banco de dados + if (!isValidUUID(id)) { + console.error(`ID de atendimento inválido: ${id}. Não é um UUID válido.`); + return res.status(400).json({ + error: "ID de atendimento inválido", + details: "O formato do ID fornecido não é um UUID válido." + }); + } + console.log("Atualizando atendimento:", id, { anexos, data }); // Debug log const atendimento = await prisma.atendimento.update({ @@ -302,9 +336,20 @@ router.post("/upload", upload.single("file"), async (req, res) => { router.get("/:id", async (req, res) => { try { + const { id } = req.params; + + // Validação do UUID antes de consultar o banco de dados + if (!isValidUUID(id)) { + console.error(`ID de atendimento inválido: ${id}. Não é um UUID válido.`); + return res.status(400).json({ + error: "ID de atendimento inválido", + details: "O formato do ID fornecido não é um UUID válido." + }); + } + const atendimento = await prisma.atendimento.findUnique({ where: { - id: req.params.id, + id: id, }, include: { cliente: true,