feat: add manual revision and dashboard list apis
This commit is contained in:
69
app/api/schemas/revision.py
Normal file
69
app/api/schemas/revision.py
Normal file
@@ -0,0 +1,69 @@
|
||||
"""Revision API schemas."""
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from app.domain.enums import ReviewDecision, ReviewTaskStatus
|
||||
|
||||
|
||||
class RegisterRevisionRequest(BaseModel):
|
||||
"""Request payload for registering a manual revision asset."""
|
||||
|
||||
parent_asset_id: int
|
||||
uploaded_uri: str
|
||||
reviewer_id: int
|
||||
comment: str | None = None
|
||||
|
||||
|
||||
class RegisterRevisionResponse(BaseModel):
|
||||
"""Response returned after a manual revision has been registered."""
|
||||
|
||||
order_id: int
|
||||
workflow_id: str
|
||||
asset_id: int
|
||||
parent_asset_id: int
|
||||
root_asset_id: int
|
||||
version_no: int
|
||||
review_task_status: ReviewTaskStatus
|
||||
latest_revision_asset_id: int
|
||||
revision_count: int
|
||||
|
||||
|
||||
class RevisionChainItem(BaseModel):
|
||||
"""One item in the manual revision chain."""
|
||||
|
||||
asset_id: int
|
||||
order_id: int
|
||||
parent_asset_id: int | None
|
||||
root_asset_id: int | None
|
||||
version_no: int
|
||||
is_current_version: bool
|
||||
uri: str
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class RevisionChainResponse(BaseModel):
|
||||
"""Response returned when listing a revision chain."""
|
||||
|
||||
order_id: int
|
||||
latest_revision_asset_id: int | None = None
|
||||
revision_count: int = 0
|
||||
items: list[RevisionChainItem]
|
||||
|
||||
|
||||
class ConfirmRevisionRequest(BaseModel):
|
||||
"""Request payload for confirming a manual revision."""
|
||||
|
||||
reviewer_id: int
|
||||
comment: str | None = None
|
||||
|
||||
|
||||
class ConfirmRevisionResponse(BaseModel):
|
||||
"""Response returned after confirming a manual revision."""
|
||||
|
||||
order_id: int
|
||||
workflow_id: str
|
||||
revision_asset_id: int
|
||||
decision: ReviewDecision
|
||||
status: str
|
||||
Reference in New Issue
Block a user