Harden RC7 API response contracts
This commit is contained in:
@@ -6,7 +6,8 @@ from fastapi import APIRouter, Depends, Query
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.db.session import get_db
|
||||
from app.schemas.detection_review import DetectionReviewUpsert
|
||||
from app.schemas import Envelope, QualityEvidenceResponse
|
||||
from app.schemas.detection_review import DetectionReviewList, DetectionReviewRead, DetectionReviewUpsert
|
||||
from app.schemas.qa import QualityCheckList
|
||||
from app.services.detection_review_service import DetectionReviewService
|
||||
from app.services.quality_evidence_service import QualityEvidenceService
|
||||
@@ -16,7 +17,7 @@ from app.utils.response import envelope
|
||||
router = APIRouter(prefix="/projects/{project_id}", tags=["quality-checks"])
|
||||
|
||||
|
||||
@router.get("/quality-checks", response_model=dict)
|
||||
@router.get("/quality-checks", response_model=Envelope[QualityCheckList])
|
||||
def list_quality_checks(
|
||||
project_id: UUID,
|
||||
limit: int = Query(default=50, ge=1, le=200),
|
||||
@@ -32,7 +33,10 @@ def list_quality_checks(
|
||||
return envelope(QualityCheckList(items=items, total=total, limit=limit, offset=offset).model_dump())
|
||||
|
||||
|
||||
@router.get("/quality-checks/{quality_check_id}/evidence/geojson", response_model=dict)
|
||||
@router.get(
|
||||
"/quality-checks/{quality_check_id}/evidence/geojson",
|
||||
response_model=Envelope[QualityEvidenceResponse],
|
||||
)
|
||||
def get_quality_check_evidence_geojson(
|
||||
project_id: UUID,
|
||||
quality_check_id: UUID,
|
||||
@@ -41,7 +45,10 @@ def get_quality_check_evidence_geojson(
|
||||
return envelope(QualityEvidenceService.evidence_geojson(db, project_id=project_id, quality_check_id=quality_check_id))
|
||||
|
||||
|
||||
@router.get("/quality-checks/{quality_check_id}/reviews", response_model=dict)
|
||||
@router.get(
|
||||
"/quality-checks/{quality_check_id}/reviews",
|
||||
response_model=Envelope[DetectionReviewList],
|
||||
)
|
||||
def list_detection_reviews(
|
||||
project_id: UUID,
|
||||
quality_check_id: UUID,
|
||||
@@ -66,7 +73,10 @@ def list_detection_reviews(
|
||||
)
|
||||
|
||||
|
||||
@router.post("/quality-checks/{quality_check_id}/reviews", response_model=dict)
|
||||
@router.post(
|
||||
"/quality-checks/{quality_check_id}/reviews",
|
||||
response_model=Envelope[DetectionReviewRead],
|
||||
)
|
||||
def upsert_detection_review(
|
||||
project_id: UUID,
|
||||
quality_check_id: UUID,
|
||||
|
||||
Reference in New Issue
Block a user