Files
gitea a16050c80a
CI / lint-and-build (push) Has been cancelled
CI / python-checks (3.12) (push) Has been cancelled
feat: multiple updates - alerts, auth, sectors, rotation service, financials ingestion, task specs, and agent framework
2026-06-06 22:01:40 -04:00

1.6 KiB

Task: Migrate GET endpoints to AlertService

Goal

Replace routers/alerts.py GET endpoints (get_user_alerts, get_alert) to use AlertService instead of direct DB calls.

Requirements

Changes to src/backend/routers/alerts.py

  1. Import AlertService from services.alert_service
  2. Create a service instance: service = AlertService()
  3. Replace get_user_alerts() body:
    • Remove all DB query logic (the ~40 lines of query building)
    • Call service.get_user_alerts(watchlist_id, status, page, page_size, user_id)
    • Return the result wrapped in AlertListResponse
  4. Replace get_alert() body:
    • Use service.get_alert(alert_id, user_id)
    • Keep the watchlist owner check using service._require_watchlist_owner()
    • Return result wrapped in AlertResponse

Constraints

  • Keep the existing route signatures, decorators, and response models unchanged
  • Keep the resolve_alert, dismiss_alert, update_alert, and create_alert methods calling DB directly (they will be migrated in the next task)
  • File must stay under 200 lines total

Acceptance Criteria

  1. get_user_alerts uses AlertService.get_user_alerts() internally
  2. get_alert uses AlertService.get_alert() internally
  3. All existing GET tests still pass: pytest tests/test_alerts.py -k "get" --tb=short
  4. No import errors

Files to Modify

  • src/backend/routers/alerts.py

Files to Read First

  • src/backend/services/alert_service.py — the service created in the previous task
  • src/backend/routers/alerts.py — current GET endpoint implementations