import { Controller, Get, Body, Patch, Param, UseGuards } from '@nestjs/common'; import { ProgramaEquipoService } from './programa_equipo.service'; import { UpdateProgramaEquipoDto, UpdateProgramasSalaDto } from './dto/update-programa_equipo.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-equipo') export class ProgramaEquipoController { constructor(private readonly programaEquipoService: ProgramaEquipoService) { } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR) @Get('programas/:id') async findAllProgramByNumber(@Param('id') id: number) { return await this.programaEquipoService.findAllProgramByNumber(+id); } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR) @Get('ubicacion/:id') findAllProgramByUbicacion(@Param('id') id: string) { return this.programaEquipoService.findAllProgramByUbication(id); } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR) @Get(':id') findOne(@Param('id') id: number) { return this.programaEquipoService.findOne(id); } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR) @Patch('equipo/:id') updateMachine( @Param('id') id: string, @Body() updateProgramaEquipoDto: UpdateProgramaEquipoDto, ) { return this.programaEquipoService.updateMachine( Number(id), updateProgramaEquipoDto.programas, ); } @UseGuards(JwtAuthGuard, RolesGuard) @Roles(Role.ADMINISTRADOR, Role.SUPER_ADMINISTRADOR) @Patch('sala') updateBySala(@Body() dto: UpdateProgramasSalaDto) { return this.programaEquipoService.updateBySala(dto.sala, dto.programas); } }