fix(cli): map timeseries element types for backend

This commit is contained in:
2026-08-05 18:39:00 +08:00
parent 70c5b0e445
commit b0a23a8012
+7 -3
View File
@@ -29,6 +29,10 @@ def _scheme_type_option(scheme_type: str | None) -> str:
return scheme_type or "simulation" return scheme_type or "simulation"
def _backend_element_type(element_type: ElementType) -> str:
return "link" if element_type == ElementType.PIPE else "node"
def _validate_element_property(element_type: ElementType, property_name: str, *, option_name: str) -> str: def _validate_element_property(element_type: ElementType, property_name: str, *, option_name: str) -> str:
valid_fields = timeseries_fields_for_element_type(element_type) valid_fields = timeseries_fields_for_element_type(element_type)
if property_name not in valid_fields: if property_name not in valid_fields:
@@ -117,7 +121,7 @@ def data_realtime_simulation_by_id_time(
path="/timeseries/realtime/simulation-results", path="/timeseries/realtime/simulation-results",
params={ params={
"id": id, "id": id,
"type": type.value, "type": _backend_element_type(type),
"query_time": parse_time_with_timezone(time, option_name="--time").isoformat(), "query_time": parse_time_with_timezone(time, option_name="--time").isoformat(),
}, },
require_auth=True, require_auth=True,
@@ -139,7 +143,7 @@ def data_realtime_simulation_by_time_property(
method="GET", method="GET",
path="/timeseries/realtime/records", path="/timeseries/realtime/records",
params={ params={
"type": type.value, "type": _backend_element_type(type),
"query_time": parse_time_with_timezone(time, option_name="--time").isoformat(), "query_time": parse_time_with_timezone(time, option_name="--time").isoformat(),
"property": property, "property": property,
}, },
@@ -218,7 +222,7 @@ def data_scheme_simulation(
"scheme_name": resolve_scheme(runtime, scheme, required=True), "scheme_name": resolve_scheme(runtime, scheme, required=True),
"scheme_type": _scheme_type_option(scheme_type), "scheme_type": _scheme_type_option(scheme_type),
"query_time": parse_time_with_timezone(time, option_name="--time").isoformat(), "query_time": parse_time_with_timezone(time, option_name="--time").isoformat(),
"type": type.value, "type": _backend_element_type(type),
} }
if query == SimulationQuery.BY_ID_TIME: if query == SimulationQuery.BY_ID_TIME:
if not id: if not id: