add new Ep toggle
This commit is contained in:
@@ -41,5 +41,10 @@ export class EquipoController {
|
|||||||
update(@Body() equipo: CreateEquipoDto) {
|
update(@Body() equipo: CreateEquipoDto) {
|
||||||
return this.equipoService.update(equipo);
|
return this.equipoService.update(equipo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Patch(':id/activo')
|
||||||
|
toggleActivo(@Param('id') id: number) {
|
||||||
|
return this.equipoService.toggleActivo(+id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//IO
|
//IO
|
||||||
|
|||||||
@@ -135,5 +135,39 @@ export class EquipoService {
|
|||||||
async update(equipo: CreateEquipoDto) {
|
async update(equipo: CreateEquipoDto) {
|
||||||
return this.equipoRepository.update(equipo.id_equipo, equipo);
|
return this.equipoRepository.update(equipo.id_equipo, equipo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async toggleActivo(id_equipo: number) {
|
||||||
|
if (Number.isNaN(id_equipo)) {
|
||||||
|
throw new BadRequestException('ID de equipo inválido');
|
||||||
|
}
|
||||||
|
|
||||||
|
const equipo = await this.equipoRepository.findOne({
|
||||||
|
where: { id_equipo },
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!equipo) {
|
||||||
|
throw new NotFoundException('Equipo no encontrado');
|
||||||
|
}
|
||||||
|
|
||||||
|
let activoActual: boolean;
|
||||||
|
|
||||||
|
if (Buffer.isBuffer(equipo.activo)) {
|
||||||
|
activoActual = equipo.activo[0] === 1;
|
||||||
|
} else {
|
||||||
|
activoActual = Boolean(equipo.activo);
|
||||||
|
}
|
||||||
|
|
||||||
|
const nuevoActivo = !activoActual;
|
||||||
|
|
||||||
|
await this.equipoRepository.update(id_equipo, {
|
||||||
|
activo: nuevoActivo,
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
message: 'Estado del equipo actualizado',
|
||||||
|
id_equipo,
|
||||||
|
activo: nuevoActivo,
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//IO
|
//IO
|
||||||
|
|||||||
Reference in New Issue
Block a user