import { Controller, Get, Post, Body, Patch, Param, Delete, UseGuards } from '@nestjs/common'; import { ProgramaService } from './programa.service'; import { UpdateProgramaDto } from './dto/update-programa.dto'; import { JwtAuthGuard } from 'src/user/jwt.guard'; import { RolesGuard } from 'src/roles.guard'; import { Roles } from 'src/roles.decorator'; import { Role } from 'src/role.enum'; @Controller('programa') export class ProgramaController { constructor(private readonly programaService: ProgramaService) { } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR) @Get() findAll() { return this.programaService.findAll(); } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR) @Get(':id') findOne(@Param('id') id: string) { return this.programaService.findOne(+id); } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR) @Post() create(@Body() body) { return this.programaService.create(body); } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR) @Patch(':id') update(@Param('id') id: string, @Body() updateProgramaDto: UpdateProgramaDto) { return this.programaService.update(+id, updateProgramaDto); } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR) @Delete(':id') delete(@Param('id') id:string){ return this.programaService.delete(+id); } }