From f993d9ebfc35300bbf1151e609aa1b2423d8d558 Mon Sep 17 00:00:00 2001 From: Rodrigo Martins Date: Sat, 12 Apr 2025 21:41:09 -0300 Subject: [PATCH] Lint errors Signed-off-by: Rodrigo Martins --- src/server/routes/atendimentos.ts | 43 ++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/server/routes/atendimentos.ts b/src/server/routes/atendimentos.ts index 1b92126..c591b7b 100644 --- a/src/server/routes/atendimentos.ts +++ b/src/server/routes/atendimentos.ts @@ -1,5 +1,6 @@ import { Router } from "express"; import multer from "multer"; +import { startOfDay, endOfDay, startOfWeek, endOfWeek, parseISO, addDays } from 'date-fns'; import { authMiddleware } from "../../middleware/auth"; import { NextCloudService } from "../../services/nextcloud"; @@ -10,7 +11,47 @@ const upload = multer({ storage: multer.memoryStorage() }); router.use(authMiddleware); -// ...existing routes... +// Nova rota para listar agendamentos +router.get("/agendamentos", async (req, res) => { + try { + const { data } = req.query; + let dateFilter: any = {}; + + if (data) { + // Se uma data especĂ­fica foi fornecida, retorna os agendamentos da semana + const parsedDate = parseISO(data as string); + const weekStart = startOfWeek(parsedDate); + const weekEnd = endOfWeek(parsedDate); + + dateFilter = { + data: { + gte: weekStart, + lte: weekEnd, + }, + }; + } + + const agendamentos = await prisma.agendamento.findMany({ + where: dateFilter, + include: { + cliente: { + select: { + id: true, + nome: true, + }, + }, + }, + orderBy: { + data: 'asc', + }, + }); + + res.json(agendamentos); + } catch (error) { + console.error("Erro ao listar agendamentos:", error); + res.status(500).json({ error: "Erro ao listar agendamentos" }); + } +}); // Rota para atualizar atendimento com anexos router.patch("/:id", async (req, res) => {