import { Body, Controller, Delete, Get, Param, Patch, Post, Query, } from '@nestjs/common'; import { ProductsService } from './products.service'; import { CreateProductDto, UpdateProductDto } from '../shared/dto/product.dto'; import { ListProductsQueryDto } from './dto/list-products.dto'; @Controller('products') export class ProductsController { constructor(private readonly productsService: ProductsService) {} @Get() list(@Query() query: ListProductsQueryDto) { return this.productsService.list(query); } @Get(':id') findOne(@Param('id') id: string) { return this.productsService.findOne(id); } @Post() create(@Body() createProductDto: CreateProductDto) { return this.productsService.create(createProductDto); } @Patch(':id') update(@Param('id') id: string, @Body() updateProductDto: UpdateProductDto) { return this.productsService.update(id, updateProductDto); } @Delete(':id') remove(@Param('id') id: string) { return this.productsService.remove(id); } }