Motivation
The admin Events page (/admin/events) calls GET /api/admin/events to populate its table. This route does not exist — the admin events router (backend/app/routers/admin/events.py) only defines POST, PUT, and DELETE. The GET request receives a 405 response, the error is caught silently, and the table always renders empty even after events are successfully created.
Deliverables
- Add a
GET /api/admin/events route to backend/app/routers/admin/events.py that returns all events (published and unpublished) for admin use, protected by get_current_user
- The response should use
AdminCalendarEventDTO so the admin table can display draft/published status
Important Notes
- The existing public
GET /api/events route intentionally filters to is_published == true and should remain unchanged
- The admin GET should return all events regardless of published status, sorted by
start_datetime
Motivation
The admin Events page (
/admin/events) callsGET /api/admin/eventsto populate its table. This route does not exist — the admin events router (backend/app/routers/admin/events.py) only definesPOST,PUT, andDELETE. The GET request receives a 405 response, the error is caught silently, and the table always renders empty even after events are successfully created.Deliverables
GET /api/admin/eventsroute tobackend/app/routers/admin/events.pythat returns all events (published and unpublished) for admin use, protected byget_current_userAdminCalendarEventDTOso the admin table can display draft/published statusImportant Notes
GET /api/eventsroute intentionally filters tois_published == trueand should remain unchangedstart_datetime