Files
auto-virtual-tryon/app/api/schemas/review.py

42 lines
1.0 KiB
Python

"""Review API schemas."""
from datetime import datetime
from pydantic import BaseModel
from app.domain.enums import ReviewDecision, ReviewTaskStatus, WorkflowStepName
class SubmitReviewRequest(BaseModel):
"""Request payload for review submission."""
decision: ReviewDecision
reviewer_id: int
selected_asset_id: int | None = None
comment: str | None = None
class SubmitReviewResponse(BaseModel):
"""Response returned after a review signal is sent."""
order_id: int
workflow_id: str
decision: ReviewDecision
status: str
class PendingReviewResponse(BaseModel):
"""Response model for pending review items."""
review_task_id: int
order_id: int
workflow_id: str
current_step: WorkflowStepName | None
review_task_status: ReviewTaskStatus = ReviewTaskStatus.PENDING
latest_revision_asset_id: int | None = None
current_revision_asset_id: int | None = None
latest_revision_version: int | None = None
revision_count: int = 0
pending_manual_confirm: bool = False
created_at: datetime