File: /var/www/api-parametros/src/app/parametros/controllers/parametro.controller.ts
import {
Body,
Controller,
Delete,
Get,
Param,
Post,
Put,
Query,
ValidationPipe,
} from '@nestjs/common';
import { CreateParametroDto } from '../dto/create-parametro.dto';
import { UpdateParametroDto } from '../dto/update-parametro.dto';
import { ParametroService } from '../services/parametro.service';
@Controller('parametros')
export class ParametroController {
constructor(private readonly parametroService: ParametroService) {}
@Post()
create(@Body(new ValidationPipe()) createParametroDto: CreateParametroDto) {
return this.parametroService.create(createParametroDto);
}
@Get()
findAll(@Query('page') page: number, @Query('pageSize') pageSize: number) {
return this.parametroService.findAll(page, pageSize);
}
@Get(':id')
findOne(@Param('id') id: string) {
return this.parametroService.findOne(id);
}
@Put(':id')
update(
@Param('id') id: string,
@Body(new ValidationPipe()) updateParametroDto: UpdateParametroDto,
) {
return this.parametroService.update(id, updateParametroDto);
}
@Delete(':id')
remove(@Param('id') id: string) {
return this.parametroService.delete(id);
}
@Get('find-by-tipo-parametro/:idTipoParametro')
findByTipoParametro(
@Param('idTipoParametro') idTipoParametro: string,
@Query('page') page: number,
@Query('pageSize') pageSize: number,
) {
return this.parametroService.findByTipoParametro(
idTipoParametro,
page,
pageSize,
);
}
@Get('select-by-tipo-parametro/:idTipoParametro')
findSelectByTipoParametro(@Param('idTipoParametro') idTipoParametro: string) {
return this.parametroService.findSelectParametrosByTipoParametro(
idTipoParametro,
);
}
@Get('select-by-tipo-parametro-padre/:idTipoParametro/:idPadre')
findSelectByTipoParametroPadre(
@Param('idTipoParametro') idTipoParametro: string,
@Param('idPadre') idPadre: string,
) {
return this.parametroService.findSelectParametrosByTipoParametroPadre(
idTipoParametro,
idPadre,
);
}
@Get('find-parametros-padre-hijos-by-tipo-parametro/:idTipoParametro')
findParametrosPadreHijosByTipoParametro(
@Param('idTipoParametro') idTipoParametro: string,
) {
return this.parametroService.findParametrosPadreHijosByTipoParametro(
idTipoParametro,
);
}
@Get('find-parametros-by-padre/:idPadre')
findParametrosByPadre(
@Param('idPadre') idPadre: string,
@Query('page') page: number,
@Query('pageSize') pageSize: number,
) {
return this.parametroService.findParametrosByPadre(idPadre, page, pageSize);
}
}