asignacion de mesas asigna una por usuario
This commit is contained in:
@@ -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 } });
|
||||
|
||||
Reference in New Issue
Block a user