from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session

from .. import models, schemas
from ..agents.orchestrator import run_scan_pipeline
from ..database import get_db

router = APIRouter(prefix="/api/scanner", tags=["scanner"])


@router.post("/run", response_model=schemas.ScanRunOut)
def run_scan(db: Session = Depends(get_db)):
    """Run the full agent pipeline (paper research only)."""
    return run_scan_pipeline(db)


@router.get("/results", response_model=schemas.ScanRunOut | None)
def latest_results(db: Session = Depends(get_db)):
    return db.query(models.ScanRun).order_by(models.ScanRun.id.desc()).first()
