"""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