import { Body, Controller, Get, Param, Post } from "@nestjs/common"; import { ApiOperation, ApiTags } from "@nestjs/swagger"; import { CreateLearningCategoryDto } from "./DTO/create-learning-category.dto"; import { CreateLearningDto } from "./DTO/create-learning.dto"; import { LearningService } from "./providers/learning.service"; import { AuthGuards } from "../../common/decorators/auth-guard.decorator"; import { PermissionsDec } from "../../common/decorators/permission.decorator"; import { ParamDto } from "../../common/DTO/param.dto"; import { PermissionEnum } from "../users/enums/permission.enum"; @ApiTags("Learning") @AuthGuards() @Controller("learnings") export class LearningController { constructor(private readonly learningService: LearningService) {} //************************ */ @ApiOperation({ summary: "Create learning" }) @PermissionsDec(PermissionEnum.LEARNINGS) @Post() create(@Body() createDto: CreateLearningDto) { return this.learningService.createLearning(createDto); } //************************ */ @ApiOperation({ summary: "Create learning category" }) @PermissionsDec(PermissionEnum.LEARNINGS) @Post("category") createCategory(@Body() createDto: CreateLearningCategoryDto) { return this.learningService.createLearningCategory(createDto); } //************************ */ @ApiOperation({ summary: "find all learnings" }) @Get() findAllLearnings() { return this.learningService.findAllLearnings(); } //************************ */ @ApiOperation({ summary: "find one learning by id" }) @Get(":id") findOneLearning(@Param() paramDto: ParamDto) { return this.learningService.findOneLearning(paramDto.id); } //************************ */ @ApiOperation({ summary: "find all learning category" }) @Get("category") findAllCategories() { return this.learningService.findAllCategories(); } //************************ */ @ApiOperation({ summary: "find one learning category by id" }) @Get("category/:id") findOneCategory(@Param() paramDto: ParamDto) { return this.learningService.findOneCategory(paramDto.id); } //************************ */ }