arbret/backend/routes
counterweight db7a0dbe28
refactor(backend): extract date range validation utilities
Issue #5: Date validation logic was duplicated across availability
and booking routes.

Changes:
- Add date_validation.py with shared utilities:
  - get_bookable_date_range: returns (min_date, max_date) tuple
  - validate_date_in_range: validates date with contextual errors
- Update routes/availability.py to use shared utilities
- Update routes/booking.py to use shared utilities
- Remove redundant _get_date_range_bounds and _get_bookable_date_range
- Error messages now include context (book, set availability, etc.)
2025-12-22 00:02:41 +01:00
..
__init__.py first implementation 2025-12-20 22:18:14 +01:00
audit.py refactor(backend): extract pagination utilities 2025-12-22 00:00:24 +01:00
auth.py Add ruff linter/formatter for Python 2025-12-21 21:54:26 +01:00
availability.py refactor(backend): extract date range validation utilities 2025-12-22 00:02:41 +01:00
booking.py refactor(backend): extract date range validation utilities 2025-12-22 00:02:41 +01:00
counter.py Phase 2: Job enqueueing from counter 2025-12-21 22:44:31 +01:00
invites.py refactor(backend): extract pagination utilities 2025-12-22 00:00:24 +01:00
meta.py refactor: derive Permission type from generated OpenAPI schema 2025-12-21 23:55:47 +01:00
profile.py refactor(auth): unify authorization patterns with MANAGE_OWN_PROFILE permission 2025-12-21 23:50:06 +01:00
sum.py Add ruff linter/formatter for Python 2025-12-21 21:54:26 +01:00