From e1efcae8f390745435fdcc931c89895c6dd86c6b Mon Sep 17 00:00:00 2001 From: Mihaly Gyongyosi Date: Wed, 7 Jan 2026 15:32:24 +0100 Subject: [PATCH] Revert "Use the search endpoint for listing" This reverts commit 65cee8e6b4d5f464dd4aa23c15f7a953b8ecb58f. --- .../apis/iam.grafana.app/v0alpha1/handlers.ts | 18 ------------- public/app/features/teams/hooks.ts | 26 +++++++++++-------- 2 files changed, 15 insertions(+), 29 deletions(-) diff --git a/packages/grafana-test-utils/src/handlers/apis/iam.grafana.app/v0alpha1/handlers.ts b/packages/grafana-test-utils/src/handlers/apis/iam.grafana.app/v0alpha1/handlers.ts index 27a0be8cc61..e31819f5365 100644 --- a/packages/grafana-test-utils/src/handlers/apis/iam.grafana.app/v0alpha1/handlers.ts +++ b/packages/grafana-test-utils/src/handlers/apis/iam.grafana.app/v0alpha1/handlers.ts @@ -95,27 +95,9 @@ const deleteExternalGroupMapping = () => } ); -const getExternalGroupMappingsHandler = () => - http.get<{ namespace: string; teamId: string }>( - '/apis/iam.grafana.app/v0alpha1/namespaces/:namespace/teams/:teamId/groups', - ({ params }) => { - const teamData = mockTeamsMap.get(params.teamId); - - return HttpResponse.json({ - items: teamData - ? teamData.groups.map((group) => ({ - externalGroup: group.groupId, - name: `mapping-${params.teamId}-${group.groupId}`, - })) - : [], - }); - } - ); - export default [ getDisplayMapping(), listExternalGroupMappings(), createExternalGroupMapping(), deleteExternalGroupMapping(), - getExternalGroupMappingsHandler(), ]; diff --git a/public/app/features/teams/hooks.ts b/public/app/features/teams/hooks.ts index ba123f6af14..37b0c4efa0b 100644 --- a/public/app/features/teams/hooks.ts +++ b/public/app/features/teams/hooks.ts @@ -4,7 +4,7 @@ import { useEffect, useMemo } from 'react'; import { useCreateExternalGroupMappingMutation, - useGetTeamGroupsQuery, + useListExternalGroupMappingQuery, useDeleteExternalGroupMappingMutation, } from '@grafana/api-clients/rtkq/iam/v0alpha1'; import { @@ -171,18 +171,20 @@ export const useGetExternalGroupMappings = (args: { teamId: string }) => { return useGetTeamGroupsApiQuery(args); } - const { data: newApiData, ...newApiRest } = useGetTeamGroupsQuery({ name: args.teamId }); + const { data: newApiData, ...newApiRest } = useListExternalGroupMappingQuery({}); const groups: TeamGroupDto[] = useMemo(() => { - return (newApiData?.items || []).map( - (item) => - // eslint-disable-next-line - ({ - groupId: item.externalGroup, - teamId: args.teamId, - uid: item.name, - }) as unknown as TeamGroupDto - ); + return (newApiData?.items || []) + .filter((item) => item.spec.teamRef.name === args.teamId) + .map( + (item) => + // eslint-disable-next-line + ({ + groupId: item.spec.externalGroupId, + teamId: item.spec.teamRef.name, + uid: item.metadata.name, + }) as unknown as TeamGroupDto + ); }, [newApiData, args.teamId]); return { @@ -201,6 +203,8 @@ export const useAddExternalGroupMapping = () => { const add = async (args: { teamId: string; teamGroupMapping: { groupId: string } }) => { return addNew({ externalGroupMapping: { + apiVersion: 'iam.grafana.app/v0alpha1', + kind: 'ExternalGroupMapping', metadata: { generateName: 'external-group-mapping-', },