from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.ext.asyncio import AsyncSession from typing import Annotated from app.database import get_db from app.services.silent_pattern import SilentPatternService from app.api.v1.deps import get_current_user_id router = APIRouter() @router.get("/risk-analysis") async def get_silent_risk_analysis( user_id: str = Depends(get_current_user_id), db: Annotated[AsyncSession, Depends(get_db)] = None, ): service = SilentPatternService(db) risks = await service.analyze_silent_risk(user_id) return { "items": risks, "total": len(risks), "high_risk": len([r for r in risks if r["risk_level"] == "high"]), "medium_risk": len([r for r in risks if r["risk_level"] == "medium"]), } @router.get("/{customer_id}/suggestions") async def get_followup_suggestions( customer_id: str, user_id: str = Depends(get_current_user_id), db: Annotated[AsyncSession, Depends(get_db)] = None, ): service = SilentPatternService(db) suggestions = await service.get_suggestions(user_id, customer_id) return {"customer_id": customer_id, "suggestions": suggestions}