Files
auto-virtual-tryon/app/api/routers/reviews.py
2026-03-27 00:10:28 +08:00

33 lines
1.1 KiB
Python

"""Review routes."""
from fastapi import APIRouter, Depends
from sqlalchemy.ext.asyncio import AsyncSession
from app.api.schemas.review import PendingReviewResponse, SubmitReviewRequest, SubmitReviewResponse
from app.application.services.review_service import ReviewService
from app.infra.db.session import get_db_session
router = APIRouter(prefix="/reviews", tags=["reviews"])
review_service = ReviewService()
@router.get("/pending", response_model=list[PendingReviewResponse])
async def list_pending_reviews(
session: AsyncSession = Depends(get_db_session),
) -> list[PendingReviewResponse]:
"""List review tasks waiting for manual input."""
return await review_service.list_pending_reviews(session)
@router.post("/{order_id}/submit", response_model=SubmitReviewResponse)
async def submit_review(
order_id: int,
payload: SubmitReviewRequest,
session: AsyncSession = Depends(get_db_session),
) -> SubmitReviewResponse:
"""Submit a review decision for a workflow."""
return await review_service.submit_review(session, order_id, payload)