From 9084d5eeda6f7ecb926147b326dbdd4db043f720 Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Tue, 4 Oct 2022 15:38:15 -0500 Subject: [PATCH] institucion final --- src/app.module.ts | 4 -- .../carrera-programa.service.ts | 6 +- .../institucion-carrera.service.ts | 4 +- .../institucion-dia.service.ts | 4 +- .../institucion-infraccion.service.ts | 6 +- .../views/informacion-institucion.view.ts | 15 ----- .../views/min-informacion-institucion.view.ts | 35 ---------- src/institucion/institucion.controller.ts | 4 +- src/institucion/institucion.module.ts | 8 +-- src/institucion/institucion.service.ts | 64 ++++++------------- src/upload-file/upload-file.controller.ts | 28 ++++---- src/upload-file/upload-file.service.ts | 6 +- 12 files changed, 47 insertions(+), 137 deletions(-) delete mode 100644 src/institucion/entity/views/informacion-institucion.view.ts delete mode 100644 src/institucion/entity/views/min-informacion-institucion.view.ts diff --git a/src/app.module.ts b/src/app.module.ts index 9d0c281..b163bf9 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -80,8 +80,6 @@ import { FullInformacionEquipoProgramaView } from './equipo-programa/entity/view import { InformacionEquipoProgramaView } from './equipo-programa/entity/views/informacion-equipo-programa.view'; import { FullInformacionEquipoTipoEntradaView } from './equipo-tipo-entrada/entity/views/full-informacion-equipo-tipo-entrada.view'; import { InformacionEquipoTipoEntradaView } from './equipo-tipo-entrada/entity/views/informacion-equipo-tipo-entrada.view'; -import { InformacionInstitucionView } from './institucion/entity/views/informacion-institucion.view'; -import { MinInformacionInstitucionView } from './institucion/entity/views/min-informacion-institucion.view'; import { InformacionModuloView } from './modulo/entity/views/informacion-modulo.view'; import { MinInformacionModuloView } from './modulo/entity/views/min-informacion-modulo.view'; import { FullInformacionMultaView } from './multa/entity/views/full-informacion-multa.view'; @@ -159,8 +157,6 @@ import { InformacionUsuarioView } from './usuario/entity/views/informacion-usuar InformacionEquipoProgramaView, FullInformacionEquipoTipoEntradaView, InformacionEquipoTipoEntradaView, - InformacionInstitucionView, - MinInformacionInstitucionView, InformacionModuloView, MinInformacionModuloView, FullInformacionMultaView, diff --git a/src/carrera-programa/carrera-programa.service.ts b/src/carrera-programa/carrera-programa.service.ts index 85698f2..b2cff15 100644 --- a/src/carrera-programa/carrera-programa.service.ts +++ b/src/carrera-programa/carrera-programa.service.ts @@ -93,7 +93,7 @@ export class CarreraProgramaService { id_institucion: number, ) { return this.institucionService - .findById(id_institucion) + .findInfoInstitucionById(id_institucion) .then((institucion) => { if (usuarioOperador instanceof Operador) { if ( @@ -128,9 +128,7 @@ export class CarreraProgramaService { i: 'ic.institucion', }, }, - where: { - institucionCarrera: { institucion }, - }, + where: { institucionCarrera: { institucion } }, }); }); } diff --git a/src/institucion-carrera/institucion-carrera.service.ts b/src/institucion-carrera/institucion-carrera.service.ts index 739b29f..93702ce 100644 --- a/src/institucion-carrera/institucion-carrera.service.ts +++ b/src/institucion-carrera/institucion-carrera.service.ts @@ -17,7 +17,7 @@ export class InstitucionCarreraService { findAllByIdInstitucion(id_institucion: number) { return this.institucionService - .findById(id_institucion) + .findInfoInstitucionById(id_institucion) .then((institucion) => this.institucionCarreraRepository.find({ where: { @@ -78,7 +78,7 @@ export class InstitucionCarreraService { findInstitucionProfesor(id_institucion: number) { return this.institucionService - .findById(id_institucion) + .findInfoInstitucionById(id_institucion) .then((institucion) => this.institucionCarreraRepository.findOne({ where: { carrera: { id_carrera: 1 }, institucion }, diff --git a/src/institucion-dia/institucion-dia.service.ts b/src/institucion-dia/institucion-dia.service.ts index 8188b77..1251d8e 100644 --- a/src/institucion-dia/institucion-dia.service.ts +++ b/src/institucion-dia/institucion-dia.service.ts @@ -22,7 +22,7 @@ export class InstitucionDiaService { findAllByIdInstitucion(id_institucion: number) { return this.institucionService - .findById(id_institucion) + .findInfoInstitucionById(id_institucion) .then((institucion) => this.repository.find({ where: { institucion }, @@ -62,7 +62,7 @@ export class InstitucionDiaService { 'No se puede pedir equipo de cómputo los sabados y domingos.', ); return this.institucionService - .findById(id_institucion) + .findInfoInstitucionById(id_institucion) .then((institucion) => this.findByInstitucionDia(institucion, ahora.weekday()), ); diff --git a/src/institucion-infraccion/institucion-infraccion.service.ts b/src/institucion-infraccion/institucion-infraccion.service.ts index deb0a6b..d1bcda1 100644 --- a/src/institucion-infraccion/institucion-infraccion.service.ts +++ b/src/institucion-infraccion/institucion-infraccion.service.ts @@ -54,7 +54,7 @@ export class InstitucionInfraccionService { findAllByIdInstitucion(id_institucion: number) { return this.institucionService - .findById(id_institucion) + .findInfoInstitucionById(id_institucion) .then((institucion) => this.institucionInfraccionRepository .createQueryBuilder('ii') @@ -62,9 +62,7 @@ export class InstitucionInfraccionService { .innerJoinAndSelect('ii.institucion', 'i') .where( 'i.id_institucion = :id_institucion && inf.id_infraccion != 1', - { - id_institucion: institucion.id_institucion, - }, + { id_institucion: institucion.id_institucion }, ) .orderBy('inf.infraccion') .getMany(), diff --git a/src/institucion/entity/views/informacion-institucion.view.ts b/src/institucion/entity/views/informacion-institucion.view.ts deleted file mode 100644 index 03104b0..0000000 --- a/src/institucion/entity/views/informacion-institucion.view.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { DataSource, ViewEntity, ViewColumn } from 'typeorm'; -import { Institucion } from '../institucion.entity'; - -@ViewEntity({ - expression: (dataSource: DataSource) => - dataSource - .createQueryBuilder() - .select('i.id_institucion', 'id_institucion') - .from(Institucion, 'i') - .orderBy('institucion', 'ASC'), -}) -export class InformacionInstitucionView { - @ViewColumn() - id_institucion: number; -} diff --git a/src/institucion/entity/views/min-informacion-institucion.view.ts b/src/institucion/entity/views/min-informacion-institucion.view.ts deleted file mode 100644 index 91b7d9e..0000000 --- a/src/institucion/entity/views/min-informacion-institucion.view.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { DataSource, ViewEntity, ViewColumn } from 'typeorm'; -import { Institucion } from '../institucion.entity'; - -@ViewEntity({ - expression: (dataSource: DataSource) => - dataSource - .createQueryBuilder() - .select('i.id_institucion', 'id_institucion') - .addSelect('i.activo', 'activo') - .addSelect('i.correo', 'correo') - .addSelect('i.dominio', 'dominio') - .addSelect('i.institucion', 'institucion') - .addSelect('i.responsable', 'responsable') - .from(Institucion, 'i') - .orderBy('institucion', 'ASC'), -}) -export class MinInformacionInstitucionView { - @ViewColumn() - id_institucion: number; - - @ViewColumn() - activo: number; - - @ViewColumn() - correo: string; - - @ViewColumn() - dominio: string; - - @ViewColumn() - institucion: string; - - @ViewColumn() - responsable: string; -} diff --git a/src/institucion/institucion.controller.ts b/src/institucion/institucion.controller.ts index 49991cf..6927e3c 100644 --- a/src/institucion/institucion.controller.ts +++ b/src/institucion/institucion.controller.ts @@ -41,7 +41,7 @@ export class InstitucionController { description: 'Endpoint que retorna todas las instituciones activas.', }) activas() { - return this.institucionService.findMinInfoInstitucionAll(1); + return this.institucionService.findMinInfoInstitucionAll(true); } @Serealize(InstitucionMinOutputDto) @@ -99,7 +99,7 @@ export class InstitucionController { const superAdmin: Operador = req.user.operador; this.validarUsuarioService.validarSuperAdmin(superAdmin); - return this.institucionService.findMinInfoInstitucionAll(0, true); + return this.institucionService.findMinInfoInstitucionAll(false, true); } @Put() diff --git a/src/institucion/institucion.module.ts b/src/institucion/institucion.module.ts index 98b4972..b49895d 100644 --- a/src/institucion/institucion.module.ts +++ b/src/institucion/institucion.module.ts @@ -4,18 +4,12 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { InstitucionController } from './institucion.controller'; import { InstitucionService } from './institucion.service'; import { Institucion } from './entity/institucion.entity'; -import { InformacionInstitucionView } from './entity/views/informacion-institucion.view'; -import { MinInformacionInstitucionView } from './entity/views/min-informacion-institucion.view'; import { ValidarUsuarioModule } from '../validar-usuario/validar-usuario.module'; @Module({ imports: [ PassportModule.register({ defaultStrategy: 'jwt' }), - TypeOrmModule.forFeature([ - Institucion, - InformacionInstitucionView, - MinInformacionInstitucionView, - ]), + TypeOrmModule.forFeature([Institucion]), ValidarUsuarioModule, ], controllers: [InstitucionController], diff --git a/src/institucion/institucion.service.ts b/src/institucion/institucion.service.ts index b2c8fcb..7b542bd 100644 --- a/src/institucion/institucion.service.ts +++ b/src/institucion/institucion.service.ts @@ -7,20 +7,13 @@ import { InjectRepository } from '@nestjs/typeorm'; import { FindOptionsWhere, IsNull, Not, Repository } from 'typeorm'; import { Institucion } from './entity/institucion.entity'; import { Operador } from '../operador/entity/operador.entity'; -import { InformacionInstitucionView } from './entity/views/informacion-institucion.view'; -import { MinInformacionInstitucionView } from './entity/views/min-informacion-institucion.view'; @Injectable() export class InstitucionService { constructor( @InjectRepository(Institucion) private repository: Repository, - @InjectRepository(InformacionInstitucionView) - private informacionInstitucionView: Repository, - @InjectRepository(MinInformacionInstitucionView) - private minInformacionInstitucionView: Repository, ) {} - // Posiblemente desaparezca findById(id_institucion: number) { return this.repository .findOne({ where: { id_institucion } }) @@ -32,54 +25,35 @@ export class InstitucionService { } findInfoInstitucionById(id_institucion: number) { - return this.informacionInstitucionView - .findOne({ where: { id_institucion } }) - .then((infoInstitucion) => { - if (!infoInstitucion) + return this.repository + .findOne({ select: ['id_institucion'], where: { id_institucion } }) + .then((institucion) => { + if (!institucion) throw new NotFoundException('No existe este id institución.'); - return this.repository.create({ - id_institucion: infoInstitucion.id_institucion, - }); + return institucion; }); } findInfoInstitucionAll() { - return this.informacionInstitucionView.find().then((infoInstituciones) => { - const instituciones: Institucion[] = []; - - for (let i = 0; i < infoInstituciones.length; i++) - instituciones.push( - this.repository.create({ - id_institucion: infoInstituciones[i].id_institucion, - }), - ); - return instituciones; - }); + return this.repository.find({ select: ['id_institucion'] }); } - findMinInfoInstitucionAll(activo = 0, responsable = false) { - const busqueda: FindOptionsWhere = {}; + findMinInfoInstitucionAll(activo = false, responsable = false) { + const busqueda: FindOptionsWhere = {}; if (activo) busqueda.activo = activo; if (responsable) busqueda.responsable = Not(IsNull()); - return this.minInformacionInstitucionView - .find({ where: busqueda }) - .then((infoInstituciones) => { - const instituciones: Institucion[] = []; - - for (let i = 0; i < infoInstituciones.length; i++) - instituciones.push( - this.repository.create({ - id_institucion: infoInstituciones[i].id_institucion, - activo: infoInstituciones[i].activo === 1, - correo: infoInstituciones[i].correo, - dominio: infoInstituciones[i].dominio, - institucion: infoInstituciones[i].institucion, - responsable: infoInstituciones[i].responsable, - }), - ); - return instituciones; - }); + return this.repository.find({ + select: [ + 'id_institucion', + 'activo', + 'correo', + 'dominio', + 'institucion', + 'responsable', + ], + where: busqueda, + }); } update(admin: Operador, attrs: Partial) { diff --git a/src/upload-file/upload-file.controller.ts b/src/upload-file/upload-file.controller.ts index f8e8f91..bc86d39 100644 --- a/src/upload-file/upload-file.controller.ts +++ b/src/upload-file/upload-file.controller.ts @@ -66,21 +66,21 @@ export class UploadFileController { ); } - @Get('download-logo') - @UseGuards(AuthGuard('jwt')) - @ApiBearerAuth('jwt') - downloadLogo( - @Request() req, - @Response() res, - @Query() query: IdInstitucionDto, - ) { - const operador: Operador = req.user.operador; + // @Get('download-logo') + // @UseGuards(AuthGuard('jwt')) + // @ApiBearerAuth('jwt') + // downloadLogo( + // @Request() req, + // @Response() res, + // @Query() query: IdInstitucionDto, + // ) { + // const operador: Operador = req.user.operador; - this.validarUsuarioService.validarAdminOperador(operador); - return this.uploadFileService - .downloadLogo(parseInt(query.id_institucion)) - .then((logo) => res.download(logo)); - } + // this.validarUsuarioService.validarAdminOperador(operador); + // return this.uploadFileService + // .downloadLogo(parseInt(query.id_institucion)) + // .then((logo) => res.download(logo)); + // } @Get('download-plantilla-equipos') @UseGuards(AuthGuard('jwt')) diff --git a/src/upload-file/upload-file.service.ts b/src/upload-file/upload-file.service.ts index bc47d03..9655bcc 100644 --- a/src/upload-file/upload-file.service.ts +++ b/src/upload-file/upload-file.service.ts @@ -116,9 +116,9 @@ export class UploadFileService { } downloadLogo(id_institucion: number) { - return this.institucionService - .findById(id_institucion) - .then((institucion) => institucion.logo); + // return this.institucionService + // .findById(id_institucion) + // .then((institucion) => institucion.logo); } errorBase(index) {