Coverage for backend/common/src/common/models/idaes/payloads/solve_request_schema.py: 100%
29 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-02-12 01:47 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-02-12 01:47 +0000
1from typing import Optional
3from pydantic import BaseModel
4from common.models import CloudEventsPayload
5from common.models.idaes import FlowsheetSchema
6from common.models.idaes.flowsheet_schema import SolvedFlowsheetSchema
9class IdaesSolveRequestPayload(BaseModel):
10 """
11 Payload for IDAES solve requests
12 """
13 flowsheet: FlowsheetSchema
14 solve_index: Optional[int] = None
15 scenario_id: Optional[int] = None
16 task_id: int
17 perform_diagnostics: bool = False
20class IdaesSolveCompletionPayload(BaseModel):
21 """
22 Payload for IDAES solve completion events
23 """
24 flowsheet: Optional[SolvedFlowsheetSchema]
25 input_flowsheet: FlowsheetSchema
26 solve_index: Optional[int]
27 scenario_id: Optional[int] = None
28 task_id: int
29 status: str
30 error: Optional[dict]
31 timing: dict
32 log: str
33 traceback: Optional[str]
34 diagnostics_raw_text: Optional[str] = None
36class MultiSolvePayload(BaseModel):
37 """
38 Payload for dispatching multi-steady state solves
39 """
40 task_id: int
41 scenario_id: int
43IdaesSolveEvent = CloudEventsPayload[IdaesSolveRequestPayload]
44IdaesSolveCompletionEvent = CloudEventsPayload[IdaesSolveCompletionPayload]
45DispatchMultiSolveEvent = CloudEventsPayload[MultiSolvePayload]