Skip to content

Commit dc04a4f

Browse files
committed
Add acl and routing peer groups
1 parent 1590ef4 commit dc04a4f

File tree

2 files changed

+29
-11
lines changed

2 files changed

+29
-11
lines changed

src/modules/groups/details/useGroupDetails.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,18 @@ export default function useGroupDetails(groupId: string) {
6666
}, [nameservers, groupId]);
6767

6868
const linkedRoutes = useMemo(() => {
69-
return routes?.filter((route) => route.groups?.includes(groupId)) || [];
69+
return (
70+
routes?.filter((route) => {
71+
const isInDistributionGroups = route.groups?.includes(groupId);
72+
const isInAccessControlGroups =
73+
route.access_control_groups?.includes(groupId);
74+
const isInPeerGroups = route.peer_groups?.includes(groupId);
75+
76+
return (
77+
isInAccessControlGroups || isInDistributionGroups || isInPeerGroups
78+
);
79+
}) || []
80+
);
7081
}, [routes, groupId]);
7182

7283
const linkedSetupKeys = useMemo(() => {

src/modules/groups/useGroupsUsage.tsx

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,6 @@ export default function useGroupsUsage() {
5757
.filter((u) => u !== undefined);
5858
}, [nameservers, isNameserversLoading]);
5959

60-
const routesGroups = useMemo(() => {
61-
if (isRoutesLoading) return;
62-
if (!routes) return [];
63-
return routes?.map((route) => route.groups).filter((u) => u !== undefined);
64-
}, [routes, isRoutesLoading]);
65-
6660
const setupKeysGroups = useMemo(() => {
6761
if (isSetupKeysLoading) return;
6862
if (!setupKeys) return [];
@@ -99,6 +93,7 @@ export default function useGroupsUsage() {
9993

10094
const groupsUsage = useMemo(() => {
10195
if (isLoading) return [];
96+
if (isRoutesLoading) return [];
10297
if (!groups) return [];
10398
return groups?.map((group) => {
10499
const policyCount = policiesGroups?.filter((policy) => {
@@ -109,9 +104,20 @@ export default function useGroupsUsage() {
109104
return nameserver.includes(group.id as string);
110105
}).length;
111106

112-
const routeCount = routesGroups?.filter((route) => {
113-
return route.includes(group.id as string);
114-
}).length;
107+
const routeCount = (
108+
routes?.filter((route) => {
109+
const groupId = group.id as string;
110+
const isInDistributionGroups =
111+
route.groups?.includes(groupId) ?? false;
112+
const isInAccessControlGroups =
113+
route.access_control_groups?.includes(groupId) ?? false;
114+
const isInPeerGroups = route.peer_groups?.includes(groupId) ?? false;
115+
116+
return (
117+
isInAccessControlGroups || isInDistributionGroups || isInPeerGroups
118+
);
119+
}) || []
120+
).length;
115121

116122
const setupKeyCount = setupKeysGroups?.filter((setupKey) => {
117123
return setupKey.includes(group.id as string);
@@ -137,7 +143,8 @@ export default function useGroupsUsage() {
137143
groups,
138144
policiesGroups,
139145
nameserversGroups,
140-
routesGroups,
146+
routes,
147+
isRoutesLoading,
141148
setupKeysGroups,
142149
usersGroups,
143150
]);

0 commit comments

Comments
 (0)