diff --git a/site/app.py b/site/app.py index 569bba5..dd13f7e 100644 --- a/site/app.py +++ b/site/app.py @@ -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") diff --git a/site/operations/get_params.py b/site/operations/get_params.py index 12f9031..42719fa 100644 --- a/site/operations/get_params.py +++ b/site/operations/get_params.py @@ -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 diff --git a/site/routes/api_test.py b/site/routes/api_test.py index 808c7b7..736b49f 100644 --- a/site/routes/api_test.py +++ b/site/routes/api_test.py @@ -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})