"""代销平台 · 理财师名下客户。""" from __future__ import annotations from fastapi import APIRouter, Depends, Request from app.api.deps import ( AuthContext, assert_advisor_roster_access, get_platform_auth_context, ) from app.repository.risk_repository import RiskRepository from app.service.platform import advisor_service from app.utils.response import ok router = APIRouter(prefix="/api/advisors", tags=["platform-advisors"]) def _risk_repo() -> RiskRepository: return RiskRepository() def _trace_id(request: Request) -> str: return getattr(request.state, "trace_id", "unknown") @router.get("/{advisor_id}/customers") def list_advisor_customers_api( advisor_id: str, request: Request, auth: AuthContext = Depends(get_platform_auth_context), ) -> dict: repo = _risk_repo() assert_advisor_roster_access(auth, advisor_id, risk_repo=repo) data = advisor_service.list_advisor_customers(advisor_id) return ok(data, _trace_id(request)).model_dump()