from __future__ import annotations from uuid import UUID from fastapi import APIRouter, Depends, Query from sqlalchemy.orm import Session from app.db.session import get_db from app.schemas.qa import QualityCheckList from app.services.quality_check_service import QualityCheckService from app.utils.response import envelope router = APIRouter(prefix="/projects/{project_id}", tags=["quality-checks"]) @router.get("/quality-checks", response_model=dict) def list_quality_checks( project_id: UUID, limit: int = Query(default=50, ge=1, le=200), offset: int = Query(default=0, ge=0), db: Session = Depends(get_db), ) -> dict: items, total = QualityCheckService.list_quality_checks( db, project_id=project_id, limit=limit, offset=offset, ) return envelope(QualityCheckList(items=items, total=total, limit=limit, offset=offset).model_dump())