48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
"""Order API schemas."""
|
|
|
|
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from app.api.schemas.asset import AssetRead
|
|
from app.domain.enums import CustomerLevel, OrderStatus, ServiceMode, WorkflowStepName
|
|
|
|
|
|
class CreateOrderRequest(BaseModel):
|
|
"""Request payload for creating an order."""
|
|
|
|
customer_level: CustomerLevel
|
|
service_mode: ServiceMode
|
|
model_id: int
|
|
pose_id: int
|
|
garment_asset_id: int
|
|
scene_ref_asset_id: int
|
|
|
|
|
|
class CreateOrderResponse(BaseModel):
|
|
"""Response returned after an order has been created."""
|
|
|
|
order_id: int
|
|
workflow_id: str
|
|
status: OrderStatus
|
|
|
|
|
|
class OrderDetailResponse(BaseModel):
|
|
"""Order detail response."""
|
|
|
|
order_id: int
|
|
customer_level: CustomerLevel
|
|
service_mode: ServiceMode
|
|
status: OrderStatus
|
|
model_id: int
|
|
pose_id: int
|
|
garment_asset_id: int
|
|
scene_ref_asset_id: int
|
|
final_asset_id: int | None
|
|
workflow_id: str | None
|
|
current_step: WorkflowStepName | None
|
|
final_asset: AssetRead | None
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|