import { Controller, Get, Post, Body, Patch, Param, Delete, Query, } from '@nestjs/common'; import { ProductsService } from './products.service'; import { CreateProductDto } from './dto/create-product.dto'; import { UpdateProductDto } from './dto/update-product.dto'; import { Public } from '../common/decorators'; @Controller() export class ProductsController { constructor(private readonly productsService: ProductsService) {} @Post() @Public() create(@Body() createProductDto: CreateProductDto) { return this.productsService.create(createProductDto); } @Get('products/:category/:page') @Public() findOne(@Param('category') category: string, @Param('page') page: number) { return this.productsService.findByCategory(category, page); } @Get('count/:category') @Public() findTotalPages(@Param('category') category: string) { return this.productsService.findTotalPages(category); } @Patch(':id') @Public() update(@Param('id') id: string, @Body() updateProductDto: UpdateProductDto) { return this.productsService.update(+id, updateProductDto); } @Delete(':id') @Public() remove(@Param('id') id: string) { return this.productsService.remove(+id); } }