bmc_hub/app/workflows/models.py

28 lines
859 B
Python
Raw Permalink Normal View History

"""Validated HTTP envelopes; definition validation belongs to the shared engine."""
from typing import Any, Literal, Optional
from pydantic import BaseModel, Field
class WorkflowDraft(BaseModel):
name: str = Field(min_length=1, max_length=160)
customer_id: Optional[str] = None
priority: int = Field(default=100, ge=0, le=100000)
definition: dict[str, Any]
class SimulationRequest(BaseModel):
version_id: Optional[int] = Field(default=None, gt=0)
context: dict[str, Any] = Field(default_factory=dict)
entity_type: Optional[Literal['case', 'time_entry']] = None
entity_id: Optional[int] = Field(default=None, gt=0)
class ActivationRequest(BaseModel):
version_id: int = Field(gt=0)
simulation_receipt: str
enabled: bool = True
class CopyRequest(BaseModel):
name: str = Field(min_length=1, max_length=160)