Skip to content

Resolve: Queue working

Pavani Nagireddi requested to merge QueueWorking into main

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 ActiveCampStatus response 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.py
  • app/api/v1/routes/medical_camp_routes.py
  • app/services/medical_camp_service.py
  • app/services/consultation_queue_service.py
  • app/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.

Validation

  • Python compile sanity check passed:
    • python3 -m compileall app/... Screenshot_from_2026-03-04_14-22-56

Merge request reports

Loading