"""Routes for economy surveys.""" from fastapi import APIRouter, Query from models import ApiResponse from route_utils import safe import surveys_service router = APIRouter(prefix="/api/v1/economy/surveys") @router.get("/michigan", response_model=ApiResponse) @safe async def survey_michigan(): """University of Michigan Consumer Sentiment + inflation expectations.""" data = await surveys_service.get_michigan() return ApiResponse(data=data) @router.get("/sloos", response_model=ApiResponse) @safe async def survey_sloos(): """Senior Loan Officer Opinion Survey (lending standards, recession signal).""" data = await surveys_service.get_sloos() return ApiResponse(data=data) @router.get("/nonfarm-payrolls", response_model=ApiResponse) @safe async def survey_nfp(): """Detailed employment data: employees, hours, earnings by industry.""" data = await surveys_service.get_nonfarm_payrolls() return ApiResponse(data=data) @router.get("/empire-state", response_model=ApiResponse) @safe async def survey_empire(): """Empire State Manufacturing Survey (NY manufacturing outlook).""" data = await surveys_service.get_empire_state() return ApiResponse(data=data) @router.get("/bls-search", response_model=ApiResponse) @safe async def survey_bls_search(query: str = Query(..., min_length=1, max_length=100)): """Search BLS data series (CPI components, wages, employment, etc.).""" data = await surveys_service.bls_search(query=query) return ApiResponse(data=data)