"""Workflow API schemas.""" from datetime import datetime from typing import Any from pydantic import BaseModel, ConfigDict from app.domain.enums import OrderStatus, StepStatus, WorkflowStepName class WorkflowStepRead(BaseModel): """Serialized workflow step record.""" model_config = ConfigDict(from_attributes=True) id: int workflow_run_id: int step_name: WorkflowStepName step_status: StepStatus input_json: dict[str, Any] | None output_json: dict[str, Any] | None error_message: str | None started_at: datetime ended_at: datetime | None class WorkflowStatusResponse(BaseModel): """Serialized workflow run details.""" order_id: int workflow_id: str workflow_type: str workflow_status: OrderStatus current_step: WorkflowStepName | None steps: list[WorkflowStepRead] created_at: datetime updated_at: datetime