30 lines
901 B
Python
30 lines
901 B
Python
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())
|