Skip to content

Commit 3e68da9

Browse files
create resources on graph based on name AND apiVersion
1 parent 99d7445 commit 3e68da9

File tree

1 file changed

+28
-20
lines changed

1 file changed

+28
-20
lines changed

src/components/Graphs/useGraph.ts

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,12 @@ export function useGraph(colorBy: ColorBy, onYamlClick: (item: ManagedResourceIt
100100
const treeData = useMemo(() => {
101101
if (!managedResources || !providerConfigsList) return [];
102102
const allNodesMap = new Map<string, NodeData>();
103+
103104
managedResources.forEach((group: ManagedResourceGroup) => {
104105
group.items?.forEach((item: ManagedResourceItem) => {
105-
const id = item?.metadata?.name;
106+
const name = item?.metadata?.name;
107+
const apiVersion = item?.apiVersion ?? '';
108+
const id = `${name}-${apiVersion}`;
106109
const kind = item?.kind;
107110
const providerConfigName = item?.spec?.providerConfigRef?.name ?? 'unknown';
108111
const providerType = resolveProviderType(providerConfigName, providerConfigsList);
@@ -135,23 +138,10 @@ export function useGraph(colorBy: ColorBy, onYamlClick: (item: ManagedResourceIt
135138
globalaccountTrustConfigurationRef,
136139
} = extractRefs(item);
137140

138-
const parentId = serviceManagerRef || subaccountRef;
139-
const extraRefs = [
140-
spaceRef,
141-
orgRef,
142-
cloudManagementRef,
143-
directoryRef,
144-
entitlementRef,
145-
globalAccountRef,
146-
orgRoleRef,
147-
spaceMembersRef,
148-
cloudFoundryEnvironmentRef,
149-
kymaEnvironmentRef,
150-
roleCollectionRef,
151-
roleCollectionAssignmentRef,
152-
subaccountTrustConfigurationRef,
153-
globalaccountTrustConfigurationRef,
154-
].filter(Boolean) as string[];
141+
const createReferenceIdWithApiVersion = (referenceName: string | undefined) => {
142+
if (!referenceName) return undefined;
143+
return `${referenceName}-${apiVersion}`;
144+
};
155145

156146
if (id) {
157147
allNodesMap.set(id, {
@@ -164,14 +154,32 @@ export function useGraph(colorBy: ColorBy, onYamlClick: (item: ManagedResourceIt
164154
transitionTime: statusCond?.lastTransitionTime ?? '',
165155
statusMessage: statusCond?.reason ?? statusCond?.message ?? '',
166156
fluxName,
167-
parentId,
168-
extraRefs,
157+
parentId: createReferenceIdWithApiVersion(serviceManagerRef || subaccountRef),
158+
extraRefs: [
159+
spaceRef,
160+
orgRef,
161+
cloudManagementRef,
162+
directoryRef,
163+
entitlementRef,
164+
globalAccountRef,
165+
orgRoleRef,
166+
spaceMembersRef,
167+
cloudFoundryEnvironmentRef,
168+
kymaEnvironmentRef,
169+
roleCollectionRef,
170+
roleCollectionAssignmentRef,
171+
subaccountTrustConfigurationRef,
172+
globalaccountTrustConfigurationRef,
173+
]
174+
.map(createReferenceIdWithApiVersion)
175+
.filter(Boolean) as string[],
169176
item,
170177
onYamlClick,
171178
});
172179
}
173180
});
174181
});
182+
175183
return Array.from(allNodesMap.values());
176184
}, [managedResources, providerConfigsList, onYamlClick]);
177185

0 commit comments

Comments
 (0)