PhiloMind / src /philosofun /philosofun.controller.ts
github-actions[bot]
Deploy Backend from GitHub Actions Commit: ca37b2a1c9dd5c702619ea7ae7b3260d2fb5663d
b185a6d
Raw
History Blame Contribute Delete
1.57 kB
import {
Controller,
Get,
Post,
Body,
Param,
Put,
Delete,
UseGuards,
} from "@nestjs/common";
import { PhilosofunService } from "./philosofun.service";
import { ApiTags, ApiOperation, ApiBearerAuth } from "@nestjs/swagger";
import { JwtAuthGuard } from "../auth/jwt-auth.guard";
import { RolesGuard } from "../auth/roles.guard";
import { Roles } from "../auth/roles.decorator";
import { CreatePhilosofunDto } from "./dto/create-philosofun.dto";
import { UpdatePhilosofunDto } from "./dto/update-philosofun.dto";
@ApiTags("Philosofun")
@Controller("philosofun")
@UseGuards(JwtAuthGuard, RolesGuard)
@ApiBearerAuth()
export class PhilosofunController {
constructor(private readonly service: PhilosofunService) {}
@Post()
@Roles("admin")
@ApiOperation({ summary: "Upload a new Philosofun video" })
async create(@Body() dto: CreatePhilosofunDto) {
return this.service.create(dto);
}
@Get()
@ApiOperation({ summary: "List all Philosofun videos" })
async findAll() {
return this.service.findAll();
}
@Get(":id")
@ApiOperation({ summary: "Get single video details" })
async findOne(@Param("id") id: string) {
return this.service.findOne(id);
}
@Put(":id")
@Roles("admin")
@ApiOperation({ summary: "Update a video" })
async update(@Param("id") id: string, @Body() dto: UpdatePhilosofunDto) {
return this.service.update(id, dto);
}
@Delete(":id")
@Roles("admin")
@ApiOperation({ summary: "Delete a video" })
async remove(@Param("id") id: string) {
return this.service.remove(id);
}
}