chore: complete criticism module

This commit is contained in:
Matin
2025-01-27 12:26:37 +03:30
parent c3bcfd3ef0
commit 5bdf7baceb
11 changed files with 184 additions and 1 deletions
@@ -0,0 +1,37 @@
import { Body, Controller, Delete, Get, Param, Post } from "@nestjs/common";
import { ApiOperation, ApiTags } from "@nestjs/swagger";
import { CreateCriticismDto } from "./DTO/create-criticism.dto";
import { CriticismsService } from "./providers/criticisms.service";
import { AuthGuards } from "../../common/decorators/auth-guard.decorator";
import { Roles } from "../../common/decorators/roles.decorator";
import { ParamDto } from "../../common/DTO/param.dto";
import { RoleEnum } from "../users/enums/role.enum";
@Controller("criticisms")
@ApiTags("Criticism")
export class CriticismController {
constructor(private readonly criticismService: CriticismsService) {}
@ApiOperation({ summary: "Create a new criticism" })
@Post()
create(@Body() createDto: CreateCriticismDto) {
return this.criticismService.create(createDto);
}
@AuthGuards()
@Roles(RoleEnum.ADMIN)
@ApiOperation({ summary: "Get all Criticism ===> login as admin" })
@Get()
findAll() {
return this.criticismService.findAll();
}
@AuthGuards()
@Roles(RoleEnum.ADMIN)
@ApiOperation({ summary: "Delete one Criticism with id ===> login as admin" })
@Delete(":id")
delete(@Param() paramDto: ParamDto) {
return this.criticismService.delete(paramDto.id);
}
}