asignacion de mesas asigna una por usuario

This commit is contained in:
2026-02-05 18:53:14 -06:00
parent adb22b3248
commit f2d84105bf
2 changed files with 65 additions and 8 deletions
+32
View File
@@ -10,10 +10,42 @@ export class MesaService {
@InjectRepository(Mesa)
private readonly mesaRepository: Repository<Mesa>,
) { }
async asignarMesa(idUsuario: number, idMesa: number) {
const yaTieneMesa = await this.mesaRepository.findOne({
where: { id_mesa: idMesa }
});
if (yaTieneMesa) {
throw new BadRequestException('El usuario ya tiene una mesa asignada');
}
// 🔴 NUEVO: buscar mesa
const mesa = await this.mesaRepository.findOne({
where: { id_mesa: idMesa }
});
if (!mesa) {
throw new NotFoundException('Mesa no existe');
}
// 🔴 NUEVO: marcar inactiva
mesa.activo = false;
await this.mesaRepository.save(mesa);
// guardar asignación
return await this.mesaRepository.save({
id_usuario: idUsuario,
id_mesa: idMesa,
});
}
async findAll(): Promise<Mesa[]> {
return await this.mesaRepository.find();
}
async findAllActivo(): Promise<Mesa[]> {
return await this.mesaRepository.find({ where: { activo: true } });