from fastapi import APIRouter, HTTPException, Depends from typing import Dict, Any from services.reporting import generate_report from sqlalchemy.orm import Session from config.database import SessionLocal router = APIRouter(prefix="/api/reporting", tags=["Reporting"]) def get_db(): db = SessionLocal() try: yield db finally: db.close() @router.post("/summary", response_model=Dict[str, float]) async def summary_report(results: Any): # Expect a list of simulation result dicts if not isinstance(results, list): raise HTTPException(status_code=400, detail="Invalid input format") report = generate_report(results) return report