diff --git a/src/server/routes/atendimentos.ts b/src/server/routes/atendimentos.ts index e350912..2ecf9b0 100644 --- a/src/server/routes/atendimentos.ts +++ b/src/server/routes/atendimentos.ts @@ -28,7 +28,24 @@ router.get("/agendamentos", async (req, res) => { if (data) { try { - const parsedDate = parseISO(data as string); + // Validar se o formato da data é válido + if (typeof data !== 'string') { + return res.status(400).json({ + error: "Formato de data inválido", + details: "O parâmetro 'data' deve ser uma string." + }); + } + + const parsedDate = parseISO(data); + + // Verificar se a data é válida após a conversão + if (isNaN(parsedDate.getTime())) { + return res.status(400).json({ + error: "Data inválida", + details: "A data fornecida não pode ser interpretada corretamente." + }); + } + console.log("Data parseada:", parsedDate); const weekStart = startOfWeek(parsedDate, { locale: ptBR }); @@ -47,6 +64,10 @@ router.get("/agendamentos", async (req, res) => { }; } catch (parseError) { console.error("Erro ao analisar data:", parseError); + return res.status(400).json({ + error: "Erro ao processar data", + details: "O formato da data fornecida é inválido." + }); } }