diff --git a/src/core/controllers/beca-alimentacion.controller.ts b/src/core/controllers/beca-alimentacion.controller.ts index 055d149..1a1fac5 100644 --- a/src/core/controllers/beca-alimentacion.controller.ts +++ b/src/core/controllers/beca-alimentacion.controller.ts @@ -20,32 +20,32 @@ export class BecaAlimentacionController { return next(error) } - const ahora = dayjs().tz('America/Santiago') // Hoy a las 00:00 + const ahora = dayjs().tz('America/Santiago') const cookies = res.locals.loggedInUser.academiaCookies; - const desde = (req.body.desde ? dayjs(req.body.desde, 'YYYY-MM-DD').tz('America/Santiago') : ahora).startOf('day'); - let hasta = (req.body.hasta ? dayjs(req.body.hasta, 'YYYY-MM-DD').tz('America/Santiago') : ahora).endOf('day'); - hasta.isBefore(desde) && (hasta = desde.endOf('day')); + const desdeInicioCodigo = ((req.body.desde ? dayjs(req.body.desde, 'YYYY-MM-DD').tz('America/Santiago') : ahora).startOf('day')); + let hastaDiaCodigo = (req.body.hasta ? dayjs(req.body.hasta, 'YYYY-MM-DD').tz('America/Santiago') : ahora).endOf('day'); + hastaDiaCodigo.isBefore(desdeInicioCodigo) && (hastaDiaCodigo = desdeInicioCodigo.endOf('day')); - // Si es desde sabado hasta domingo lanzar error - if (dayjs(desde).tz('America/Santiago').day() === 6 && dayjs(hasta).tz('America/Santiago').day() === 0) { - return next(GenericError.FUERA_DE_HORARIO_BECA_ALIMENTACION) // Si es sabado o domingo, no se puede generar codigo. + // Si es desde Sábado hasta domingo lanzar error + if (desdeInicioCodigo.day() === 6 && hastaDiaCodigo.day() === 0) { + return next(GenericError.FUERA_DE_HORARIO_BECA_ALIMENTACION) // Si es Sábado o domingo, no se puede generar código. } - // Verifica si es entre hoy a las 00:00 y 40 días después - if (!dayjs(desde).tz('America/Santiago').isSameOrAfter(ahora.startOf('day'))) { // Si no esta hoy o después + // Verifica si es entre hoy a las 00:00 y ahora + if (!ahora.isSameOrAfter(desdeInicioCodigo)) { // Si no esta hoy o después const error = GenericError.FECHA_FUERA_DE_RANGO error.internalCode = 19.1 return next(error) } - if (!dayjs(ahora).tz('America/Santiago').isSameOrBefore(dayjs().tz('America/Santiago').endOf('year'))) { // Si no está entre fin de año o antes + if (!ahora.isSameOrBefore(dayjs().tz('America/Santiago').endOf('year'))) { // Si no está entre fin de año o antes const error = GenericError.FECHA_FUERA_DE_RANGO error.internalCode = 19.2 return next(error) } - const codigos: CodigoBecaAlimentacion[] = await BecaAlimentacionService.generarCodigoAlimentacion(cookies, desde.toISOString(), hasta.toISOString()) + const codigos: CodigoBecaAlimentacion[] = await BecaAlimentacionService.generarCodigoAlimentacion(cookies, desdeInicioCodigo.toISOString(), hastaDiaCodigo.toISOString()) res.status(200).json(codigos); } catch (error) {