🔥 JSON-хранилище: данные в data/*.json вместо in-memory

- Переписан memory.py: теперь загружает/сохраняет users.json и bookings.json в data/
- booking_service.py: импорты через функции, а не переменные
- start.py, profile.py: используют get_user/set_user вместо прямого импорта users
- Добавлена папка data/ с .gitkeep
This commit is contained in:
DevProject Agent
2026-06-14 19:22:27 +04:00
parent da1487d99e
commit 866a01d700
5 changed files with 144 additions and 96 deletions
+17 -82
View File
@@ -1,92 +1,27 @@
from app.db.memory import bookings
from app.db.memory import (
create_booking as db_create_booking,
get_busy_times as db_get_busy_times,
get_user_bookings as db_get_user_bookings,
cancel_booking as db_cancel_booking,
update_booking as db_update_booking,
)
def create_booking(
user_id: int,
service: str,
date: str,
master: str,
time: str
):
booking = {
"id": len(bookings) + 1,
"user_id": user_id,
"service": service,
"date": date,
"master": master,
"time": time,
"status": "active"
}
bookings.append(booking)
return booking
async def create_booking(user_id, service, master, date, time):
return db_create_booking(user_id, service, master, date, time)
def get_busy_times(
master: str,
date: str
):
busy_times = []
for booking in bookings:
if (
booking["master"] == master
and booking["date"] == date
and booking["status"] == "active"
):
busy_times.append(
booking["time"]
)
return busy_times
async def get_busy_times(master, date):
return db_get_busy_times(master, date)
def get_user_bookings(
user_id: int
):
result = []
async def get_user_bookings(user_id):
return db_get_user_bookings(user_id)
for booking in bookings:
if (
booking["user_id"] == user_id
and booking["status"] == "active"
):
result.append(booking)
async def cancel_booking(booking_id):
return db_cancel_booking(booking_id)
return result
def cancel_booking(
booking_id: int
):
for booking in bookings:
if booking["id"] == booking_id:
booking["status"] = "cancelled"
return True
return False
def update_booking(
booking_id: int,
service: str,
master: str,
date: str,
time: str
):
for booking in bookings:
if booking["id"] == booking_id:
booking["service"] = service
booking["master"] = master
booking["date"] = date
booking["time"] = time
return booking
return None
async def update_booking(booking_id, service, master, date, time):
return db_update_booking(booking_id, service, master, date, time)