todos los gets

This commit is contained in:
2022-06-12 13:35:47 -05:00
parent f5503a0a25
commit f1499c76c2
10 changed files with 247 additions and 24 deletions
+1 -1
View File
@@ -40,7 +40,7 @@ export class CarritoController {
type: 'string',
})
@ApiQuery({
description: 'Id del tipo carrito que se queire usar como filtro.',
description: 'Id del tipo carrito que se quiere usar como filtro.',
name: 'id_tipo_carrito',
type: 'string',
required: false,
@@ -1,9 +1,10 @@
import { Body, Controller, Delete, Post } from '@nestjs/common';
import { ApiBody, ApiOperation } from '@nestjs/swagger';
import { ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger';
import { EquipoProgramaService } from './equipo-programa.service';
import { EquipoProgramaCreateDto } from './dto/equipo-programa-create.dto';
import { EquipoProgramaDeleteDto } from './dto/equipo-programa-delete.dto';
@Controller('equipo-programa')
@ApiTags('equipo-programa')
export class EquipoProgramaController {
constructor(private equipoProgramaService: EquipoProgramaService) {}
+7 -7
View File
@@ -42,37 +42,37 @@ export class EquipoController {
type: 'string',
})
@ApiQuery({
description: 'Carrito que se queire usar como filtro.',
description: 'Carrito que se quiere usar como filtro.',
name: 'carrito',
type: 'string',
})
@ApiQuery({
description: 'Equipo que se queire usar como filtro.',
description: 'Equipo que se quiere usar como filtro.',
name: 'equipo',
type: 'string',
})
@ApiQuery({
description: 'Id del tipo de carrito que se queire usar como filtro.',
description: 'Id del tipo de carrito que se quiere usar como filtro.',
name: 'id_tipo_carrito',
type: 'string',
})
@ApiQuery({
description: 'Id del status que se queire usar como filtro.',
description: 'Id del status que se quiere usar como filtro.',
name: 'id_status',
type: 'string',
})
@ApiQuery({
description: 'Id del programa que se queire usar como filtro.',
description: 'Id del programa que se quiere usar como filtro.',
name: 'id_programa',
type: 'string',
})
@ApiQuery({
description: 'Id del módulo que se queire usar como filtro.',
description: 'Id del módulo que se quiere usar como filtro.',
name: 'id_modulo',
type: 'string',
})
// @ApiQuery({
// description: 'Id del tipo de entrada que se queire usar como filtro.',
// description: 'Id del tipo de entrada que se quiere usar como filtro.',
// name: 'id_tipo_entrada',
// type: 'string',
// })
+3 -3
View File
@@ -71,19 +71,19 @@ export class OperadorController {
type: 'string',
})
@ApiQuery({
description: 'Id de la institución que se queire usar como filtro.',
description: 'Id de la institución que se quiere usar como filtro.',
name: 'id_institucion',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id del tipo usuario que se queire usar como filtro.',
description: 'Id del tipo usuario que se quiere usar como filtro.',
name: 'id_tipo_usuario',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Operador que se queire buscar.',
description: 'Operador que se quiere buscar.',
name: 'operador',
type: 'string',
required: false,
@@ -0,0 +1,9 @@
import { IsNumberString } from 'class-validator';
export class PrestamoHistorialEquipoDto {
@IsNumberString()
id_equipo: string;
@IsNumberString()
pagina: string;
}
@@ -0,0 +1,9 @@
import { IsNumberString } from 'class-validator';
export class PrestamoHistorialUsuarioDto {
@IsNumberString()
pagina: string;
@IsNumberString()
id_usuario: string;
}
@@ -18,9 +18,11 @@ export class PrestamoHistorialDto {
equipo?: string;
@IsDateString()
@IsOptional()
fechaFin?: string;
@IsDateString()
@IsOptional()
fechaInicio?: string;
@IsNumberString()
+183 -3
View File
@@ -6,6 +6,9 @@ import { PrestamoActivosDto } from './dto/prestamo-activos.dto';
import { PrestamoIdUsuarioDto } from './dto/prestamo-id-usuario.dto';
import { PrestamoIdPrestamoDto } from './dto/prestamo-id-prestamo.dto';
import { PrestamoNumeroInventarioDto } from './dto/prestamo-numero-inventario.dto';
import { PrestamoHistorialEquipoDto } from './dto/prestamo-historial-equipo.dto';
import { PrestamoHistorialUsuarioDto } from './dto/prestamo-historial-usuario.dto';
import { PrestamoHistorialDto } from './dto/prestamo-historial.dto';
@Controller('prestamo')
@ApiTags('prestamo')
@@ -13,29 +16,205 @@ export class PrestamoController {
constructor(private prestamoService: PrestamoService) {}
@Get('activos')
@ApiOperation({
description:
'Endpoint que retorna 25 prestamos activos dependiendo de la página en la que se encuentra el operador y sus filtros.',
})
@ApiQuery({
description: 'Página en la que se encuentra el usuario.',
name: 'pagina',
type: 'string',
})
@ApiQuery({
description: 'Carrito que se quiere usar como filtro.',
name: 'carrito',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Equipo que se quiere usar como filtro.',
name: 'equipo',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id de la institución que se quiere usar como filtro.',
name: 'id_institucion',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id del modulo que se quiere usar como filtro.',
name: 'id_modulo',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id del préstamo que se quiere usar como filtro.',
name: 'id_prestamo',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id del tipo de carrito que se quiere usar como filtro.',
name: 'id_tipo_carrito',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id del tipo de usuario que se quiere usar como filtro.',
name: 'id_tipo_usuario',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Usuario que se quiere usar como filtro.',
name: 'usuario',
type: 'string',
required: false,
})
activos(@Query() query: PrestamoActivosDto) {
return this.prestamoService.findAll(query);
}
@Put('cancelar-operador')
@ApiOperation({
description: 'Endpoint que cancela un prestamo por parte del operador.',
})
cancelarOperador() {}
@Put('cancelar-usuario')
@ApiOperation({
description: 'Endpoint que cancela el prestamo del usuario.',
})
cancelarUsuario() {}
@Put('entregar')
@ApiOperation({
description: 'Endpoint que actualiza el status del equipo a "En uso".',
})
entregar() {}
@Get('historial')
historial() {}
@ApiOperation({
description:
'Endpoint que retorna 25 prestamos dependiendo de la página en la que se encuentra el operador y sus filtros.',
})
@ApiQuery({
description: 'Página en la que se encuentra el usuario.',
name: 'pagina',
type: 'string',
})
@ApiQuery({
description: 'Carrito que se quiere usar como filtro.',
name: 'carrito',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Equipo que se quiere usar como filtro.',
name: 'equipo',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Fecha inicio que se quiere usar como filtro.',
name: 'fechaInicio',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Fecha fin se quiere usar como filtro.',
name: 'fechaFin',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id de la institución que se quiere usar como filtro.',
name: 'id_institucion',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id del modulo que se quiere usar como filtro.',
name: 'id_modulo',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id del préstamo que se quiere usar como filtro.',
name: 'id_prestamo',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id del tipo de carrito que se quiere usar como filtro.',
name: 'id_tipo_carrito',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id del tipo de usuario que se quiere usar como filtro.',
name: 'id_tipo_usuario',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Usuario que se quiere usar como filtro.',
name: 'usuario',
type: 'string',
required: false,
})
historial(@Query() query: PrestamoHistorialDto) {
return this.prestamoService.findAll(query);
}
@Get('historial-equipo')
historialEquipo() {}
@ApiOperation({
description:
'Endpoint que retorna 25 prestamos de un usuario dependiendo de la página en la que se encuentra el operador y sus filtros.',
})
@ApiQuery({
description: 'Página en la que se encuentra el usuario.',
name: 'pagina',
type: 'string',
})
@ApiQuery({
description: 'Id del equipo.',
name: 'id_equipo',
type: 'string',
})
historialEquipo(@Query() query: PrestamoHistorialEquipoDto) {
return this.prestamoService.findAllByIdEquipo(
parseInt(query.id_equipo),
parseInt(query.pagina),
);
}
@Get('historial-usuario')
historialUsuario() {}
@ApiOperation({
description:
'Endpoint que retorna 25 prestamos de un equipo dependiendo de la página en la que se encuentra el operador y sus filtros.',
})
@ApiQuery({
description: 'Página en la que se encuentra el usuario.',
name: 'pagina',
type: 'string',
})
@ApiQuery({
description: 'Id del usuario.',
name: 'id_usuario',
type: 'string',
})
historialUsuario(@Query() query: PrestamoHistorialUsuarioDto) {
return this.prestamoService.findAllByIdUsuario(
parseInt(query.id_usuario),
parseInt(query.pagina),
);
}
@Post()
@ApiOperation({ description: 'Endpoint .' })
pedir(@Body() body: PrestamoPedirDto) {
return this.prestamoService.create(
body.id_usuario,
@@ -90,6 +269,7 @@ export class PrestamoController {
}
@Put('regresar')
@ApiOperation({ description: 'Endpoint .' })
regresar() {}
// @Get('reporte')
+26 -4
View File
@@ -144,7 +144,7 @@ export class PrestamoService {
activo?: boolean;
fechaInicio?: Date;
fechaFin?: Date;
id_prestamo?: number;
id_prestamo?: FindOperator<string>;
equipo: {
equipo?: FindOperator<string>;
carrito: {
@@ -202,13 +202,13 @@ export class PrestamoService {
if (typeof filtros.activo === 'boolean') busqueda.activo = filtros.activo;
else busqueda.activo = filtros.activo === 'true';
} else {
join.oe = 'p.operadorEntrega';
join.or = 'p.operadorRegreso';
// join.oe = 'p.operadorEntrega';
// join.or = 'p.operadorRegreso';
}
if (filtros.carrito)
busqueda.equipo.carrito.carrito = Like(`%${filtros.carrito}%`);
if (filtros.equipo) busqueda.equipo.equipo = Like(`%${filtros.equipo}%`);
if (filtros.equipo) busqueda.id_prestamo = parseInt(filtros.id_prestamo);
if (filtros.id_prestamo) busqueda.id_prestamo = Like(filtros.id_prestamo);
if (filtros.usuario)
busqueda.usuario.usuario = Like(`%${filtros.usuario}%`);
// if (carrera) busqueda.usuario.institucionCarrera.carrera = carrera;
@@ -229,6 +229,28 @@ export class PrestamoService {
});
}
findAllByIdUsuario(id_usuario: number, pagina: number) {
return this.usuarioService
.findById(id_usuario, true, true)
.then((usuario) =>
this.repository.find({
where: { usuario },
skip: (pagina - 1) * 25,
take: 25,
}),
);
}
async findAllByIdEquipo(id_equipo: number, pagina: number) {
return this.equipoService.findById(id_equipo).then((equipo) =>
this.repository.find({
where: { equipo },
skip: (pagina - 1) * 25,
take: 25,
}),
);
}
findById(id_prestamo: number) {
return this.repository.findOne({ id_prestamo }).then((prestamo) => {
if (!prestamo) throw new NotFoundException('No existe este préstamo.');
+5 -5
View File
@@ -139,31 +139,31 @@ export class UsuarioController {
type: 'string',
})
@ApiQuery({
description: 'Id de la institución que se queire usar como filtro.',
description: 'Id de la institución que se quiere usar como filtro.',
name: 'id_institucion',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id de la carrera que se queire usar como filtro.',
description: 'Id de la carrera que se quiere usar como filtro.',
name: 'id_carrera',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Id del tipo usuario que se queire usar como filtro.',
description: 'Id del tipo usuario que se quiere usar como filtro.',
name: 'id_tipo_usuario',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Nombre del usuario que se queire buscar.',
description: 'Nombre del usuario que se quiere buscar.',
name: 'nombre',
type: 'string',
required: false,
})
@ApiQuery({
description: 'Usuario que se queire buscar.',
description: 'Usuario que se quiere buscar.',
name: 'usuario',
type: 'string',
required: false,