feat: multiple updates - alerts, auth, sectors, rotation service, financials ingestion, task specs, and agent framework
CI / lint-and-build (push) Has been cancelled
CI / python-checks (3.12) (push) Has been cancelled

This commit is contained in:
2026-06-06 22:01:40 -04:00
parent 7cbc5c120d
commit a16050c80a
47 changed files with 2434 additions and 373 deletions
+37
View File
@@ -0,0 +1,37 @@
# 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