From 712848a9323ddc725b826f0473bf8ba1cfb17e44 Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Mon, 19 Dec 2022 20:05:42 -0600 Subject: [PATCH] equipo controller final --- .../carrito-motivo.controller.ts | 2 +- src/carrito-motivo/carrito-motivo.service.ts | 1 + src/carrito/carrito.controller.ts | 5 +- src/carrito/carrito.service.ts | 2 +- src/dto/{ => input}/numero-inventario.dto.ts | 3 +- src/equipo/equipo.controller.ts | 57 ++++++++----------- src/prestamo/prestamo.controller.ts | 2 +- 7 files changed, 32 insertions(+), 40 deletions(-) rename src/dto/{ => input}/numero-inventario.dto.ts (52%) diff --git a/src/carrito-motivo/carrito-motivo.controller.ts b/src/carrito-motivo/carrito-motivo.controller.ts index 2008983..8bb5f91 100644 --- a/src/carrito-motivo/carrito-motivo.controller.ts +++ b/src/carrito-motivo/carrito-motivo.controller.ts @@ -27,7 +27,7 @@ export class CarritoMotivoController { @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: - 'Información de 25 cambios de status de un carrito dependiendo de sus filtros.', + 'Información de 25 cambios de status de un carrito dependiendo de los filtros enviados.', }) @ApiBearerAuth('jwt') @ApiQuery({ diff --git a/src/carrito-motivo/carrito-motivo.service.ts b/src/carrito-motivo/carrito-motivo.service.ts index ebb7687..39e0bfc 100644 --- a/src/carrito-motivo/carrito-motivo.service.ts +++ b/src/carrito-motivo/carrito-motivo.service.ts @@ -49,6 +49,7 @@ export class CarritoMotivoService { const carrito = await this.carritoService.findById(id_carrito); const options: FindManyOptions = { where: { carrito } }; + // Validamos que el carrito pertenezca a la institución del operador if ( carrito.modulo.institucion.id_institucion != operador.institucion.id_institucion diff --git a/src/carrito/carrito.controller.ts b/src/carrito/carrito.controller.ts index 808f254..8c1ab45 100644 --- a/src/carrito/carrito.controller.ts +++ b/src/carrito/carrito.controller.ts @@ -70,7 +70,8 @@ export class CarritoController { @Get('carritos') @UseGuards(AuthGuard('jwt')) @ApiOperation({ - description: 'Información de 25 carritos dependiendo de sus filtros.', + description: + 'Información de 25 carritos dependiendo de los filtros enviados.', }) @ApiBearerAuth('jwt') @ApiQuery({ @@ -110,7 +111,7 @@ export class CarritoController { required: false, }) @ApiQuery({ - description: 'Página en la que se encuentra el admin.', + description: 'Página en la que se encuentra el operador.', name: 'pagina', type: 'string', required: false, diff --git a/src/carrito/carrito.service.ts b/src/carrito/carrito.service.ts index 53db3a6..a8830a3 100644 --- a/src/carrito/carrito.service.ts +++ b/src/carrito/carrito.service.ts @@ -218,7 +218,7 @@ export class CarritoService { return this.repository.save(carrito); }) .then(async (carrito) => { - // Creamos reporte de desactivación + // Creamos reporte de desactivación si se paso a inactivo if (attrs.activo === false) await this.caritoMotivoService.create( carrito, diff --git a/src/dto/numero-inventario.dto.ts b/src/dto/input/numero-inventario.dto.ts similarity index 52% rename from src/dto/numero-inventario.dto.ts rename to src/dto/input/numero-inventario.dto.ts index 5519c88..bb9f700 100644 --- a/src/dto/numero-inventario.dto.ts +++ b/src/dto/input/numero-inventario.dto.ts @@ -1,6 +1,7 @@ -import { IsNumberString, IsString } from 'class-validator'; +import { IsString, IsNotEmpty } from 'class-validator'; export class NumeroInventarioDto { @IsString() + @IsNotEmpty() numero_inventario: string; } diff --git a/src/equipo/equipo.controller.ts b/src/equipo/equipo.controller.ts index 4421e7a..8b67557 100644 --- a/src/equipo/equipo.controller.ts +++ b/src/equipo/equipo.controller.ts @@ -20,7 +20,7 @@ import { Serealize } from '../interceptors/serialize.interceptor'; import { EquipoService } from './equipo.service'; import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service'; import { Operador } from '../operador/entity/operador.entity'; -import { NumeroInventarioDto } from '../dto/numero-inventario.dto'; +import { NumeroInventarioDto } from '../dto/input/numero-inventario.dto'; import { EquiposDto } from './dto/input/equipos.dto'; import { MessageOutputDto } from '../dto/output/message.dto'; import { UpdateEquipoDto } from './dto/input/update.dto'; @@ -39,12 +39,11 @@ export class EquipoController { @Get('equipo') @UseGuards(AuthGuard('jwt')) @ApiOperation({ - description: - 'Endpoint que retorna la información de un equipo por su número de inventario de una institución.', + description: 'Información de un equipo de la institución de un operador.', }) @ApiBearerAuth('jwt') @ApiQuery({ - description: 'El número de inventario del equipo que se busca.', + description: 'Número de inventario del equipo que se busca.', name: 'numero_inventario', type: 'string', }) @@ -52,19 +51,10 @@ export class EquipoController { const operador: Operador = req.user.operador; this.validarUsuarioService.validarAdminOperador(operador); - return this.equipoService - .findFullInfoByNumeroInventario(operador, query.numero_inventario) - .then((equipo) => { - if ( - operador.tipoUsuario.id_tipo_usuario > 2 && - operador.institucion.id_institucion != - equipo.carrito.modulo.institucion.id_institucion - ) - throw new ForbiddenException( - 'No puedes acceder a esta información porque este equipo no pertenece a tu institución.', - ); - return equipo; - }); + return this.equipoService.findFullInfoByNumeroInventario( + operador, + query.numero_inventario, + ); } @Serealize(EquiposOutputDto) @@ -72,76 +62,76 @@ export class EquipoController { @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: - 'Endpoint que retorna 15 equipos dependiendo de la página en la que esta el usuario y sus filtros.', + 'Información de 15 equipos dependiendo de los filtros enviados.', }) @ApiBearerAuth('jwt') @ApiQuery({ - description: 'Página en la que se encuentra el usuario.', + description: 'Página en la que se encuentra el operador.', name: 'pagina', type: 'string', }) @ApiQuery({ - description: 'Carrito que se quiere usar como filtro.', + description: 'Carrito que se desea buscar.', name: 'carrito', type: 'string', required: false, }) @ApiQuery({ - description: 'Equipo que se quiere usar como filtro.', + description: 'Equipo que se desea buscar.', name: 'equipo', type: 'string', required: false, }) @ApiQuery({ - description: 'Id del carrito que se quiere usar como filtro.', + description: 'Id del carrito.', name: 'id_carrito', type: 'string', required: false, }) @ApiQuery({ - description: 'Id de la institución que se quiere usar como filtro.', + description: 'Id de la institución.', name: 'id_institucion', type: 'string', required: false, }) @ApiQuery({ - description: 'Id de la marca que se quiere usar como filtro.', + description: 'Id de la marca.', name: 'id_marca', type: 'string', required: false, }) @ApiQuery({ - description: 'Id del modelo que se quiere usar como filtro.', + description: 'Id del modelo.', name: 'id_modelo', type: 'string', required: false, }) @ApiQuery({ - description: 'Id del módulo que se quiere usar como filtro.', + description: 'Id del módulo.', name: 'id_modulo', type: 'string', required: false, }) @ApiQuery({ - description: 'Id del programa que se quiere usar como filtro.', + description: 'Id del programa.', name: 'id_programa', type: 'string', required: false, }) @ApiQuery({ - description: 'Id del status que se quiere usar como filtro.', + description: 'Id del status.', name: 'id_status', type: 'string', required: false, }) @ApiQuery({ - description: 'Id del tipo de carrito que se quiere usar como filtro.', + description: 'Id del tipo de carrito.', name: 'id_tipo_carrito', type: 'string', required: false, }) @ApiQuery({ - description: 'Id del tipo de entrada que se quiere usar como filtro.', + description: 'Id del tipo de entrada.', name: 'id_tipo_entrada', type: 'string', required: false, @@ -162,14 +152,13 @@ export class EquipoController { @ApiBearerAuth('jwt') @ApiBody({ description: - 'Todas las variables a excepción de id_carrito son opcionales.', + 'Variables que necesita el endpoint. Las variables con "_" al inicio son opcionales.', examples: { ejemplo: { value: { id_equipo: 1, - _equipo: true, - _id_carrito: '', - _id_operador: 1, + _equipo: '', + _id_carrito: 1, _id_status: 1, _motivo: '', }, diff --git a/src/prestamo/prestamo.controller.ts b/src/prestamo/prestamo.controller.ts index 4037651..2775823 100644 --- a/src/prestamo/prestamo.controller.ts +++ b/src/prestamo/prestamo.controller.ts @@ -24,7 +24,7 @@ import { Usuario } from '../usuario/entity/usuario.entity'; import { Modulo } from '../modulo/entity/modulo.entity'; import { IdEquipoPaginaDto } from '../dto/input/id-equipo-pagina.dto'; import { IdUsuarioPaginaDto } from '../dto/input/id-usuario-pagina.dto'; -import { NumeroInventarioDto } from '../dto/numero-inventario.dto'; +import { NumeroInventarioDto } from '../dto/input/numero-inventario.dto'; import { ActivosDto } from './dto/input/activos.dto'; import { CancelarOperadorDto } from './dto/input/cancelar-operador.dto'; import { HistorialDto } from './dto/input/historial.dto';