"""Routes for macroeconomic data (FRED-powered).""" from fastapi import APIRouter, Query from models import ApiResponse from route_utils import safe import macro_service router = APIRouter(prefix="/api/v1") @router.get("/macro/overview", response_model=ApiResponse) @safe async def macro_overview(): """Get key macro indicators: Fed rate, treasury yields, CPI, unemployment, GDP, VIX.""" data = await macro_service.get_macro_overview() return ApiResponse(data=data) @router.get("/macro/series/{series_id}", response_model=ApiResponse) @safe async def macro_series( series_id: str, limit: int = Query(default=30, ge=1, le=1000), ): """Get a specific FRED time series by ID.""" data = await macro_service.get_series(series_id, limit=limit) return ApiResponse(data=data)