diff --git a/src/equipo/equipo.controller.ts b/src/equipo/equipo.controller.ts index 430f2de..303aac1 100644 --- a/src/equipo/equipo.controller.ts +++ b/src/equipo/equipo.controller.ts @@ -7,6 +7,10 @@ import { UseGuards, Get, Query, + Delete, + HttpCode, + HttpStatus, + NotFoundException, Post, } from '@nestjs/common'; import { EquipoService } from './equipo.service'; @@ -49,6 +53,16 @@ export class EquipoController { return this.equipoService.updateEquipo(equipoNuevo, id); } + @UseGuards(AuthGuard('jwt')) + @Delete(':id') + async deleteEquipo(@Param('id', ParseIntPipe) id_equipo: number) { + try { + return await this.equipoService.deleteEquipo(id_equipo); + } catch (error) { + throw new NotFoundException(error.message); + } + } + @UseGuards(AuthGuard('jwt')) @Get('usos') findUsos() { diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index 5755257..54fbdb6 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@nestjs/common'; +import { Injectable, NotFoundException } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { Equipo } from './entities/equipo.entity'; @@ -242,4 +242,22 @@ export class EquipoService { return this.equipoRepository.save(nuevoEquipo); } + + async deleteEquipo(id_equipo: number): Promise<{ message: string }> { + const equipo = await this.equipoRepository.findOne({ + where: { id_equipo }, + }); + + if (!equipo) { + throw new NotFoundException( + `No se encontrĂ³ el equipo con id ${id_equipo}`, + ); + } + + await this.equipoRepository.remove(equipo); + + return { + message: `Equipo con id ${id_equipo} eliminado correctamente`, + }; + } }