Phase 1: Add Availability model and API

- Create Availability model with date, start_time, end_time
- Add availability schemas with 15-minute boundary validation
- Add admin endpoints:
  - GET /api/admin/availability - query by date range
  - PUT /api/admin/availability - set slots for a date
  - POST /api/admin/availability/copy - copy to multiple days
- Add 26 tests covering permissions, CRUD, and validation
This commit is contained in:
counterweight 2025-12-20 23:36:11 +01:00
parent 6c1a05d93d
commit 64d2e99d73
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
5 changed files with 788 additions and 4 deletions

View file

@ -12,6 +12,7 @@ from routes import profile as profile_routes
from routes import invites as invites_routes
from routes import auth as auth_routes
from routes import meta as meta_routes
from routes import availability as availability_routes
from validate_constants import validate_shared_constants
@ -44,4 +45,5 @@ app.include_router(audit_routes.router)
app.include_router(profile_routes.router)
app.include_router(invites_routes.router)
app.include_router(invites_routes.admin_router)
app.include_router(availability_routes.router)
app.include_router(meta_routes.router)