Files
pcpuma_unam_api/src/equipo/equipo.controller.ts
T
2022-06-12 13:35:47 -05:00

88 lines
2.4 KiB
TypeScript

import { Body, Controller, Get, Put, Query } from '@nestjs/common';
import { EquipoService } from './equipo.service';
import { EquipoDto } from './dto/equipo.dto';
import { ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger';
import { EquipoEquiposDto } from './dto/equipo-equipos.dto';
import { EquipoUpdateDto } from './dto/equipo-update.dto';
@Controller('equipo')
@ApiTags('equipo')
export class EquipoController {
constructor(private equipoService: EquipoService) {}
@Get('equipo')
@ApiOperation({
description: 'Endpoint que retorna la información de un equipo.',
})
@ApiQuery({
description: 'Id de la institución.',
name: 'id_institucion',
type: 'string',
})
@ApiQuery({
description: 'El número de inventario del equipo que se busca.',
name: 'numero_inventario',
type: 'string',
})
equipo(@Query() query: EquipoDto) {
return this.equipoService.findByNumeroInventario(
parseInt(query.id_institucion),
query.numero_inventario,
);
}
@Get('equipos')
@ApiOperation({
description:
'Endpoint que retorna 15 equipos dependiendo de la página en la que esta el usuario 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',
})
@ApiQuery({
description: 'Equipo que se quiere usar como filtro.',
name: 'equipo',
type: 'string',
})
@ApiQuery({
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 quiere usar como filtro.',
name: 'id_status',
type: 'string',
})
@ApiQuery({
description: 'Id del programa que se quiere usar como filtro.',
name: 'id_programa',
type: 'string',
})
@ApiQuery({
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 quiere usar como filtro.',
// name: 'id_tipo_entrada',
// type: 'string',
// })
equipos(@Query() query: EquipoEquiposDto) {
return this.equipoService.findAll(query);
}
@Put()
update(@Body() body: EquipoUpdateDto) {
return this.equipoService.update(body);
}
}