prestamo controller final
This commit is contained in:
parent
b1122d031d
commit
f4715175ac
@ -8,6 +8,9 @@ import {
|
||||
} from 'class-validator';
|
||||
|
||||
export class HistorialDto {
|
||||
@IsNumberString()
|
||||
pagina: string;
|
||||
|
||||
@IsBooleanString()
|
||||
@IsOptional()
|
||||
activo?: string;
|
||||
@ -40,11 +43,11 @@ export class HistorialDto {
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
id_institucion_carrera?: string;
|
||||
id_institucion?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
id_institucion?: string;
|
||||
id_institucion_carrera?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
@ -70,10 +73,6 @@ export class HistorialDto {
|
||||
@IsOptional()
|
||||
id_tipo_usuario?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
pagina?: string;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsOptional()
|
||||
|
@ -19,13 +19,13 @@ export class RegresarIdPrestamoDto {
|
||||
@IsOptional()
|
||||
descripcion?: string;
|
||||
|
||||
@IsInt()
|
||||
@IsOptional()
|
||||
id_institucion_infraccion?: number;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@MaxLength(250)
|
||||
@IsOptional()
|
||||
motivo?: string;
|
||||
|
||||
@IsInt()
|
||||
@IsOptional()
|
||||
id_institucion_infraccion?: number;
|
||||
}
|
||||
|
@ -19,13 +19,13 @@ export class RegresarNumeroInventarioDto {
|
||||
@IsOptional()
|
||||
descripcion?: string;
|
||||
|
||||
@IsInt()
|
||||
@IsOptional()
|
||||
id_institucion_infraccion?: number;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@MaxLength(250)
|
||||
@IsOptional()
|
||||
motivo?: string;
|
||||
|
||||
@IsInt()
|
||||
@IsOptional()
|
||||
id_institucion_infraccion?: number;
|
||||
}
|
||||
|
81
src/prestamo/dto/input/reporte.ts
Normal file
81
src/prestamo/dto/input/reporte.ts
Normal file
@ -0,0 +1,81 @@
|
||||
import {
|
||||
IsBooleanString,
|
||||
IsDateString,
|
||||
IsNotEmpty,
|
||||
IsNumberString,
|
||||
IsOptional,
|
||||
IsString,
|
||||
} from 'class-validator';
|
||||
|
||||
export class ReporteDto {
|
||||
@IsBooleanString()
|
||||
@IsOptional()
|
||||
activo?: string;
|
||||
|
||||
@IsBooleanString()
|
||||
@IsOptional()
|
||||
cancelado_operador?: string;
|
||||
|
||||
@IsBooleanString()
|
||||
@IsOptional()
|
||||
cancelado_usuario?: string;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsOptional()
|
||||
carrito?: string;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsOptional()
|
||||
equipo?: string;
|
||||
|
||||
@IsDateString()
|
||||
@IsOptional()
|
||||
fechaFin?: string;
|
||||
|
||||
@IsDateString()
|
||||
@IsOptional()
|
||||
fechaInicio?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
id_institucion?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
id_institucion_carrera?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
id_modulo?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
id_operador_entrega?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
id_operador_regreso?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
id_prestamo?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
id_tipo_carrito?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
id_tipo_usuario?: string;
|
||||
|
||||
@IsNumberString()
|
||||
@IsOptional()
|
||||
pagina?: string;
|
||||
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@IsOptional()
|
||||
usuario?: string;
|
||||
}
|
96
src/prestamo/dto/output/reporte.ts
Normal file
96
src/prestamo/dto/output/reporte.ts
Normal file
@ -0,0 +1,96 @@
|
||||
import { Expose } from 'class-transformer';
|
||||
|
||||
export class ReporteOutputDto {
|
||||
@Expose()
|
||||
id_prestamo: number;
|
||||
|
||||
@Expose()
|
||||
activo: number;
|
||||
|
||||
@Expose()
|
||||
carrera: string;
|
||||
|
||||
@Expose()
|
||||
cancelado_operador: number;
|
||||
|
||||
@Expose()
|
||||
cancelado_usuario: number;
|
||||
|
||||
@Expose()
|
||||
carrito: string;
|
||||
|
||||
@Expose()
|
||||
equipo: string;
|
||||
|
||||
@Expose()
|
||||
fecha_entrega: Date;
|
||||
|
||||
@Expose()
|
||||
fecha_inicio: Date;
|
||||
|
||||
@Expose()
|
||||
hora_fin: Date;
|
||||
|
||||
@Expose()
|
||||
hora_inicio: Date;
|
||||
|
||||
@Expose()
|
||||
hora_max_recoger: Date;
|
||||
|
||||
@Expose()
|
||||
id_carrito: number;
|
||||
|
||||
@Expose()
|
||||
id_equipo: number;
|
||||
|
||||
@Expose()
|
||||
id_institucion: number;
|
||||
|
||||
@Expose()
|
||||
id_institucion_carrera: number;
|
||||
|
||||
@Expose()
|
||||
id_modulo: number;
|
||||
|
||||
@Expose()
|
||||
id_operador_entrega: number;
|
||||
|
||||
@Expose()
|
||||
id_operador_regreso: number;
|
||||
|
||||
@Expose()
|
||||
id_status: number;
|
||||
|
||||
@Expose()
|
||||
id_tipo_carrito: number;
|
||||
|
||||
@Expose()
|
||||
id_tipo_usuario: number;
|
||||
|
||||
@Expose()
|
||||
id_usuario: number;
|
||||
|
||||
@Expose()
|
||||
institucion: string;
|
||||
|
||||
@Expose()
|
||||
modulo: string;
|
||||
|
||||
@Expose()
|
||||
nombre: string;
|
||||
|
||||
@Expose()
|
||||
numero_inventario: string;
|
||||
|
||||
@Expose()
|
||||
operador_entrega: string;
|
||||
|
||||
@Expose()
|
||||
operador_regreso: string;
|
||||
|
||||
@Expose()
|
||||
tipo_carrito: string;
|
||||
|
||||
@Expose()
|
||||
usuario: string;
|
||||
}
|
@ -19,28 +19,30 @@ import {
|
||||
import { Serealize } from '../interceptors/serialize.interceptor';
|
||||
import { PrestamoService } from './prestamo.service';
|
||||
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
|
||||
import { Modulo } from '../modulo/entity/modulo.entity';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
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/input/numero-inventario.dto';
|
||||
import { ActivosDto } from './dto/input/activos.dto';
|
||||
import { CancelarOperadorDto } from './dto/input/cancelar-operador.dto';
|
||||
import { EntregarDto } from './dto/input/entregar.dto';
|
||||
import { HistorialDto } from './dto/input/historial.dto';
|
||||
import { IdPrestamoDto } from './dto/input/id-prestamo.dto';
|
||||
import { PedirDto } from './dto/input/pedir.dto';
|
||||
import { EntregarDto } from './dto/input/entregar.dto';
|
||||
import { RegresarIdPrestamoDto } from './dto/input/regresar-id-prestamo.dto';
|
||||
import { RegresarNumeroInventarioDto } from './dto/input/regresar-numero-inventario.dto';
|
||||
import { ReporteDto } from './dto/input/reporte';
|
||||
import { MessageOutputDto } from '../dto/output/message.dto';
|
||||
import { ActivosOutputDto } from './dto/output/activos.dto';
|
||||
import { EquipoMinOutputDto } from '../equipo/dto/output/equipo-min.dto';
|
||||
import { ActivosOutputDto } from './dto/output/activos.dto';
|
||||
import { PrestamoOutputDto } from './dto/output/prestamo.dto';
|
||||
import { PrestamoEquipoOutputDto } from './dto/output/prestamo-equipo.dto';
|
||||
import { PrestamosOutputDto } from './dto/output/prestamos.dto';
|
||||
import { PrestamosEquipoOutputDto } from './dto/output/prestamos-equipo.dto';
|
||||
import { PrestamosUsuarioOutputDto } from './dto/output/prestamos-usuario.dto';
|
||||
import { ReporteOutputDto } from './dto/output/reporte';
|
||||
|
||||
@Controller('prestamo')
|
||||
@ApiTags('prestamo')
|
||||
@ -55,7 +57,7 @@ export class PrestamoController {
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description:
|
||||
'Información de 25 prestamos activos dependiendo de la página en la que se encuentra el operador y sus filtros.',
|
||||
'Información de 25 préstamos activos dependiendo de los filtros enviados.',
|
||||
})
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiQuery({
|
||||
@ -121,15 +123,11 @@ export class PrestamoController {
|
||||
@Serealize(MessageOutputDto)
|
||||
@Put('cancelar-operador')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description: 'Endpoint que cancela un prestamo por parte del operador.',
|
||||
})
|
||||
@ApiOperation({ description: 'Cancelar un préstamo por parte del operador.' })
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiBody({
|
||||
description: 'Ambas variables son obligatorias.',
|
||||
examples: {
|
||||
ejemplo: { value: { id_prestamo: 1, motivo: '' } },
|
||||
},
|
||||
description: 'Variables que necesita el endpoint.',
|
||||
examples: { ejemplo: { value: { id_prestamo: 1, motivo: '' } } },
|
||||
})
|
||||
cancelarOperador(@Request() req, @Body() body: CancelarOperadorDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
@ -147,14 +145,8 @@ export class PrestamoController {
|
||||
@Serealize(MessageOutputDto)
|
||||
@Put('cancelar-usuario')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description: 'Endpoint que cancela el prestamo del usuario.',
|
||||
})
|
||||
@ApiOperation({ description: 'Cancelar un préstamo activo del usuario.' })
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiBody({
|
||||
description: 'La variable id_prestamo es obligatoria.',
|
||||
examples: { ejemplo: { value: { id_prestamo: 1 } } },
|
||||
})
|
||||
cancelarUsuario(@Request() req) {
|
||||
const usuario: Usuario = req.user.usuario;
|
||||
|
||||
@ -165,12 +157,10 @@ export class PrestamoController {
|
||||
@Serealize(EquipoMinOutputDto)
|
||||
@Put('entregar')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description: 'Actualizar el status del equipo a "En uso".',
|
||||
})
|
||||
@ApiOperation({ description: 'Entregar un equipo de cómputo.' })
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiBody({
|
||||
description: 'Ambas variables son obligatorias.',
|
||||
description: 'Variables que necesita el endpoint.',
|
||||
examples: { ejemplo: { value: { id_prestamo: 1 } } },
|
||||
})
|
||||
entregar(@Request() req, @Body() body: EntregarDto) {
|
||||
@ -181,87 +171,12 @@ export class PrestamoController {
|
||||
return this.prestamoService.entregar(operador, modulo, body.id_prestamo);
|
||||
}
|
||||
|
||||
// @Serealize(PrestamosOutputDto)
|
||||
@Get('reporte')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description:
|
||||
'Endpoint que retorna todos los prestamos dependiendo de la página en la que se encuentra el operador y sus filtros.',
|
||||
})
|
||||
@ApiBearerAuth('jwt')
|
||||
@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,
|
||||
})
|
||||
reporte(@Request() req, @Query() query: HistorialDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.prestamoService.findAll(query);
|
||||
}
|
||||
|
||||
@Serealize(PrestamosOutputDto)
|
||||
@Get('historial')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description:
|
||||
'Información de 25 prestamos dependiendo de la página en la que se encuentra el operador y sus filtros.',
|
||||
'Información de 25 préstamos dependiendo de los filtros enviados.',
|
||||
})
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiQuery({
|
||||
@ -269,6 +184,26 @@ export class PrestamoController {
|
||||
name: 'pagina',
|
||||
type: 'string',
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'Boleano para obtener préstamos activos como filtro.',
|
||||
name: 'activo',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description:
|
||||
'Boleano para obtener préstamos cancelados por operadores como filtro.',
|
||||
name: 'cancelado_operador',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description:
|
||||
'Boleano para obtener préstamos cancelados por usuarios como filtro.',
|
||||
name: 'cancelado_usuario',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'Carrito que se quiere usar como filtro.',
|
||||
name: 'carrito',
|
||||
@ -282,14 +217,14 @@ export class PrestamoController {
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'Fecha inicio que se quiere usar como filtro.',
|
||||
name: 'fechaInicio',
|
||||
description: 'Fecha fin se quiere usar como filtro.',
|
||||
name: 'fechaFin',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'Fecha fin se quiere usar como filtro.',
|
||||
name: 'fechaFin',
|
||||
description: 'Fecha inicio que se quiere usar como filtro.',
|
||||
name: 'fechaInicio',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ -299,12 +234,30 @@ export class PrestamoController {
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'Id de la institución carrera que se quiere usar como filtro.',
|
||||
name: 'id_institucion_carrera',
|
||||
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 operador de entrega que se quiere usar como filtro.',
|
||||
name: 'id_operador_entrega',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'Id del operador de regreso que se quiere usar como filtro.',
|
||||
name: 'id_operador_regreso',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'Id del préstamo que se quiere usar como filtro.',
|
||||
name: 'id_prestamo',
|
||||
@ -341,7 +294,7 @@ export class PrestamoController {
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description:
|
||||
'Información de 25 prestamos de un usuario dependiendo de la página en la que se encuentra el operador y sus filtros.',
|
||||
'Información de 25 préstamos de un equipo dependiendo de los filtros enviados.',
|
||||
})
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiQuery({
|
||||
@ -369,7 +322,7 @@ export class PrestamoController {
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description:
|
||||
'Información de 25 prestamos de un equipo dependiendo de la página en la que se encuentra el operador y sus filtros.',
|
||||
'Información de 25 préstamos de un usuario dependiendo de los filtros enviados.',
|
||||
})
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiQuery({
|
||||
@ -395,11 +348,11 @@ export class PrestamoController {
|
||||
@Serealize(PrestamoOutputDto)
|
||||
@Post()
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({ description: 'Endpoint que crea un prestamo nuevo.' })
|
||||
@ApiOperation({ description: 'Pedir un equipo de cómputo.' })
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiBody({
|
||||
description:
|
||||
'Todas las variables a excepción de id_programa y id_tipo_entrada son obligatorios.',
|
||||
'Variables que necesita el endpoint. Las variables con "_" al inicio son opcionales.',
|
||||
examples: {
|
||||
ejemplo: {
|
||||
value: {
|
||||
@ -427,7 +380,7 @@ export class PrestamoController {
|
||||
@Serealize(PrestamoOutputDto)
|
||||
@Get('prestamo-id-prestamo')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({ description: 'Endpoint que retorna un préstamo por su id.' })
|
||||
@ApiOperation({ description: 'Información de un préstamo por su id.' })
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiQuery({
|
||||
description: 'Id del préstamo.',
|
||||
@ -440,7 +393,7 @@ export class PrestamoController {
|
||||
|
||||
if (usuarioOperador instanceof Usuario)
|
||||
this.validarUsuarioService.validarUsuario(usuarioOperador);
|
||||
else this.validarUsuarioService.validarAdminOperador(usuarioOperador);
|
||||
else this.validarUsuarioService.validarSoloOperador(usuarioOperador);
|
||||
return this.prestamoService.prestamoInfoById(parseInt(query.id_prestamo));
|
||||
}
|
||||
|
||||
@ -448,8 +401,7 @@ export class PrestamoController {
|
||||
@Get('prestamo-id-usuario')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description:
|
||||
'Endpoint que retorna un préstamo activo por el id del usuario.',
|
||||
description: 'Información de un préstamo activo de un usuario.',
|
||||
})
|
||||
@ApiBearerAuth('jwt')
|
||||
prestamoIdUsuario(@Request() req) {
|
||||
@ -464,7 +416,7 @@ export class PrestamoController {
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description:
|
||||
'Endpoint que retorna un préstamo activo por el número de inventario de un equipo.',
|
||||
'Información de un préstamo activo de un equipo por su número de inventario.',
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'El número de inventario del equipo.',
|
||||
@ -477,7 +429,7 @@ export class PrestamoController {
|
||||
) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
this.validarUsuarioService.validarSoloOperador(operador);
|
||||
return this.prestamoService.prestamoInfoByNumeroInventario(
|
||||
operador,
|
||||
query.numero_inventario,
|
||||
@ -490,7 +442,7 @@ export class PrestamoController {
|
||||
@ApiOperation({ description: 'Endpoint que desactiva un préstamo.' })
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiBody({
|
||||
description: 'Ambas variables son obligatorias.',
|
||||
description: 'Variables que necesita el endpoint.',
|
||||
examples: {
|
||||
ejemplo: {
|
||||
value: {
|
||||
@ -525,7 +477,7 @@ export class PrestamoController {
|
||||
@ApiOperation({ description: 'Endpoint que desactiva un préstamo.' })
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiBody({
|
||||
description: 'Ambas variables son obligatorias.',
|
||||
description: 'Variables que necesita el endpoint.',
|
||||
examples: {
|
||||
ejemplo: {
|
||||
value: {
|
||||
@ -556,4 +508,123 @@ export class PrestamoController {
|
||||
body.id_institucion_infraccion,
|
||||
);
|
||||
}
|
||||
|
||||
@Serealize(ReporteOutputDto)
|
||||
@Get('reporte')
|
||||
@UseGuards(AuthGuard('jwt'))
|
||||
@ApiOperation({
|
||||
description:
|
||||
'Reporte de todos los préstamos dependiendo de los filtros enviados.',
|
||||
})
|
||||
@ApiBearerAuth('jwt')
|
||||
@ApiQuery({
|
||||
description: 'Boleano para obtener préstamos activos como filtro.',
|
||||
name: 'activo',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description:
|
||||
'Boleano para obtener préstamos cancelados por operadores como filtro.',
|
||||
name: 'cancelado_operador',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description:
|
||||
'Boleano para obtener préstamos cancelados por usuarios como filtro.',
|
||||
name: 'cancelado_usuario',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@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 fin se quiere usar como filtro.',
|
||||
name: 'fechaFin',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'Fecha inicio que se quiere usar como filtro.',
|
||||
name: 'fechaInicio',
|
||||
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 de la institución carrera que se quiere usar como filtro.',
|
||||
name: 'id_institucion_carrera',
|
||||
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 operador de entrega que se quiere usar como filtro.',
|
||||
name: 'id_operador_entrega',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'Id del operador de regreso que se quiere usar como filtro.',
|
||||
name: 'id_operador_regreso',
|
||||
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: 'Página en la que se encuentra el usuario.',
|
||||
name: 'pagina',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
@ApiQuery({
|
||||
description: 'Usuario que se quiere usar como filtro.',
|
||||
name: 'usuario',
|
||||
type: 'string',
|
||||
required: false,
|
||||
})
|
||||
reporte(@Request() req, @Query() query: ReporteDto) {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarOperador(operador);
|
||||
return this.prestamoService.findAll(query);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user