# 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