vpp-ai-platform/skills-py/vpp_contracts/decision_case.py

52 lines
1.2 KiB
Python
Raw Permalink Normal View History

# generated by datamodel-codegen:
# filename: decision_case.json
from __future__ import annotations
from enum import StrEnum
from pydantic import AwareDatetime, BaseModel, ConfigDict, constr
class Kind(StrEnum):
DAY_AHEAD_BID = 'DAY_AHEAD_BID'
DR_EVENT = 'DR_EVENT'
DEVIATION_RESOLUTION = 'DEVIATION_RESOLUTION'
REVIEW = 'REVIEW'
ADHOC_ANALYSIS = 'ADHOC_ANALYSIS'
class Status(StrEnum):
OPEN = 'OPEN'
IN_PROGRESS = 'IN_PROGRESS'
AWAITING_APPROVAL = 'AWAITING_APPROVAL'
CLOSED_DONE = 'CLOSED_DONE'
CLOSED_ABORTED = 'CLOSED_ABORTED'
class Refs(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
evidence: list[constr(min_length=1)]
proposals: list[constr(min_length=1)]
approvals: list[constr(min_length=1)]
permits: list[constr(min_length=1)]
scenarios: list[constr(min_length=1)]
outcome: constr(min_length=1) | None
class DecisionCase(BaseModel):
model_config = ConfigDict(
extra='forbid',
)
id: constr(min_length=1)
kind: Kind
objective: constr(min_length=1)
owner: constr(min_length=1)
deadline: AwareDatetime
status: Status
refs: Refs
opened_at: AwareDatetime
closed_at: AwareDatetime | None