equipo controller final

This commit is contained in:
xXpuma99Xx 2022-12-19 20:05:42 -06:00
parent 8115d7b48b
commit 712848a932
7 changed files with 32 additions and 40 deletions

View File

@ -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({

View File

@ -49,6 +49,7 @@ export class CarritoMotivoService {
const carrito = await this.carritoService.findById(id_carrito);
const options: FindManyOptions<CarritoMotivo> = { where: { carrito } };
// Validamos que el carrito pertenezca a la institución del operador
if (
carrito.modulo.institucion.id_institucion !=
operador.institucion.id_institucion

View File

@ -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,

View File

@ -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,

View File

@ -1,6 +1,7 @@
import { IsNumberString, IsString } from 'class-validator';
import { IsString, IsNotEmpty } from 'class-validator';
export class NumeroInventarioDto {
@IsString()
@IsNotEmpty()
numero_inventario: string;
}

View File

@ -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 this.equipoService.findFullInfoByNumeroInventario(
operador,
query.numero_inventario,
);
return equipo;
});
}
@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: '',
},

View File

@ -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';