institucion-infraccion input output dto

This commit is contained in:
xXpuma99Xx 2022-06-14 00:23:38 -05:00
parent e21fb2f6b1
commit 5f08c6d3f0
5 changed files with 35 additions and 8 deletions

View File

@ -1,6 +1,6 @@
import { IsString } from 'class-validator';
export class InstitucionInfraccionCreateDto {
export class CreateInstitucionInfraccionDto {
@IsString()
infraccion: string;
}

View File

@ -1,6 +1,6 @@
import { IsInt, IsNumber } from 'class-validator';
export class InstitucionInfraccionUpdateDto {
export class UpdateInstitucionInfraccionDto {
@IsInt()
id_institucion_infraccion: number;

View File

@ -0,0 +1,9 @@
import { Expose } from 'class-transformer';
export class InfraccionOutputDto {
@Expose()
id_infraccion;
@Expose()
infraccion;
}

View File

@ -0,0 +1,14 @@
import { Expose, Type } from 'class-transformer';
import { InfraccionOutputDto } from './infraccion.dto';
export class InstitucionInfraccionOutputDto {
@Expose()
id_institucion_infraccion;
@Expose()
dias_multa;
@Expose()
@Type(() => InfraccionOutputDto)
infraccion;
}

View File

@ -1,10 +1,12 @@
import { Body, Controller, Get, Post, Put, Query } from '@nestjs/common';
import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger';
import { Serealize } from '../interceptors/serialize.interceptor';
import { InstitucionInfraccionService } from './institucion-infraccion.service';
import { IdInstitucionDto } from '../dto/id-institucion.dto';
import { InstitucionInfraccionCreateDto } from './dto/institucion-infraccion-create.dto';
import { InstitucionInfraccionUpdateDto } from './dto/institucion-infraccion-update.dto';
import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger';
import e from 'express';
import { CreateInstitucionInfraccionDto } from './dto/input/create.dto';
import { UpdateInstitucionInfraccionDto } from './dto/input/update.dto';
import { InfraccionOutputDto } from './dto/output/infraccion.dto';
import { InstitucionInfraccionOutputDto } from './dto/output/institucion-infraccion.dto';
@Controller('institucion-infraccion')
@ApiTags('institucion-infraccion')
@ -19,16 +21,18 @@ export class InstitucionInfraccionController {
description: 'Es obligatorio mandar la variable infraccion.',
examples: { ejemplo: { value: { infraccion: '' } } },
})
create(@Body() body: InstitucionInfraccionCreateDto) {
create(@Body() body: CreateInstitucionInfraccionDto) {
return this.institucionInfraccionService.create(body.infraccion);
}
@Serealize(InfraccionOutputDto)
@Get()
@ApiOperation({ description: 'Endpoint que retorna todas las infracciones.' })
get() {
return this.institucionInfraccionService.findAll();
}
@Serealize(InstitucionInfraccionOutputDto)
@Get('infracciones')
@ApiOperation({
description: 'Endpoint que retorna las infracciones de una institución.',
@ -54,7 +58,7 @@ export class InstitucionInfraccionController {
ejemplo: { value: { id_institucion_infraccion: 603, dias_multa: 7 } },
},
})
update(@Body() body: InstitucionInfraccionUpdateDto) {
update(@Body() body: UpdateInstitucionInfraccionDto) {
return this.institucionInfraccionService.update(body);
}
}