feat: add advisor portfolio analysis

This commit is contained in:
Windows
2026-09-11 13:20:09 +08:00
parent 60c4a49b9b
commit 281e76e4b1
13 changed files with 448 additions and 22 deletions
+22
View File
@@ -0,0 +1,22 @@
"""Read-only portfolio-analysis endpoint."""
from fastapi import APIRouter, Depends
from app.api.dependencies.auth import build_request_context
from app.api.dependencies.rate_limit import enforce_rate_limit
from app.api.schemas.portfolio_analysis import PortfolioAnalysisQuery
from app.core.contracts import RequestContext
from app.service.portfolio_analysis_service import PortfolioAnalysisService
router = APIRouter(
prefix="/api/v1/advisor", tags=["advisor-portfolio-analysis"],
dependencies=[Depends(enforce_rate_limit)],
)
@router.post("/portfolio-analysis")
async def analyze_portfolio(
payload: PortfolioAnalysisQuery,
context: RequestContext = Depends(build_request_context), # noqa: B008
) -> dict[str, object]:
return await PortfolioAnalysisService().analyze_for_agent(payload, context)