add new Ep toggle
This commit is contained in:
@@ -41,5 +41,10 @@ export class EquipoController {
|
||||
update(@Body() equipo: CreateEquipoDto) {
|
||||
return this.equipoService.update(equipo);
|
||||
}
|
||||
|
||||
@Patch(':id/activo')
|
||||
toggleActivo(@Param('id') id: number) {
|
||||
return this.equipoService.toggleActivo(+id);
|
||||
}
|
||||
}
|
||||
//IO
|
||||
|
||||
@@ -135,5 +135,39 @@ export class EquipoService {
|
||||
async update(equipo: CreateEquipoDto) {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user