diff --git a/src/services/keycloak.ts b/src/services/keycloak.ts index 3919b42..3875b18 100644 --- a/src/services/keycloak.ts +++ b/src/services/keycloak.ts @@ -347,7 +347,7 @@ export async function removeUserRoles(userId: string, roles: { id: string; name: } export async function getGroup() { - const res = await fetch(`${KC_URL}/admin/realms/${KC_REALM}/groups`, { + const res = await fetch(`${KC_URL}/admin/realms/${KC_REALM}/groups?q`, { headers: { authorization: `Bearer ${await getToken()}`, "content-type": `application/json`, @@ -356,20 +356,10 @@ export async function getGroup() { }); const dataMainGroup = await res.json(); - const fetchSubGroups = async (group: any) => { - const resSub = await fetch(`${KC_URL}/admin/realms/${KC_REALM}/groups/${group.id}/children`, { - headers: { - authorization: `Bearer ${await getToken()}`, - "content-type": `application/json`, - }, - method: "GET", - }); - - const dataSubGroup = await resSub.json(); let fullSubGroup = await Promise.all( - dataSubGroup.map(async (subGroupsData: any) => { - if (subGroupsData.subGroupCount > 0) { + group.subGroups.map(async (subGroupsData: any) => { + if (group.subGroupCount > 0) { return await fetchSubGroups(subGroupsData); } else { return {