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

from .. import models, schemas
from ..database import get_db
from ..services.reporting import generate_daily_report

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


@router.get("/daily", response_model=list[schemas.DailyReportOut])
def list_reports(db: Session = Depends(get_db)):
    return db.query(models.DailyReport).order_by(models.DailyReport.report_date.desc()).limit(30).all()


@router.post("/generate", response_model=schemas.DailyReportOut)
def generate(db: Session = Depends(get_db)):
    return generate_daily_report(db)
