40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
import uuid
|
|
from datetime import datetime
|
|
from pydantic import BaseModel
|
|
from app.schemas.product import ProductOut
|
|
from app.schemas.output_type import OutputTypeOut
|
|
|
|
|
|
class OrderLineCreate(BaseModel):
|
|
product_id: uuid.UUID
|
|
output_type_id: uuid.UUID | None = None
|
|
render_position_id: uuid.UUID | None = None
|
|
gewuenschte_bildnummer: str | None = None
|
|
notes: str | None = None
|
|
|
|
|
|
class OrderLineOut(BaseModel):
|
|
id: uuid.UUID
|
|
order_id: uuid.UUID
|
|
product_id: uuid.UUID
|
|
product: ProductOut
|
|
output_type_id: uuid.UUID | None
|
|
output_type: OutputTypeOut | None
|
|
gewuenschte_bildnummer: str | None
|
|
item_status: str
|
|
render_status: str
|
|
result_path: str | None
|
|
thumbnail_url: str | None = None
|
|
ai_validation_status: str
|
|
ai_validation_result: dict | None
|
|
render_backend_used: str | None = None
|
|
flamenco_job_id: str | None = None
|
|
unit_price: float | None = None
|
|
render_position_id: uuid.UUID | None = None
|
|
render_position_name: str | None = None
|
|
notes: str | None
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
model_config = {"from_attributes": True}
|