diff --git a/src/server/index.ts b/src/server/index.ts index 1430027..0845680 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -1169,10 +1169,26 @@ app.post("/api/atendimentos", authMiddleware, async (req, res) => { } }); -// Adicionar rota para buscar atendimento específico +// Adicionar função de validação de UUID (não incluir se já existir) +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); +} + +// Corrigir a rota para incluir validação de UUID app.get("/api/atendimentos/:id", async (req, res) => { try { const { id } = req.params; + + // Validar se o ID é um UUID válido + 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 }, include: {