import { Body, Controller, Delete, Post, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; import { ApiBearerAuth, ApiBody, ApiOperation, ApiTags } from '@nestjs/swagger'; import { EquipoProgramaService } from './equipo-programa.service'; import { CreateEquipoProgramaDto } from './dto/input/create.dto'; import { DeleteEquipoProgramaDto } from './dto/input/delete.dto'; @Controller('equipo-programa') @ApiTags('equipo-programa') export class EquipoProgramaController { constructor(private equipoProgramaService: EquipoProgramaService) {} @Post() @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que crea una relación entre un equipo y un programa.', }) @ApiBearerAuth('jwt') @ApiBody({ description: 'Ambas variables son obligatorios.', examples: { ejemplo: { value: { id_equipo: 1, id_programa: 1 } } }, }) create(@Body() body: CreateEquipoProgramaDto) { return this.equipoProgramaService.create(body.id_equipo, body.id_programa); } @Delete() @UseGuards(AuthGuard('jwt')) @ApiOperation({ description: 'Endpoint que elimina una relación entre un equipo y un programa.', }) @ApiBearerAuth('jwt') @ApiBody({ description: 'La variable id_equipo_programa es obligatoria.', examples: { ejemplo: { value: { id_equipo_programa: 1 } } }, }) delete(@Body() body: DeleteEquipoProgramaDto) { return this.equipoProgramaService.delete(body.id_equipo_programa); } }