v1.1.11: normalize valueList CSV→array for nested dataDescriptor params

This commit is contained in:
2026-07-28 13:56:58 +04:00
parent da88fa6bd8
commit 659681dbf6
3 changed files with 16 additions and 4 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ from routes.api import bp as api_bp
from routes.api_test import bp as api_test_bp
# Версия — меняется при КАЖДОМ изменении кода. Показывается в топбаре UI.
VERSION = "1.1.10"
VERSION = "1.1.11"
app = Flask(__name__, template_folder="templates", static_folder="static")
app.config["NUBES_API_ENDPOINT"] = os.getenv("NUBES_API_ENDPOINT", "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc")
+13 -1
View File
@@ -71,7 +71,7 @@ def get_params_with_current_values(client, op_id, instance_uid):
{
k: {
"dataType": v.get("dataType", ""),
"valueList": v.get("valueList", ""),
"valueList": _normalize_value_list(v.get("valueList", "")),
"isRequired": v.get("isRequired", False),
}
for k, v in dd.items()
@@ -81,3 +81,15 @@ def get_params_with_current_values(client, op_id, instance_uid):
})
return result
def _normalize_value_list(vl):
"""Nubes API возвращает valueList как CSV-строку или массив.
Приводим к list для фронтенда."""
if vl is None:
return None
if isinstance(vl, list):
return vl
if isinstance(vl, str):
return [x.strip() for x in vl.split(',') if x.strip()] or None
return None
+2 -2
View File
@@ -175,9 +175,9 @@ def api_params(op_id):
"dataType": p.get("dataType", ""),
"isRequired": p.get("isRequired", False),
"defaultValue": p.get("defaultValue"),
"valueList": p.get("valueList"),
"valueList": _normalize_value_list(p.get("valueList")),
"refSvcId": p.get("refSvcId"),
"dataDescriptor": {k: {"dataType": v.get("dataType",""), "valueList": v.get("valueList",""), "isRequired": v.get("isRequired", False)} for k, v in dd.items()} if isinstance(dd, dict) else None,
"dataDescriptor": {k: {"dataType": v.get("dataType",""), "valueList": _normalize_value_list(v.get("valueList","")), "isRequired": v.get("isRequired", False)} for k, v in dd.items()} if isinstance(dd, dict) else None,
})
_log(f"[api_params] DEFAULT returning {len(result)} params")
return jsonify({"params": result})