v1.0.62: immediate visual refresh after CREATE

This commit is contained in:
2026-07-27 11:19:26 +04:00
parent b0844114ba
commit 8531d5e15d
5 changed files with 78 additions and 28 deletions
+14 -2
View File
@@ -137,11 +137,23 @@ def api_operations(svc_id):
ops = detail.get("operations", [])
# только отслеживаемые инстансы этого сервиса
tracked = tracker_list()
tracked_uids = {t["instanceUid"] for t in tracked if t["svcId"] == svc_id}
tracked_by_uid = {t["instanceUid"]: t for t in tracked if t["svcId"] == svc_id}
tracked_uids = set(tracked_by_uid.keys())
instances = get_instances(client)
nubes_uids = {i["instanceUid"] for i in instances}
svc_instances = [i for i in instances
if i.get("instanceUid") in tracked_uids
and i.get("explainedStatus") not in ("deleted", "not created")]
and i.get("explainedStatus") not in ("deleted",)]
# Если Nubes уже не отдаёт tracked-инстанс после reload, добавляем его из трекера.
for uid, t in tracked_by_uid.items():
if uid not in nubes_uids:
svc_instances.append({
"instanceUid": uid,
"displayName": t["displayName"],
"serviceId": svc_id,
"svc": detail.get("svc", ""),
"explainedStatus": "creating",
})
return jsonify({"svc": detail.get("svc", ""), "operations": ops, "instances": svc_instances})
except Exception as e:
return jsonify({"error": str(e)}), 500