From 02a3020522b3eaa3922f98cbb8b3e6e1f19a9032 Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Fri, 24 Jun 2022 01:20:22 -0500 Subject: [PATCH] modulo equipo programa final --- .../equipo-programa.controller.ts | 5 ++- src/equipo-programa/equipo-programa.module.ts | 2 +- .../equipo-programa.service.ts | 33 ++++++++++--------- src/equipo/dto/output/equipo-min.dto.ts | 4 +-- src/equipo/dto/output/equipo.dto.ts | 4 +-- src/equipo/dto/output/equipos.dto.ts | 4 +-- src/equipo/equipo.controller.ts | 2 +- src/equipo/equipo.service.ts | 1 - src/upload-file/upload-file.service.ts | 2 +- 9 files changed, 31 insertions(+), 26 deletions(-) diff --git a/src/equipo-programa/equipo-programa.controller.ts b/src/equipo-programa/equipo-programa.controller.ts index 3d07127..ac8c9db 100644 --- a/src/equipo-programa/equipo-programa.controller.ts +++ b/src/equipo-programa/equipo-programa.controller.ts @@ -1,4 +1,5 @@ -import { Body, Controller, Delete, Post } from '@nestjs/common'; +import { Body, Controller, Delete, Post, UseGuards } from '@nestjs/common'; +import { AuthGuard } from '@nestjs/passport'; import { ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger'; import { EquipoProgramaService } from './equipo-programa.service'; import { CreateEquipoProgramaDto } from './dto/input/create.dto'; @@ -9,6 +10,7 @@ export class EquipoProgramaController { constructor(private equipoProgramaService: EquipoProgramaService) {} @Post() + // @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea una relación entre un equipo y un programa.', @@ -22,6 +24,7 @@ export class EquipoProgramaController { } @Delete() + // @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que elimina una relación entre un equipo y un programa.', diff --git a/src/equipo-programa/equipo-programa.module.ts b/src/equipo-programa/equipo-programa.module.ts index 0342dde..2df0ae5 100644 --- a/src/equipo-programa/equipo-programa.module.ts +++ b/src/equipo-programa/equipo-programa.module.ts @@ -3,8 +3,8 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { EquipoProgramaController } from './equipo-programa.controller'; import { EquipoProgramaService } from './equipo-programa.service'; import { EquipoPrograma } from '../equipo-programa/entity/equipo-programa.entity'; -import { InstitucionProgramaModule } from '../institucion-programa/institucion-programa.module'; import { EquipoModule } from '../equipo/equipo.module'; +import { InstitucionProgramaModule } from '../institucion-programa/institucion-programa.module'; @Module({ imports: [ diff --git a/src/equipo-programa/equipo-programa.service.ts b/src/equipo-programa/equipo-programa.service.ts index 73b3ff0..1cfedf2 100644 --- a/src/equipo-programa/equipo-programa.service.ts +++ b/src/equipo-programa/equipo-programa.service.ts @@ -22,16 +22,6 @@ export class EquipoProgramaService { private institucionProgramaService: InstitucionProgramaService, ) {} - buscarEliminarEquipoSinPrograma(equipo: Equipo) { - return this.repository - .findOne({ equipo, programa: { id_programa: 1 } }) - .then((existeEquipoPrograma) => - existeEquipoPrograma - ? this.delete(existeEquipoPrograma) - : existeEquipoPrograma, - ); - } - countProgramasEquipo(equipo: Equipo) { return this.repository.count({ equipo }); } @@ -51,7 +41,7 @@ export class EquipoProgramaService { this.repository.save(this.repository.create({ equipo, programa })), ) .then((equipoPrograma) => ({ - message: `Se agrego el programa: ${equipoPrograma.programa}, al equipo con número de inventario: ${equipo.numero_inventario}}`, + message: `Se asignó el programa: ${equipoPrograma.programa}, al equipo con número de inventario: ${equipo.numero_inventario}.`, equipoPrograma, })); } @@ -67,10 +57,23 @@ export class EquipoProgramaService { if (n === 1) { if (equipoPrograma.programa.id_programa === 1) throw new ConflictException('No se puede eliminar esta opción.'); - this.create(equipoPrograma.equipo, 1); + return this.create(equipoPrograma.equipo, 1); } }); - return this.repository.remove(equipoPrograma); + return this.repository + .remove(equipoPrograma) + .then((_) => ({ + message: 'Se eliminó correctamente el programa de este equipo.', + })); + } + + eliminarEquipoSinPrograma(equipo: Equipo) { + return this.institucionProgramaService + .findProgramaById(1) + .then((programa) => this.repository.findOne({ equipo, programa })) + .then((equipoPrograma) => { + if (equipoPrograma) return this.delete(equipoPrograma); + }); } existeEquipoPrograma( @@ -83,7 +86,7 @@ export class EquipoProgramaService { .then((equipoPrograma) => { if (validarExistencia && equipoPrograma) throw new ConflictException( - 'Ya existe un equipo programa con este equipo y este programa.', + 'Este programa ya fue asignado a este equipo.', ); return equipoPrograma; }); @@ -97,7 +100,7 @@ export class EquipoProgramaService { }) .then((equipoPrograma) => { if (!equipoPrograma) - throw new ConflictException('No existe este equipo programa.'); + throw new ConflictException('No existe este id equipo programa.'); return equipoPrograma; }); } diff --git a/src/equipo/dto/output/equipo-min.dto.ts b/src/equipo/dto/output/equipo-min.dto.ts index e9ed6c0..91857e8 100644 --- a/src/equipo/dto/output/equipo-min.dto.ts +++ b/src/equipo/dto/output/equipo-min.dto.ts @@ -6,10 +6,10 @@ import { StatusOutputDto } from '../../../status/dto/output/status.dto'; export class EquipoMinOutputDto { @Expose() - equipo; + id_equipo; @Expose() - id_equipo; + equipo; @Expose() numero_inventario; diff --git a/src/equipo/dto/output/equipo.dto.ts b/src/equipo/dto/output/equipo.dto.ts index c296bfc..f31f986 100644 --- a/src/equipo/dto/output/equipo.dto.ts +++ b/src/equipo/dto/output/equipo.dto.ts @@ -6,10 +6,10 @@ import { StatusOutputDto } from '../../../status/dto/output/status.dto'; export class EquipoOutputDto { @Expose() - equipo; + id_equipo; @Expose() - id_equipo; + equipo; @Expose() marca; diff --git a/src/equipo/dto/output/equipos.dto.ts b/src/equipo/dto/output/equipos.dto.ts index f25a827..da1127c 100644 --- a/src/equipo/dto/output/equipos.dto.ts +++ b/src/equipo/dto/output/equipos.dto.ts @@ -4,10 +4,10 @@ import { StatusOutputDto } from '../../../status/dto/output/status.dto'; export class EquiposOutputDto { @Expose() - equipo; + id_equipo; @Expose() - id_equipo; + equipo; @Expose() numero_inventario; diff --git a/src/equipo/equipo.controller.ts b/src/equipo/equipo.controller.ts index aa093fa..fdbc326 100644 --- a/src/equipo/equipo.controller.ts +++ b/src/equipo/equipo.controller.ts @@ -1,4 +1,4 @@ -import { Body, Controller, Get, Put, Query } from '@nestjs/common'; +import { Body, Controller, Get, Put, Query, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; import { ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; import { Serealize } from '../interceptors/serialize.interceptor'; diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index 4b664bc..946e63b 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -139,7 +139,6 @@ export class EquipoService { query.andWhere('ps.id_programa = :id_programa', { id_programa: programa.id_programa, }); - else query.andWhere('ps.id_programa = 1'); if (tipoCarrito) query.andWhere('tc.id_tipo_carrito = :id_tipo_carrito', { id_tipo_carrito: tipoCarrito.id_tipo_carrito, diff --git a/src/upload-file/upload-file.service.ts b/src/upload-file/upload-file.service.ts index 80f3f9a..dc36909 100644 --- a/src/upload-file/upload-file.service.ts +++ b/src/upload-file/upload-file.service.ts @@ -220,7 +220,7 @@ export class UploadFileService { continue; } await this.equipoProgramaService - .buscarEliminarEquipoSinPrograma(equipo) + .eliminarEquipoSinPrograma(equipo) .then((_) => this.equipoProgramaService.create(equipo, programa), )