From 4b0b6cc603612c5ff774ffc0b49ec6cad386f894 Mon Sep 17 00:00:00 2001 From: Bearchitek Date: Mon, 31 Mar 2025 15:14:33 +0200 Subject: [PATCH 1/2] fixe process nodes for relation none --- infrahub_sdk/node.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/infrahub_sdk/node.py b/infrahub_sdk/node.py index a7ee537f..45ca0bd3 100644 --- a/infrahub_sdk/node.py +++ b/infrahub_sdk/node.py @@ -1479,15 +1479,15 @@ async def _process_relationships( for rel_name in self._relationships: rel = getattr(self, rel_name) if rel and isinstance(rel, RelatedNode): - relation = node_data["node"].get(rel_name) - if relation.get("node", None): + relation = node_data["node"].get(rel_name, None) + if relation and relation.get("node", None): related_node = await InfrahubNode.from_graphql( client=self._client, branch=branch, data=relation, timeout=timeout ) related_nodes.append(related_node) elif rel and isinstance(rel, RelationshipManager): - peers = node_data["node"].get(rel_name) - if peers: + peers = node_data["node"].get(rel_name, None) + if peers and peers["edges"]: for peer in peers["edges"]: related_node = await InfrahubNode.from_graphql( client=self._client, branch=branch, data=peer, timeout=timeout From d26fbe0289948845263c4b39a1f8e04ba208cccd Mon Sep 17 00:00:00 2001 From: Bearchitek Date: Mon, 31 Mar 2025 15:18:24 +0200 Subject: [PATCH 2/2] add fragment --- changelog/331.fixed.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/331.fixed.md diff --git a/changelog/331.fixed.md b/changelog/331.fixed.md new file mode 100644 index 00000000..e67d6182 --- /dev/null +++ b/changelog/331.fixed.md @@ -0,0 +1 @@ +Fix node processing, when using fragment with `prefetch_relationships`. \ No newline at end of file