From 192ee92a0212f0d038ff2447986b90d5a15b770f Mon Sep 17 00:00:00 2001 From: lemuel Date: Tue, 20 Dec 2022 17:46:03 -0600 Subject: [PATCH] hora excepcion service final --- .../carrera-programa.service.ts | 2 +- src/carrito/carrito.service.ts | 2 +- .../equipo-programa.service.ts | 4 +- .../equipo-tipo-entrada.service.ts | 2 +- src/equipo/equipo.service.ts | 2 +- .../hora-excepcion.controller.ts | 1 + src/hora-excepcion/hora-excepcion.service.ts | 52 +++++++++++-------- .../institucion-infraccion.service.ts | 2 +- .../institucion-programa.service.ts | 2 +- .../institucion-tipo-entrada.service.ts | 2 +- .../institucion-usuario.service.ts | 2 +- src/institucion/institucion.controller.ts | 2 +- src/marca/marca.service.ts | 2 +- src/modelo/modelo.service.ts | 2 +- src/modulo/modulo.service.ts | 2 +- src/tipo-usuario/tipo-usuario.service.ts | 2 +- 16 files changed, 47 insertions(+), 36 deletions(-) diff --git a/src/carrera-programa/carrera-programa.service.ts b/src/carrera-programa/carrera-programa.service.ts index d38b65e..4751761 100644 --- a/src/carrera-programa/carrera-programa.service.ts +++ b/src/carrera-programa/carrera-programa.service.ts @@ -114,7 +114,7 @@ export class CarreraProgramaService { // Validamos que el usuario pertenezca a la institución de la información que solicita if (!institucionUsuario) throw new ForbiddenException( - 'No puedes acceder a esta información porque no perteneces a esta institución.', + 'No puedes acceder a esta información porque no le pertenece a tu institución.', ); return this.findAllByInstitucion(institucion); }); diff --git a/src/carrito/carrito.service.ts b/src/carrito/carrito.service.ts index 110433f..2ca67c6 100644 --- a/src/carrito/carrito.service.ts +++ b/src/carrito/carrito.service.ts @@ -56,7 +56,7 @@ export class CarritoService { throw new ForbiddenException( 'No puedes crear carritos para este módulo porque no pertenece a tu institución.', ); - // Creamos y guardamos el registro + // Creamos y guardamos un registro return this.repository .save( this.repository.create({ carrito, marca, modelo, modulo, tipoCarrito }), diff --git a/src/equipo-programa/equipo-programa.service.ts b/src/equipo-programa/equipo-programa.service.ts index 39ef934..375496e 100644 --- a/src/equipo-programa/equipo-programa.service.ts +++ b/src/equipo-programa/equipo-programa.service.ts @@ -75,7 +75,7 @@ export class EquipoProgramaService { // Si lo tiene lo eliminamos if (existeEquipoSinPrograma) await this.repository.remove(existeEquipoSinPrograma); - // Creamos y guardamos el registro + // Creamos y guardamos un registro return this.repository.save( this.repository.create({ equipo, programa }), ); @@ -112,7 +112,7 @@ export class EquipoProgramaService { .then(async (n) => { // Asignar "Sin software" si es que solo tiene 1, el que se va a eliminar if (n === 1) await this.createSinPrograma(equipoPrograma.equipo); - // Eliminamos registro + // Eliminamos el registro return this.repository.remove(equipoPrograma); }) .then((_) => ({ diff --git a/src/equipo-tipo-entrada/equipo-tipo-entrada.service.ts b/src/equipo-tipo-entrada/equipo-tipo-entrada.service.ts index eb88205..e5e2db4 100644 --- a/src/equipo-tipo-entrada/equipo-tipo-entrada.service.ts +++ b/src/equipo-tipo-entrada/equipo-tipo-entrada.service.ts @@ -84,7 +84,7 @@ export class EquipoTipoEntradaService { throw new ForbiddenException( 'No puedes modificar la información este equipo porque no pertenece a tu institución.', ); - // Eliminamos registro + // Eliminamos el registro return this.repository.remove(equipoTipoEntrada); }) .then((_) => ({ diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index 2ad3ef8..3e69f65 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -70,7 +70,7 @@ export class EquipoService { marca: Marca, modelo: Modelo, ): Promise { - // Creamos y guradamos registro + // Creamos y guardamos un registro return this.repository .save( this.repository.create({ diff --git a/src/hora-excepcion/hora-excepcion.controller.ts b/src/hora-excepcion/hora-excepcion.controller.ts index 03db346..bcc71a7 100644 --- a/src/hora-excepcion/hora-excepcion.controller.ts +++ b/src/hora-excepcion/hora-excepcion.controller.ts @@ -91,6 +91,7 @@ export class HoraExcepcionController { this.validarUsuarioService.validarAdmin(admin); return this.horaExcepcionService.findAllByIdInstitucionDia( + admin, parseInt(query.id_institucion_dia), ); } diff --git a/src/hora-excepcion/hora-excepcion.service.ts b/src/hora-excepcion/hora-excepcion.service.ts index dd2c7a3..35179e4 100644 --- a/src/hora-excepcion/hora-excepcion.service.ts +++ b/src/hora-excepcion/hora-excepcion.service.ts @@ -1,9 +1,9 @@ import { - ConflictException, - NotFoundException, - Injectable, BadRequestException, + ConflictException, ForbiddenException, + Injectable, + NotFoundException, } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { LessThanOrEqual, MoreThanOrEqual, Repository } from 'typeorm'; @@ -24,27 +24,25 @@ export class HoraExcepcionService { id_institucion_dia: number, hora_inicio: string, hora_fin: string, - ) { + ): Promise<{ message: string }> { const institucionDia = await this.institucionDiaService.findById( id_institucion_dia, ); - // Validamos que el id institución día mandado sea de la institución a la que - // pertenece el operador que realiza esta acción + // Validamos que el día pertenezca a la institución del admin if ( admin.institucion.id_institucion != institucionDia.institucion.id_institucion ) throw new ForbiddenException( - 'No puedes crear una horario sin servicio en este día porque no le pertenece a tu institución.', + 'No puedes crear una hora excepeción en este día porque no pertenece a tu institución.', ); // hora_inicio no puede ser mayor a hora fin if (hora_inicio > hora_fin) throw new BadRequestException( 'La hora inicio no puede ser mayor que la hora fin.', ); - // Buscamos un horario servicio que pertenezca al mismo día y que sus horas inicio - // y fin encierren, en tiempo, a alguna de las horas mandadas del front + // Buscamos una hora excepción que encierre las horas enviadas return this.repository .findOne({ where: [ @@ -61,9 +59,8 @@ export class HoraExcepcionService { ], }) .then((existeHoraExcepcion) => { - // Saca error si encuentra uno + // Si encontramos uno sacamos error if (existeHoraExcepcion) { - // Si las horas enviadas son las mismas que las del registro saca error if ( existeHoraExcepcion.hora_fin === hora_fin && existeHoraExcepcion.hora_inicio === hora_inicio @@ -75,7 +72,7 @@ export class HoraExcepcionService { 'Las horas escogídas se sobrelapan con otro horario sin servicio del mismo día.', ); } - // Crea y guarda el registro + // Creamos y guardamos un registro return this.repository.save( this.repository.create({ institucionDia, hora_inicio, hora_fin }), ); @@ -85,11 +82,13 @@ export class HoraExcepcionService { })); } - delete(admin: Operador, id_hora_excepcion: number) { + delete( + admin: Operador, + id_hora_excepcion: number, + ): Promise<{ message: string }> { return this.findById(id_hora_excepcion) .then((horaExcepcion) => { - // Validamos que el id hora excepción pertenezca a la institución del operador - // que realiza esta acción + // Validamos que la hora excepción pertenezca a la institución del admin if ( admin.institucion.id_institucion != horaExcepcion.institucionDia.institucion.id_institucion @@ -97,7 +96,7 @@ export class HoraExcepcionService { throw new ConflictException( 'No puedes eliminar esta horario sin servicio porque no pertenece a tu institución.', ); - // Eliminamos registro + // Eliminamos el registro return this.repository.remove(horaExcepcion); }) .then((_) => ({ @@ -105,15 +104,26 @@ export class HoraExcepcionService { })); } - findAllByIdInstitucionDia(id_institucion_dia: number) { + findAllByIdInstitucionDia( + admin: Operador, + id_institucion_dia: number, + ): Promise { return this.institucionDiaService .findById(id_institucion_dia) - .then((institucionDia) => - this.repository.find({ where: { institucionDia } }), - ); + .then((institucionDia) => { + // Validamos que el día pertenezca a la institución del admin + if ( + admin.institucion.id_institucion != + institucionDia.institucion.id_institucion + ) + throw new ForbiddenException( + 'No puedes acceder a esta información porque no le pertenece a tu institución.', + ); + return this.repository.find({ where: { institucionDia } }); + }); } - findById(id_hora_excepcion: number) { + findById(id_hora_excepcion: number): Promise { return this.repository .findOne({ join: { diff --git a/src/institucion-infraccion/institucion-infraccion.service.ts b/src/institucion-infraccion/institucion-infraccion.service.ts index 8e4861d..2e6aff2 100644 --- a/src/institucion-infraccion/institucion-infraccion.service.ts +++ b/src/institucion-infraccion/institucion-infraccion.service.ts @@ -29,7 +29,7 @@ export class InstitucionInfraccionService { // Saco error si existe if (existeInfraccion) throw new ConflictException('Ya existe esta infracción.'); - // Creamos y guardamos el registro + // Creamos y guardamos un registro return this.infraccionRepository.save( this.infraccionRepository.create({ infraccion }), ); diff --git a/src/institucion-programa/institucion-programa.service.ts b/src/institucion-programa/institucion-programa.service.ts index 80e7251..ec79f2f 100644 --- a/src/institucion-programa/institucion-programa.service.ts +++ b/src/institucion-programa/institucion-programa.service.ts @@ -28,7 +28,7 @@ export class InstitucionProgramaService { // Saco error si existe if (existePrograma) throw new ConflictException('Ya existe este programa.'); - // Creamos y guardamos el registro + // Creamos y guardamos un registro return this.programaRepository.save( this.programaRepository.create({ programa }), ); diff --git a/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts b/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts index e2e4aad..01dd467 100644 --- a/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts +++ b/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts @@ -28,7 +28,7 @@ export class InstitucionTipoEntradaService { // Saco error si existe if (existeTipoEntrada) throw new ConflictException('Ya existe este tipo de entrada.'); - // Creamos y guardamos el registro + // Creamos y guardamos un registro return this.tipoEntradaRepository.save( this.tipoEntradaRepository.create({ tipo_entrada }), ); diff --git a/src/institucion-usuario/institucion-usuario.service.ts b/src/institucion-usuario/institucion-usuario.service.ts index 3c3a2ba..e3c1e5e 100644 --- a/src/institucion-usuario/institucion-usuario.service.ts +++ b/src/institucion-usuario/institucion-usuario.service.ts @@ -21,7 +21,7 @@ export class InstitucionUsuarioService { ) {} create(institucionCarrera: InstitucionCarrera, usuario: Usuario) { - // Creamos y guardamos el registro + // Creamos y guardamos un registro return this.repository .save(this.repository.create({ institucionCarrera, usuario })) .then((institucionUsuario) => ({ diff --git a/src/institucion/institucion.controller.ts b/src/institucion/institucion.controller.ts index 3c2195f..7c75188 100644 --- a/src/institucion/institucion.controller.ts +++ b/src/institucion/institucion.controller.ts @@ -83,7 +83,7 @@ export class InstitucionController { admin.institucion.id_institucion != institucion.id_institucion ) throw new ForbiddenException( - 'No puedes acceder a esta información porque no perteneces a esta institución.', + 'No puedes acceder a esta información porque no le pertenece a tu institución.', ); return institucion; }); diff --git a/src/marca/marca.service.ts b/src/marca/marca.service.ts index 5088c1d..5043039 100644 --- a/src/marca/marca.service.ts +++ b/src/marca/marca.service.ts @@ -13,7 +13,7 @@ export class MarcaService { .then((existeMarca) => { // Saco error si existe if (existeMarca) throw new ConflictException('Ya existe esta marca.'); - // Creamos y guardamos el registro + // Creamos y guardamos un registro return this.repository.save(this.repository.create({ marca, tipo })); }) .then((_) => ({ message: 'Se creó correctamente una nueva marca.' })); diff --git a/src/modelo/modelo.service.ts b/src/modelo/modelo.service.ts index dc28ddb..f068417 100644 --- a/src/modelo/modelo.service.ts +++ b/src/modelo/modelo.service.ts @@ -15,7 +15,7 @@ export class ModeloService { .then((existeModelo) => { // Saco error si existe if (existeModelo) throw new ConflictException('Ya existe este modelo.'); - // Creamos y guardamos el registro + // Creamos y guardamos un registro return this.repository.save(this.repository.create({ modelo, tipo })); }) .then((_) => ({ message: 'Se creó correctamente un nuevo modelo.' })); diff --git a/src/modulo/modulo.service.ts b/src/modulo/modulo.service.ts index fbb1952..af57e9a 100644 --- a/src/modulo/modulo.service.ts +++ b/src/modulo/modulo.service.ts @@ -33,7 +33,7 @@ export class ModuloService { // que realiza esta acción return this.findModulo(admin.institucion, modulo, true) .then((_) => - // Creamos y guardamos el registro + // Creamos y guardamos un registro this.repository.save( this.repository.create({ institucion: admin.institucion, diff --git a/src/tipo-usuario/tipo-usuario.service.ts b/src/tipo-usuario/tipo-usuario.service.ts index a34e37d..366fbab 100644 --- a/src/tipo-usuario/tipo-usuario.service.ts +++ b/src/tipo-usuario/tipo-usuario.service.ts @@ -21,7 +21,7 @@ export class TipoUsuarioService { // Saco error si existe if (existeTipoUsuario) throw new ConflictException('Ya existe este tipo usuario'); - // Creamos y guardamos el registro + // Creamos y guardamos un registro return this.repository.save(this.repository.create({ tipo_usuario })); }) .then((_) => ({