24 lines
549 B
Python
24 lines
549 B
Python
"""Domain workflow step model."""
|
|
|
|
from dataclasses import dataclass
|
|
from datetime import datetime
|
|
from typing import Any
|
|
|
|
from app.domain.enums import StepStatus, WorkflowStepName
|
|
|
|
|
|
@dataclass(slots=True)
|
|
class WorkflowStep:
|
|
"""Business representation of a workflow step attempt."""
|
|
|
|
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
|
|
|