Files
pcpuma_unam_api/src/equipo-programa/equipo-programa.controller.ts
T
2022-07-15 00:27:30 -05:00

43 lines
1.5 KiB
TypeScript

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);
}
}