From ff8fcfbe9375c18023a56021b210a61ca4e8fb80 Mon Sep 17 00:00:00 2001 From: Lautaro Molina Date: Wed, 23 Feb 2022 14:31:56 -0300 Subject: [PATCH] feat(ep): nuevo search con detalles de paginacion --- .../seguimiento-paciente.route.ts | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/modules/seguimiento-paciente/seguimiento-paciente.route.ts b/modules/seguimiento-paciente/seguimiento-paciente.route.ts index 59e5fd5958..96db204429 100644 --- a/modules/seguimiento-paciente/seguimiento-paciente.route.ts +++ b/modules/seguimiento-paciente/seguimiento-paciente.route.ts @@ -55,6 +55,24 @@ class SeguimientoPacienteResource extends ResourceBase { } } +const search = async (req, res, next) => { + const options = req.apiOptions(); + const conditions = { ...req.query }; + Object.keys(options).map(opt => delete conditions[opt]); + const [results, total] = await Promise.all([ + SeguimientoPacienteCtr.search(conditions, options), + SeguimientoPacienteCtr.search(conditions) + ]); + res.json({ + pagination: { + offset: options.skip, + limit: options.limit, + total: total.length, + }, + data: results + }); +}; + const patchAsignacion = async (req, res, next) => { try { const { seguimientos, profesional } = req.body; @@ -74,5 +92,7 @@ const patchAsignacion = async (req, res, next) => { export const SeguimientoPacienteCtr = new SeguimientoPacienteResource({}); const seguimientoPacienteRouter = SeguimientoPacienteCtr.makeRoutes(); -seguimientoPacienteRouter.post('/seguimientoPaciente/asignaciones', Auth.authenticate(), asyncHandler(patchAsignacion)); export const SeguimientoPacienteRouter = seguimientoPacienteRouter; + +seguimientoPacienteRouter.get('/seguimientoPaciente/search/v2', Auth.authenticate(), asyncHandler(search)); +seguimientoPacienteRouter.post('/seguimientoPaciente/asignaciones', Auth.authenticate(), asyncHandler(patchAsignacion));