import { JwtGuard } from '@/common/guards'; import { Body, Controller, Delete, Get, Param, Patch, Post, Query, UseGuards, } from '@nestjs/common'; import { ApiBearerAuth, ApiTags } from '@nestjs/swagger'; import { CategoryService } from './category.service'; import { CreateCategoryDto, GetAllCategoryDto, GetCategoryDto, UpdateCategoryDto } from './dto'; @Controller('category') @ApiTags('category') @ApiBearerAuth('JWT') @UseGuards(JwtGuard) export class CategoryController { constructor(private readonly categoryService: CategoryService) {} @Post() create(@Body() createCategoryDto: CreateCategoryDto) { return this.categoryService.create(createCategoryDto); } @Get() getAllCategories(@Query() getAllCategoryDto: GetAllCategoryDto) { return this.categoryService.findAll(getAllCategoryDto); } @Get('tree') getAllCategoriesTree(@Query() getAllCategoryDto: GetAllCategoryDto) { return this.categoryService.findAllWithTree(getAllCategoryDto); } @Get('page') findPagination(@Query() queryDto: GetCategoryDto) { return this.categoryService.findPagination(queryDto); } @Delete(':id') remove(@Param('id') id: string) { return this.categoryService.remove(+id); } @Patch(':id') update(@Param('id') id: string, @Body() updateCategoryDto: UpdateCategoryDto) { return this.categoryService.update(+id, updateCategoryDto); } }