37 lines
774 B
Python
37 lines
774 B
Python
"""Review API schemas."""
|
|
|
|
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from app.domain.enums import ReviewDecision, 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
|
|
created_at: datetime
|
|
|