institución infracción controller final

This commit is contained in:
2022-12-20 19:45:41 -06:00
parent 528297ca48
commit 1c9d1ce2de
@@ -4,23 +4,15 @@ import {
Get,
Post,
Put,
Query,
Request,
UseGuards,
} from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport';
import {
ApiBearerAuth,
ApiBody,
ApiOperation,
ApiQuery,
ApiTags,
} from '@nestjs/swagger';
import { ApiBearerAuth, ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger';
import { Serealize } from '../interceptors/serialize.interceptor';
import { InstitucionInfraccionService } from './institucion-infraccion.service';
import { ValidarUsuarioService } from '../validar-usuario/validar-usuario.service';
import { Operador } from '../operador/entity/operador.entity';
import { IdInstitucionDto } from '../dto/input/id-institucion.dto';
import { CreateInstitucionInfraccionDto } from './dto/input/create.dto';
import { UpdateInstitucionInfraccionDto } from './dto/input/update.dto';
import { MessageOutputDto } from '../dto/output/message.dto';
@@ -38,7 +30,7 @@ export class InstitucionInfraccionController {
@Serealize(MessageOutputDto)
@Post()
@UseGuards(AuthGuard('jwt'))
@ApiOperation({ description: 'Endpoint que crea una infracción.' })
@ApiOperation({ description: 'Crear una infracción.' })
@ApiBearerAuth('jwt')
@ApiBody({
description: 'Variables que necesita el endpoint.',
@@ -54,7 +46,7 @@ export class InstitucionInfraccionController {
@Serealize(InfraccionOutputDto)
@Get()
@UseGuards(AuthGuard('jwt'))
@ApiOperation({ description: 'Endpoint que retorna todas las infracciones.' })
@ApiOperation({ description: 'Todas las infracciones.' })
@ApiBearerAuth('jwt')
get(@Request() req) {
const superAdmin: Operador = req.user.operador;
@@ -67,30 +59,27 @@ export class InstitucionInfraccionController {
@Get('infracciones')
@UseGuards(AuthGuard('jwt'))
@ApiOperation({
description: 'Endpoint que retorna las infracciones de una institución.',
description: 'Todas las infracciones de una institución de un operador.',
})
@ApiBearerAuth('jwt')
@ApiQuery({
description: 'Id de la institución.',
name: 'id_institucion',
type: 'string',
})
infracciones(@Request() req, @Query() query: IdInstitucionDto) {
infracciones(@Request() req) {
const operador: Operador = req.user.operador;
this.validarUsuarioService.validarAdminOperador(operador);
return this.institucionInfraccionService.findAllByIdInstitucion(
parseInt(query.id_institucion),
operador.institucion.id_institucion,
);
}
@Serealize(MessageOutputDto)
@Put()
@UseGuards(AuthGuard('jwt'))
@ApiOperation({ description: 'Actualiza la información de una infracción.' })
@ApiOperation({
description: 'Actualiza la información de una institución infracción.',
})
@ApiBearerAuth('jwt')
@ApiBody({
description: 'Las dos variables son obligatorias.',
description: 'Variables que necesita el endpoint.',
examples: {
ejemplo: { value: { id_institucion_infraccion: 603, dias_multa: 7 } },
},