Made hot fixes
This commit is contained in:
parent
7f9f66c519
commit
e5be4e1f44
@ -17,7 +17,7 @@ def create_reservation():
|
||||
current_user = ""#get_jwt_identity()
|
||||
reservation = Reservation(**request.json, creator=current_user)
|
||||
id = ReservationRepository.insert(reservation)
|
||||
notify_clients(reservation.date)
|
||||
notify_clients(reservation.date, reservation.room_id)
|
||||
return jsonify({"message": "Reservation created successfully", "id": id})
|
||||
|
||||
@reservation_blueprint.route('/<reservation_id>', methods=['DELETE'])
|
||||
@ -30,7 +30,7 @@ def cancel_reservation(reservation_id):
|
||||
room_id = reservation["room_id"]
|
||||
date = reservation["date"]
|
||||
result = ReservationRepository.delete(reservation_id)
|
||||
notify_clients(date)
|
||||
notify_clients(date, room_id)
|
||||
|
||||
if not result or result.deleted_count == 0:
|
||||
return jsonify({"error": "Reservation not found"}), 404
|
||||
@ -44,7 +44,7 @@ def change_reservation(reservation_id):
|
||||
try:
|
||||
reservation = ReservationRepository.get_by_id(reservation_id)
|
||||
result = ReservationRepository.update(reservation_id, data)
|
||||
notify_clients(reservation["date"])
|
||||
notify_clients(reservation["date"], reservation["room_id"])
|
||||
if not result or result.matched_count == 0:
|
||||
return jsonify({"error": "Reservation not found"}), 404
|
||||
except:
|
||||
|
@ -18,12 +18,23 @@ def handle_disconnect():
|
||||
@socketio.on('subscribe_reservations')
|
||||
def handle_subscribe(data):
|
||||
date = data.get('date')
|
||||
join_room(date) # Используем дату как комнату
|
||||
# Получаем все резервации для указанной даты
|
||||
reservations = ReservationRepository.list_all({'date': date})
|
||||
room_id = data.get('room_id')
|
||||
|
||||
if room_id:
|
||||
room = f"{date}_{room_id}"
|
||||
filters = {'date': date, 'room_id': room_id}
|
||||
else:
|
||||
room = date
|
||||
filters = {'date': date}
|
||||
|
||||
join_room(room)
|
||||
reservations = ReservationRepository.list_all(filters)
|
||||
emit('reservations_update', reservations)
|
||||
|
||||
def notify_clients(date):
|
||||
# Отправляем всем подписчикам этой даты
|
||||
reservations = ReservationRepository.list_all({'date': date})
|
||||
socketio.emit('reservations_update', reservations, room=date)
|
||||
def notify_clients(date, room_id=None):
|
||||
all_reservations = ReservationRepository.list_all({'date': date})
|
||||
socketio.emit('reservations_update', all_reservations, room=date)
|
||||
|
||||
if room_id:
|
||||
room_reservations = [r for r in all_reservations if r.room_id == room_id]
|
||||
socketio.emit('reservations_update', room_reservations, room=f"{date}_{room_id}")
|
Loading…
x
Reference in New Issue
Block a user