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