This commit is contained in:
2026-03-10 13:02:01 +03:30
parent 98bd3c735b
commit 7d24a8b6c5
10 changed files with 90 additions and 97 deletions
+30 -9
View File
@@ -1,34 +1,55 @@
import { Controller, Get, Post, Body, Patch, Param, Delete, Query } from '@nestjs/common';
import { Controller, Get, Post, Body, Patch, Param, Delete, Query, UseGuards } from '@nestjs/common';
import { CatalogueService } from './catalogue.service';
import { CreateCatalogueDto } from './dto/create-catalogue.dto';
import { UpdateCatalogueDto } from './dto/update-catalogue.dto';
import { FindCataloguesDto } from './dto/find-catalogues.dto';
import { AdminAuthGuard } from '../auth/guards/adminAuth.guard';
import { BusinessId } from 'src/common/decorators';
@Controller('catalogue')
@Controller()
export class CatalogueController {
constructor(private readonly catalogueService: CatalogueService) { }
@Post()
create(@Body() dto: CreateCatalogueDto) {
return this.catalogueService.create(dto);
// ============= Public Routes ==============
@Get('public/catalogue')
findAllAsPublic(@Query() queryDto: FindCataloguesDto) {
return this.catalogueService.findAll(queryDto);
}
@Get()
@Get('admin/catalogue/:id')
findOneAsPublic(@Param('id') id: string) {
return this.catalogueService.findOne(id);
}
// ============= Admin Routes ==============
@Post('admin/catalogue')
@UseGuards(AdminAuthGuard)
create(@Body() dto: CreateCatalogueDto, @BusinessId() busId: string) {
return this.catalogueService.create(dto, busId);
}
@Get('admin/catalogue')
@UseGuards(AdminAuthGuard)
findAll(@Query() queryDto: FindCataloguesDto) {
return this.catalogueService.findAll(queryDto);
}
@Get(':id')
@Get('admin/catalogue/:id')
@UseGuards(AdminAuthGuard)
findOne(@Param('id') id: string) {
return this.catalogueService.findOne(id);
}
@Patch(':id')
@Patch('admin/catalogue/:id')
@UseGuards(AdminAuthGuard)
update(@Param('id') id: string, @Body() dto: UpdateCatalogueDto) {
return this.catalogueService.update(id, dto);
}
@Delete(':id')
@Delete('admin/catalogue/:id')
@UseGuards(AdminAuthGuard)
remove(@Param('id') id: string) {
return this.catalogueService.remove(id);
}