diff --git a/src/institucion-dia/institucion-dia.service.ts b/src/institucion-dia/institucion-dia.service.ts index 821d37c..f04e1c7 100644 --- a/src/institucion-dia/institucion-dia.service.ts +++ b/src/institucion-dia/institucion-dia.service.ts @@ -54,11 +54,13 @@ export class InstitucionDiaService { return this.repository.findOne({ where: { institucion, dia: { id_dia } } }); } - async hoy(id_institucion: number) { + hoy(id_institucion: number) { const ahora = moment(); + // Valido que no sea domingo if (ahora.weekday() === 0) throw new ConflictException('No hay servicio los días domingo.'); + // Busco un institucionDia apartir de la institución enviada y del día de hoy return this.institucionService .findById(id_institucion) .then((institucion) => @@ -69,6 +71,8 @@ export class InstitucionDiaService { update(admin: Operador, attrs: Partial) { return this.findById(attrs.id_institucion_dia) .then((institucionDia) => { + // Valido que la institucionDia le pertenezca a la institución del + // operador que realiza esta acción if ( admin.institucion.id_institucion != institucionDia.institucion.id_institucion @@ -76,36 +80,47 @@ export class InstitucionDiaService { throw new ConflictException( 'No puedes actualizar la información de este día porque no le pertenece a tu institución.', ); - + // Valido que hora_inicio no sea mayor a hora_fin if ( + // Si se mando hora_inicio u hora_fin (attrs.hora_inicio || attrs.hora_fin) && + // y si la hora_inicio que se mando, si no hay toma de institucionDia, es mayor que (attrs.hora_inicio || institucionDia.hora_inicio) > + // la hora_fin que se mando, si no hay toma de institucionDia (attrs.hora_fin || institucionDia.hora_fin) ) throw new BadRequestException( 'La hora inicio no puede ser mayor que la hora fin.', ); + // Valido que hora_fin no sea mayor a hora_extra if ( + // Si se mando hora_fin u hora_extra (attrs.hora_fin || attrs.hora_extra) && + // y si la hora_fin que se mando, si no hay toma de institucionDia, es mayor que (attrs.hora_fin || institucionDia.hora_fin) > + // la hora_extra que se mando, si no hay toma de institucionDia (attrs.hora_extra || institucionDia.hora_extra) ) throw new BadRequestException( 'La hora fin no puede ser mayor que la hora extra.', ); + // Valido que hora_extra no sea mayor a hora_tope if ( + // Si se hora_extra hora_fin u hora_tope (attrs.hora_extra || attrs.hora_tope) && + // y si la hora_extra que se mando, si no hay toma de institucionDia, es mayor que (attrs.hora_extra || institucionDia.hora_extra) > + // la hora_tope que se mando, si no hay toma de institucionDia (attrs.hora_tope || institucionDia.hora_tope) ) throw new BadRequestException( 'La hora extra no puede ser mayor que la hora tope.', ); + // Asigno valores enviados al objeto Object.assign(institucionDia, attrs); + // Guardo cambios return this.repository.save(institucionDia); }) - .then((_) => ({ - message: 'Se guardaron los cambios correctamente.', - })); + .then((_) => ({ message: 'Se guardaron los cambios correctamente.' })); } }