diff --git a/backend/routes/availability.py b/backend/routes/availability.py index a7dd35f..d4598b3 100644 --- a/backend/routes/availability.py +++ b/backend/routes/availability.py @@ -15,13 +15,11 @@ from schemas import ( SetAvailabilityRequest, CopyAvailabilityRequest, ) +from shared_constants import MAX_ADVANCE_DAYS router = APIRouter(prefix="/api/admin/availability", tags=["availability"]) -# From shared/constants.json -MAX_ADVANCE_DAYS = 30 - def _get_date_range_bounds() -> tuple[date, date]: """Get the valid date range for availability (tomorrow to +30 days).""" diff --git a/backend/routes/booking.py b/backend/routes/booking.py index 2981502..9421445 100644 --- a/backend/routes/booking.py +++ b/backend/routes/booking.py @@ -15,15 +15,11 @@ from schemas import ( BookingRequest, AppointmentResponse, ) +from shared_constants import SLOT_DURATION_MINUTES, MIN_ADVANCE_DAYS, MAX_ADVANCE_DAYS router = APIRouter(prefix="/api/booking", tags=["booking"]) -# From shared/constants.json -SLOT_DURATION_MINUTES = 15 -MIN_ADVANCE_DAYS = 1 -MAX_ADVANCE_DAYS = 30 - def _get_bookable_date_range() -> tuple[date, date]: """Get the valid date range for booking (tomorrow to +30 days).""" diff --git a/backend/shared_constants.py b/backend/shared_constants.py new file mode 100644 index 0000000..3a48651 --- /dev/null +++ b/backend/shared_constants.py @@ -0,0 +1,13 @@ +"""Load shared constants from shared/constants.json.""" +import json +from pathlib import Path + +_constants_path = Path(__file__).parent.parent / "shared" / "constants.json" +_constants = json.loads(_constants_path.read_text()) + +# Booking constants +SLOT_DURATION_MINUTES: int = _constants["booking"]["slotDurationMinutes"] +MIN_ADVANCE_DAYS: int = _constants["booking"]["minAdvanceDays"] +MAX_ADVANCE_DAYS: int = _constants["booking"]["maxAdvanceDays"] +NOTE_MAX_LENGTH: int = _constants["booking"]["noteMaxLength"] +