Coverage for backend/common/models/idaes/payloads/solve_request_schema.py: 100%
28 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-11-06 23:27 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2025-11-06 23:27 +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]
35class MultiSolvePayload(BaseModel):
36 """
37 Payload for dispatching multi-steady state solves
38 """
39 task_id: int
40 scenario_id: int
42IdaesSolveEvent = CloudEventsPayload[IdaesSolveRequestPayload]
43IdaesSolveCompletionEvent = CloudEventsPayload[IdaesSolveCompletionPayload]
44DispatchMultiSolveEvent = CloudEventsPayload[MultiSolvePayload]