Resolve: Queue working
Backend MR Description
Title
Fix queue lifecycle for inactive camps + add active camp status API
Summary
This MR updates backend queue behavior so queue data is unavailable when no active camp exists, and adds an explicit API to expose current camp runtime state (ACTIVE/COMPLETED).
Changes
- Added
ActiveCampStatusresponse schema. - Added new endpoint:
GET /api/v1/medical-camps/status/active
- Added service logic to compute active camp state (today-based).
- Added queue cleanup/guard logic:
- Clears queue entries when no active camp exists.
- Queue fetch methods return empty list when camp is inactive.
- Applied same guard to Socket.IO queue payloads.
- Triggered queue cleanup on camp update/delete.
Files
app/schemas/medical_camp.pyapp/api/v1/routes/medical_camp_routes.pyapp/services/medical_camp_service.pyapp/services/consultation_queue_service.pyapp/websockets/socketio_queue_manager.py
Behavior After
- Active camp exists today -> queue APIs/socket return queue data.
- No active camp -> queue APIs/socket return empty data.
- Camp transition to inactive (update/delete/no today camp) -> queue entries are cleared.
