Enhance service merging logic in session management to support nested updates
This commit is contained in:
@@ -770,7 +770,14 @@ class Session:
|
||||
if key == "services" and isinstance(value, dict):
|
||||
existing = merged.get("services")
|
||||
merged_services = dict(existing) if isinstance(existing, dict) else {}
|
||||
merged_services.update(value)
|
||||
for service_name, service_payload in value.items():
|
||||
current_payload = merged_services.get(service_name)
|
||||
if isinstance(current_payload, dict) and isinstance(service_payload, dict):
|
||||
next_payload = dict(current_payload)
|
||||
next_payload.update(service_payload)
|
||||
merged_services[service_name] = next_payload
|
||||
else:
|
||||
merged_services[service_name] = service_payload
|
||||
merged["services"] = merged_services
|
||||
else:
|
||||
merged[key] = value
|
||||
|
||||
Reference in New Issue
Block a user