From 056317846062c6cedd54ace37c0b3667cedbfd51 Mon Sep 17 00:00:00 2001 From: lemuel Date: Tue, 20 Dec 2022 20:15:11 -0600 Subject: [PATCH] =?UTF-8?q?instituci=C3=B3n=20infracci=C3=B3n=20service=20?= =?UTF-8?q?final?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../institucion-dia.service.ts | 2 +- .../entity/institucion-infraccion.entity.ts | 4 +- .../institucion-infraccion.controller.ts | 4 +- .../institucion-infraccion.service.ts | 68 +++++++------------ .../institucion-programa.service.ts | 2 +- .../institucion-tipo-carrito.service.ts | 2 +- .../institucion-tipo-entrada.service.ts | 2 +- src/institucion/institucion.service.ts | 2 +- src/marca/marca.service.ts | 2 +- src/modelo/modelo.service.ts | 2 +- src/prestamo/prestamo.service.ts | 4 +- src/tipo-usuario/tipo-usuario.service.ts | 2 +- 12 files changed, 40 insertions(+), 56 deletions(-) diff --git a/src/institucion-dia/institucion-dia.service.ts b/src/institucion-dia/institucion-dia.service.ts index 881c8cd..188cf8a 100644 --- a/src/institucion-dia/institucion-dia.service.ts +++ b/src/institucion-dia/institucion-dia.service.ts @@ -75,7 +75,7 @@ export class InstitucionDiaService { institucionDia.institucion.id_institucion ) throw new ConflictException( - 'No puedes acceder a esta información porque no le pertenece a tu institución.', + 'No puedes modificar la información este día porque no pertenece a tu institución.', ); // Validamos que hora_inicio no sea mayor a hora_fin if ( diff --git a/src/institucion-infraccion/entity/institucion-infraccion.entity.ts b/src/institucion-infraccion/entity/institucion-infraccion.entity.ts index 27b0fd2..9036283 100644 --- a/src/institucion-infraccion/entity/institucion-infraccion.entity.ts +++ b/src/institucion-infraccion/entity/institucion-infraccion.entity.ts @@ -30,7 +30,9 @@ export class InstitucionInfraccion { @JoinColumn({ name: 'id_infraccion' }) infraccion: Infraccion; - @ManyToOne(() => Institucion, (institucion) => institucion.infracciones) + @ManyToOne(() => Institucion, (institucion) => institucion.infracciones, { + eager: true, + }) @JoinColumn({ name: 'id_institucion' }) institucion: Institucion; diff --git a/src/institucion-infraccion/institucion-infraccion.controller.ts b/src/institucion-infraccion/institucion-infraccion.controller.ts index 9222b68..0e38dc8 100644 --- a/src/institucion-infraccion/institucion-infraccion.controller.ts +++ b/src/institucion-infraccion/institucion-infraccion.controller.ts @@ -66,9 +66,7 @@ export class InstitucionInfraccionController { const operador: Operador = req.user.operador; this.validarUsuarioService.validarAdminOperador(operador); - return this.institucionInfraccionService.findAllByIdInstitucion( - operador.institucion.id_institucion, - ); + return this.institucionInfraccionService.findAllOperador(operador); } @Serealize(MessageOutputDto) diff --git a/src/institucion-infraccion/institucion-infraccion.service.ts b/src/institucion-infraccion/institucion-infraccion.service.ts index 6463f33..e2d2fe7 100644 --- a/src/institucion-infraccion/institucion-infraccion.service.ts +++ b/src/institucion-infraccion/institucion-infraccion.service.ts @@ -6,10 +6,10 @@ import { import { InjectRepository } from '@nestjs/typeorm'; import { Not, Repository } from 'typeorm'; import { Infraccion } from './entity/infraccion.entity'; +import { Institucion } from '../institucion/entity/institucion.entity'; import { InstitucionInfraccion } from './entity/institucion-infraccion.entity'; import { Operador } from '../operador/entity/operador.entity'; import { InstitucionService } from '../institucion/institucion.service'; -import { Institucion } from 'src/institucion/entity/institucion.entity'; @Injectable() export class InstitucionInfraccionService { @@ -21,12 +21,12 @@ export class InstitucionInfraccionService { private institucionService: InstitucionService, ) {} - create(infraccion: string) { - // Buscamos una infracción con ese nombre + create(infraccion: string): Promise<{ message: string }> { + // Buscamos un registro con ese nombre return this.infraccionRepository .findOne({ where: { infraccion } }) .then((existeInfraccion) => { - // Saco error si existe + // Sacamos error si existe if (existeInfraccion) throw new ConflictException('Ya existe esta infracción.'); // Creamos y guardamos un registro @@ -37,7 +37,7 @@ export class InstitucionInfraccionService { .then(async (infraccion) => { const instituciones = await this.institucionService.findAll(); - // Le asigno la nueva infracción a todas las instituciones + // Asociamos las nueva infracción con las instituciones for (let i = 0; i < instituciones.length; i++) await this.institucionInfraccionRepository.save( this.institucionInfraccionRepository.create({ @@ -49,39 +49,26 @@ export class InstitucionInfraccionService { }); } - findAll() { + findAll(): Promise { return this.infraccionRepository.find({ where: { id_infraccion: Not(1) }, order: { infraccion: 'ASC' }, }); } - findAllByIdInstitucion(id_institucion: number) { - return this.institucionService - .findById(id_institucion) - .then((institucion) => - this.institucionInfraccionRepository - .createQueryBuilder('ii') - .innerJoinAndSelect('ii.infraccion', 'inf') - .innerJoinAndSelect('ii.institucion', 'i') - .where( - 'i.id_institucion = :id_institucion && inf.id_infraccion != 1', - { id_institucion: institucion.id_institucion }, - ) - .orderBy('inf.infraccion') - .getMany(), - ); + findAllOperador(operador: Operador): Promise { + return this.institucionInfraccionRepository.find({ + where: { + infraccion: { id_infraccion: Not(1) }, + institucion: operador.institucion, + }, + order: { infraccion: { infraccion: 'ASC' } }, + }); } - findById(id_institucion_infraccion: number) { + findById(id_institucion_infraccion: number): Promise { return this.institucionInfraccionRepository - .findOne({ - join: { - alias: 'ii', - innerJoinAndSelect: { i: 'ii.institucion', in: 'ii.infraccion' }, - }, - where: { id_institucion_infraccion }, - }) + .findOne({ where: { id_institucion_infraccion } }) .then((institucionInfraccion) => { if (!institucionInfraccion) throw new NotFoundException( @@ -91,28 +78,25 @@ export class InstitucionInfraccionService { }); } - findSinInfraccion(institucion: Institucion) { - return this.institucionInfraccionRepository - .createQueryBuilder('ii') - .innerJoinAndSelect('ii.infraccion', 'inf') - .innerJoinAndSelect('ii.institucion', 'i') - .where('i.id_institucion = :id_institucion && inf.id_infraccion = 1', { - id_institucion: institucion.id_institucion, - }) - .getOne(); + findSinInfraccion(institucion: Institucion): Promise { + return this.institucionInfraccionRepository.findOne({ + where: { infraccion: { id_infraccion: 1 }, institucion }, + }); } - update(admin: Operador, attrs: Partial) { + update( + admin: Operador, + attrs: Partial, + ): Promise<{ message: string }> { return this.findById(attrs.id_institucion_infraccion) .then((institucionInfraccion) => { - // Validamos que la institucionInfraccion le pertenezca al operador que - // realiza esta acción + // Validamos que la institucion infraccion pertenezca a la institución del admin if ( admin.institucion.id_institucion != institucionInfraccion.institucion.id_institucion ) throw new ConflictException( - 'No puedes actualizar la información de esta infraccion porque no le pertenece a tu institución.', + 'No puedes modificar la información este infracción porque no pertenece a tu institución.', ); // Asignamos valores enviados al objeto Object.assign(institucionInfraccion, attrs); diff --git a/src/institucion-programa/institucion-programa.service.ts b/src/institucion-programa/institucion-programa.service.ts index 4a60989..665881e 100644 --- a/src/institucion-programa/institucion-programa.service.ts +++ b/src/institucion-programa/institucion-programa.service.ts @@ -25,7 +25,7 @@ export class InstitucionProgramaService { return this.programaRepository .findOne({ where: { programa } }) .then((existePrograma) => { - // Saco error si existe + // Sacamos error si existe if (existePrograma) throw new ConflictException('Ya existe este programa.'); // Creamos y guardamos un registro diff --git a/src/institucion-tipo-carrito/institucion-tipo-carrito.service.ts b/src/institucion-tipo-carrito/institucion-tipo-carrito.service.ts index 49cf3e0..1422bdb 100644 --- a/src/institucion-tipo-carrito/institucion-tipo-carrito.service.ts +++ b/src/institucion-tipo-carrito/institucion-tipo-carrito.service.ts @@ -25,7 +25,7 @@ export class InstitucionTipoCarritoService { return this.tipoCarritoRepository .findOne({ where: [{ letra }, { tipo_carrito }] }) .then((existeTipoCarrito) => { - // Saco error si existe + // Sacamos error si existe if (existeTipoCarrito) { if (letra === existeTipoCarrito.letra) throw new ConflictException( diff --git a/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts b/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts index 5be2812..e605b52 100644 --- a/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts +++ b/src/institucion-tipo-entrada/institucion-tipo-entrada.service.ts @@ -25,7 +25,7 @@ export class InstitucionTipoEntradaService { return this.tipoEntradaRepository .findOne({ where: { tipo_entrada } }) .then((existeTipoEntrada) => { - // Saco error si existe + // Sacamos error si existe if (existeTipoEntrada) throw new ConflictException('Ya existe este tipo de entrada.'); // Creamos y guardamos un registro diff --git a/src/institucion/institucion.service.ts b/src/institucion/institucion.service.ts index 970f666..443422f 100644 --- a/src/institucion/institucion.service.ts +++ b/src/institucion/institucion.service.ts @@ -83,7 +83,7 @@ export class InstitucionService { 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.', + 'No puedes modificar la información esta institución porque no te pertenece.', ); // Asignamos valores enviados al objeto Object.assign(institucion, attrs); diff --git a/src/marca/marca.service.ts b/src/marca/marca.service.ts index 5043039..3c74499 100644 --- a/src/marca/marca.service.ts +++ b/src/marca/marca.service.ts @@ -11,7 +11,7 @@ export class MarcaService { // Buscamos una marca con ese nombre return this.findByMarca(marca, tipo, false) .then((existeMarca) => { - // Saco error si existe + // Sacamos error si existe if (existeMarca) throw new ConflictException('Ya existe esta marca.'); // Creamos y guardamos un registro return this.repository.save(this.repository.create({ marca, tipo })); diff --git a/src/modelo/modelo.service.ts b/src/modelo/modelo.service.ts index f068417..e9b4b60 100644 --- a/src/modelo/modelo.service.ts +++ b/src/modelo/modelo.service.ts @@ -13,7 +13,7 @@ export class ModeloService { // Buscamos un modelo con ese nombre return this.findByModelo(modelo, tipo, false) .then((existeModelo) => { - // Saco error si existe + // Sacamos error si existe if (existeModelo) throw new ConflictException('Ya existe este modelo.'); // Creamos y guardamos un registro return this.repository.save(this.repository.create({ modelo, tipo })); diff --git a/src/prestamo/prestamo.service.ts b/src/prestamo/prestamo.service.ts index 444d5a1..9c4c6f5 100644 --- a/src/prestamo/prestamo.service.ts +++ b/src/prestamo/prestamo.service.ts @@ -111,7 +111,7 @@ export class PrestamoService { const prestamo = await this.prestamoInfoByUsuario(usuario); this.validacionBasicaPrestamo(prestamo); - // Saco error en status de equipo 3 + // Sacamos error en status de equipo 3 if (prestamo.equipo.u === usuario.id_usuario) { if (prestamo.equipo.status.id_status === 3) throw new ConflictException( @@ -215,7 +215,7 @@ export class PrestamoService { }); }) .then((existePrestamo) => { - // Saco error si lo encuentra + // Sacamos error si lo encuentra if (existePrestamo) throw new ConflictException( 'Este usuario ya tiene un préstamo activo.', diff --git a/src/tipo-usuario/tipo-usuario.service.ts b/src/tipo-usuario/tipo-usuario.service.ts index 366fbab..7fc192a 100644 --- a/src/tipo-usuario/tipo-usuario.service.ts +++ b/src/tipo-usuario/tipo-usuario.service.ts @@ -18,7 +18,7 @@ export class TipoUsuarioService { return this.repository .findOne({ where: { tipo_usuario } }) .then((existeTipoUsuario) => { - // Saco error si existe + // Sacamos error si existe if (existeTipoUsuario) throw new ConflictException('Ya existe este tipo usuario'); // Creamos y guardamos un registro