diff --git a/src/server/routes/atendimentos.ts b/src/server/routes/atendimentos.ts index f496d92..2b9028a 100644 --- a/src/server/routes/atendimentos.ts +++ b/src/server/routes/atendimentos.ts @@ -28,33 +28,32 @@ router.get("/agendamentos", async (req, res) => { if (data) { try { - // Simplificar a validação - aceitar qualquer formato de data válido + // Aceitar e validar o formato da data de forma mais flexível const parsedDate = new Date(data as string); // Verificar se a data é válida if (isNaN(parsedDate.getTime())) { - return res.status(400).json({ - error: "Data inválida", - details: "A data fornecida não pode ser interpretada corretamente." + console.error("Data inválida recebida:", data); + // Em vez de retornar erro, continue sem filtro + console.log("Continuando sem filtro de data devido a data inválida"); + } else { + console.log("Data parseada:", parsedDate); + + const weekStart = startOfWeek(parsedDate, { locale: ptBR }); + const weekEnd = endOfWeek(parsedDate, { locale: ptBR }); + + console.log("Período de busca:", { + weekStart: weekStart.toISOString(), + weekEnd: weekEnd.toISOString() }); - } - - console.log("Data parseada:", parsedDate); - - const weekStart = startOfWeek(parsedDate, { locale: ptBR }); - const weekEnd = endOfWeek(parsedDate, { locale: ptBR }); - - console.log("Período de busca:", { - weekStart: weekStart.toISOString(), - weekEnd: weekEnd.toISOString() - }); - dateFilter = { - data: { - gte: weekStart, - lte: weekEnd, - }, - }; + dateFilter = { + data: { + gte: weekStart, + lte: weekEnd, + }, + }; + } } catch (parseError) { console.error("Erro ao analisar data:", parseError); // Continuar sem filtro de data em caso de erro, em vez de falhar @@ -64,28 +63,45 @@ router.get("/agendamentos", async (req, res) => { console.log("Filtro de data:", JSON.stringify(dateFilter)); - // Usando o modelo AgendamentoAtendimento, que corresponde à tabela agendamentos_atendimento - const agendamentos = await prisma.agendamentoAtendimento.findMany({ - where: dateFilter, - include: { - cliente: { - select: { - id: true, - nome: true, + // Usando o modelo correto e com tratamento de erro adequado + try { + const agendamentos = await prisma.agendamentoAtendimento.findMany({ + where: dateFilter, + include: { + cliente: { + select: { + id: true, + nome: true, + }, + }, + usuario: { + select: { + id: true, + nome: true, + }, }, }, - }, - orderBy: { - data: 'asc', - }, - }); + orderBy: { + data: 'asc', + }, + }); - console.log(`Encontrados ${agendamentos.length} agendamentos`); - - res.json(agendamentos); + console.log(`Encontrados ${agendamentos.length} agendamentos`); + + return res.json(agendamentos); + } catch (dbError) { + console.error("Erro na consulta do banco de dados:", dbError); + return res.status(500).json({ + error: "Erro ao buscar agendamentos no banco de dados", + details: dbError.message + }); + } } catch (error) { - console.error("Erro ao listar agendamentos:", error); - res.status(500).json({ error: "Erro ao listar agendamentos" }); + console.error("Erro geral ao listar agendamentos:", error); + return res.status(500).json({ + error: "Erro ao listar agendamentos", + details: error.message + }); } });