From 196c62ecfc7e3d578afbbc8255b8e5d89856c569 Mon Sep 17 00:00:00 2001 From: lemuel Date: Tue, 20 Dec 2022 18:14:49 -0600 Subject: [PATCH] institucion service final --- src/carrito/carrito.service.ts | 2 +- src/equipo/equipo.service.ts | 1 + .../institucion-dia.service.ts | 4 +-- .../institucion-infraccion.service.ts | 4 +-- .../institucion-programa.service.ts | 4 +-- .../institucion-tipo-carrito.service.ts | 4 +-- .../institucion-tipo-entrada.service.ts | 4 +-- .../institucion-usuario.service.ts | 4 +-- src/institucion/institucion.controller.ts | 11 +------ src/institucion/institucion.service.ts | 29 +++++++++++++++---- src/modulo/modulo.service.ts | 4 +-- src/operador/operador.service.ts | 4 +-- src/prestamo/prestamo.service.ts | 8 ++--- src/usuario/usuario.service.ts | 4 +-- 14 files changed, 48 insertions(+), 39 deletions(-) diff --git a/src/carrito/carrito.service.ts b/src/carrito/carrito.service.ts index 2ca67c6..1a15865 100644 --- a/src/carrito/carrito.service.ts +++ b/src/carrito/carrito.service.ts @@ -218,7 +218,7 @@ export class CarritoService { ); // Actualizamos el carrito con los valores enviados del client Object.assign(carrito, attrs); - // Guardo cambios + // Guardamos cambios return this.repository.save(carrito); }) .then(async (carrito) => { diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index 3e69f65..205256f 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -492,6 +492,7 @@ export class EquipoService { 'No se mandó el motivo para el cambio de status.', ); } + // Asignamos valores enviados al objeto Object.assign(equipo, attrs); if (status) { equipo.status = status; diff --git a/src/institucion-dia/institucion-dia.service.ts b/src/institucion-dia/institucion-dia.service.ts index ecd68a8..a7fef28 100644 --- a/src/institucion-dia/institucion-dia.service.ts +++ b/src/institucion-dia/institucion-dia.service.ts @@ -116,9 +116,9 @@ export class InstitucionDiaService { throw new BadRequestException( 'La hora extra no puede ser mayor que la hora tope.', ); - // Asigno valores enviados al objeto + // Asignamos valores enviados al objeto Object.assign(institucionDia, attrs); - // Guardo cambios + // Guardamos cambios return this.repository.save(institucionDia); }) .then((_) => ({ message: 'Se guardaron los cambios correctamente.' })); diff --git a/src/institucion-infraccion/institucion-infraccion.service.ts b/src/institucion-infraccion/institucion-infraccion.service.ts index 2e6aff2..6463f33 100644 --- a/src/institucion-infraccion/institucion-infraccion.service.ts +++ b/src/institucion-infraccion/institucion-infraccion.service.ts @@ -114,9 +114,9 @@ export class InstitucionInfraccionService { throw new ConflictException( 'No puedes actualizar la información de esta infraccion porque no le pertenece a tu institución.', ); - // Asigno valores enviados al objeto + // Asignamos valores enviados al objeto Object.assign(institucionInfraccion, attrs); - // Guardar + // Guardamos cambios return this.institucionInfraccionRepository.save(institucionInfraccion); }) .then((_) => ({ message: 'Se guardaron los cambios correctamente.' })); diff --git a/src/institucion-programa/institucion-programa.service.ts b/src/institucion-programa/institucion-programa.service.ts index ec79f2f..2d9ed92 100644 --- a/src/institucion-programa/institucion-programa.service.ts +++ b/src/institucion-programa/institucion-programa.service.ts @@ -123,9 +123,9 @@ export class InstitucionProgramaService { throw new ConflictException( 'No puedes actualizar la información de este software porque no le pertenece a tu institución.', ); - // Asigno valores enviados al objeto + // Asignamos valores enviados al objeto Object.assign(institucionPrograma, attrs); - // Guardar + // Guardamos cambios return this.institucionProgramaRepository.save(institucionPrograma); }) .then((_) => ({ message: 'Se guardaron los cambios correctamente.' })); diff --git a/src/institucion-tipo-carrito/institucion-tipo-carrito.service.ts b/src/institucion-tipo-carrito/institucion-tipo-carrito.service.ts index 526551a..49cf3e0 100644 --- a/src/institucion-tipo-carrito/institucion-tipo-carrito.service.ts +++ b/src/institucion-tipo-carrito/institucion-tipo-carrito.service.ts @@ -129,9 +129,9 @@ export class InstitucionTipoCarritoService { throw new ConflictException( 'No puedes actualizar la información de este tipo de carrito porque no le pertenece a tu institución.', ); - // Asigno valores enviados al objeto + // Asignamos valores enviados al objeto Object.assign(institucionTipoCarrito, attrs); - // Guardar + // Guardamos cambios return this.institucionTipoCarritoRepository.save( institucionTipoCarrito, ); diff --git a/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts b/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts index 01dd467..5be2812 100644 --- a/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts +++ b/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts @@ -119,9 +119,9 @@ export class InstitucionTipoEntradaService { throw new ConflictException( 'No puedes actualizar la información de este tipo de carrito porque no le pertenece a tu institución.', ); - // Asigno valores enviados al objeto + // Asignamos valores enviados al objeto Object.assign(institucionTipoEntrada, attrs); - // Guardar + // Guardamos cambios return this.institucionTipoEntradaRepository.save( institucionTipoEntrada, ); diff --git a/src/institucion-usuario/institucion-usuario.service.ts b/src/institucion-usuario/institucion-usuario.service.ts index e3c1e5e..89a4e20 100644 --- a/src/institucion-usuario/institucion-usuario.service.ts +++ b/src/institucion-usuario/institucion-usuario.service.ts @@ -175,9 +175,9 @@ export class InstitucionUsuarioService { update(attrs: Partial) { return this.findById(attrs.id_institucion_usuario) .then((institucionUsuario) => { - // Asigno valores enviados al objeto + // Asignamos valores enviados al objeto Object.assign(institucionUsuario, attrs); - // Guardar + // Guardamos cambios return this.repository.save(institucionUsuario); }) .then((_) => ({ message: 'Se guardaron los cambios correctamente.' })); diff --git a/src/institucion/institucion.controller.ts b/src/institucion/institucion.controller.ts index 5231d66..c81dbc2 100644 --- a/src/institucion/institucion.controller.ts +++ b/src/institucion/institucion.controller.ts @@ -69,18 +69,9 @@ export class InstitucionController { this.validarUsuarioService.validarSuperAdminAdmin(admin); return this.institucionService.findFullInfoById( + admin, parseInt(query.id_institucion), ); - // .then((institucion) => { - // if ( - // admin.tipoUsuario.id_tipo_usuario === 3 && - // admin.institucion.id_institucion != institucion.id_institucion - // ) - // throw new ForbiddenException( - // 'No puedes acceder a esta información porque no le pertenece a tu institución.', - // ); - // return institucion; - // }); } @Serealize(InstitucionesOutputDto) diff --git a/src/institucion/institucion.service.ts b/src/institucion/institucion.service.ts index 229ff9c..970f666 100644 --- a/src/institucion/institucion.service.ts +++ b/src/institucion/institucion.service.ts @@ -14,15 +14,15 @@ export class InstitucionService { @InjectRepository(Institucion) private repository: Repository, ) {} - crearInstitucion(id_institucion: number) { + crearInstitucion(id_institucion: number): Institucion { return this.repository.create({ id_institucion }); } - findAll() { + findAll(): Promise { return this.repository.find({ select: ['id_institucion'] }); } - findById(id_institucion: number) { + findById(id_institucion: number): Promise { return this.repository .findOne({ select: ['id_institucion'], where: { id_institucion } }) .then((institucion) => { @@ -32,17 +32,28 @@ export class InstitucionService { }); } - findFullInfoById(id_institucion: number) { + findFullInfoById( + admin: Operador, + id_institucion: number, + ): Promise { return this.repository .findOne({ where: { id_institucion } }) .then((institucion) => { if (!institucion) throw new NotFoundException('No existe este id institución.'); + // Validamos que la institución pertenezca al admin + if ( + admin.tipoUsuario.id_tipo_usuario === 3 && + admin.institucion.id_institucion != institucion.id_institucion + ) + throw new ConflictException( + 'No puedes actualizar la información de esta institución porque no perteneces a ella.', + ); return institucion; }); } - findMinInfoAll(activo = false, responsable = false) { + findMinInfoAll(activo = false, responsable = false): Promise { const busqueda: FindOptionsWhere = {}; if (activo) busqueda.activo = activo; @@ -60,9 +71,13 @@ export class InstitucionService { }); } - update(admin: Operador, attrs: Partial) { + update( + admin: Operador, + attrs: Partial, + ): Promise<{ message: string }> { return this.findById(attrs.id_institucion) .then((institucion) => { + // Validamos que la institución pertenezca al admin if ( admin.tipoUsuario.id_tipo_usuario === 3 && admin.institucion.id_institucion != institucion.id_institucion @@ -70,7 +85,9 @@ export class InstitucionService { throw new ConflictException( 'No puedes actualizar la información de esta institución porque no perteneces a ella.', ); + // Asignamos valores enviados al objeto Object.assign(institucion, attrs); + // Guardamos cambios return this.repository.save(institucion); }) .then((_) => ({ message: 'Se guardaron los cambios correctamente.' })); diff --git a/src/modulo/modulo.service.ts b/src/modulo/modulo.service.ts index af57e9a..7d9f192 100644 --- a/src/modulo/modulo.service.ts +++ b/src/modulo/modulo.service.ts @@ -154,7 +154,7 @@ export class ModuloService { // Buscamos un modulo en esa institución con ese nombre if (attrs.modulo) await this.findModulo(modulo.institucion, attrs.modulo, true); - // Asigno valores enviados al objeto + // Asignamos valores enviados al objeto Object.assign(modulo, attrs); if (motivo) await this.moduloMotivoService.create( @@ -164,7 +164,7 @@ export class ModuloService { numero_alumnos, fecha_creacion, ); - // Guardar + // Guardamos cambios return this.repository.save(modulo); }) .then((_) => ({ message: 'Se guardaron los cambios correctamente.' })); diff --git a/src/operador/operador.service.ts b/src/operador/operador.service.ts index 3d8c224..240d07d 100644 --- a/src/operador/operador.service.ts +++ b/src/operador/operador.service.ts @@ -264,9 +264,9 @@ export class OperadorService { return this.findById(attrs.id_operador) .then((operador) => { this.validarUpdate(admin, operador); - // Paso los valores enviados del front a mi objeto + // Asignamos valores enviados al objeto Object.assign(operador, attrs); - // Guardar + // Guardamos cambios return this.repository.save(operador); }) .then((_) => ({ message: 'Se guardaron los cambios correctamente.' })); diff --git a/src/prestamo/prestamo.service.ts b/src/prestamo/prestamo.service.ts index e449349..444d5a1 100644 --- a/src/prestamo/prestamo.service.ts +++ b/src/prestamo/prestamo.service.ts @@ -88,14 +88,14 @@ export class PrestamoService { if (prestamo.equipo.u === prestamo.usuario.id_usuario) { prestamo.equipo.u = null; prestamo.equipo.status.id_status = 6; - // Guardo cambios en el equipo, y envio el motivo de cancelación + // Guardamos cambios en el equipo, y envio el motivo de cancelación await this.equipoService.updateStatus( prestamo.equipo, operadorRegreso, motivo, ); } - // Guardo cambios del prestamo + // Guardamos cambios del prestamo return this.repository.save(prestamo).then((_) => { // Actualizo interfaz de usaurios this.appGateway.actualizarUsuario(prestamo.usuario.id_usuario); @@ -119,13 +119,13 @@ export class PrestamoService { ); prestamo.equipo.u = null; prestamo.equipo.status.id_status = 1; - // Guardo cambios en el equipo + // Guardamos cambios en el equipo await this.equipoService.updateStatus(prestamo.equipo); } prestamo.activo = false; prestamo.fecha_entrega = ahora.toDate(); prestamo.cancelado_usuario = true; - // Guardo cambios del prestamo + // Guardamos cambios del prestamo return this.repository.save(prestamo).then((_) => { // Actualizo interfaz de operador this.appGateway.actualizarOperador( diff --git a/src/usuario/usuario.service.ts b/src/usuario/usuario.service.ts index af90f61..e04c0c6 100644 --- a/src/usuario/usuario.service.ts +++ b/src/usuario/usuario.service.ts @@ -285,9 +285,9 @@ export class UsuarioService { throw new ConflictException( 'Este usuario no pertenece a tu institución.', ); - // Asingo los datos enviados al bojeto + // Asignamos valores enviados al objeto Object.assign(usuario, attrs); - // Guardar + // Guardamos cambios return this.repository.save(usuario); }) .then((_) => ({ message: 'Se guardaron los cambios correctamente.' }));