Integrate formal decisions with cases
This commit is contained in:
@@ -82,6 +82,19 @@ class CaseUpdateRequest(BaseModel):
|
||||
metadata: dict[str, Any] | None = None
|
||||
|
||||
|
||||
class CaseDecisionRequest(BaseModel):
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
expected_case_revision: int = Field(ge=1)
|
||||
effective_at: datetime
|
||||
decision_type: str = Field(min_length=1, max_length=120)
|
||||
operative_result: str = Field(min_length=1, max_length=20_000)
|
||||
reasoning: str = Field(min_length=1, max_length=50_000)
|
||||
conditions: list[str] = Field(default_factory=list, max_length=100)
|
||||
change_reason: str = Field(min_length=1, max_length=1_000)
|
||||
idempotency_key: str = Field(min_length=1, max_length=255)
|
||||
|
||||
|
||||
class CaseListResponse(BaseModel):
|
||||
cases: list[dict[str, Any]]
|
||||
total: int
|
||||
@@ -99,6 +112,7 @@ class CaseTimelineResponse(BaseModel):
|
||||
|
||||
__all__ = [
|
||||
"CaseGrantRequest",
|
||||
"CaseDecisionRequest",
|
||||
"CaseHistoryResponse",
|
||||
"CaseListResponse",
|
||||
"CaseStatusWriteRequest",
|
||||
|
||||
Reference in New Issue
Block a user