Path: blob/main/components/dashboard/src/data/auth-providers/user-auth-providers-query.ts
2501 views
/**1* Copyright (c) 2023 Gitpod GmbH. All rights reserved.2* Licensed under the GNU Affero General Public License (AGPL).3* See License.AGPL.txt in the project root for license information.4*/56import { useQuery } from "@tanstack/react-query";7import { authProviderClient } from "../../service/public-api";8import { AuthProvider, ListAuthProvidersRequest } from "@gitpod/public-api/lib/gitpod/v1/authprovider_pb";9import { useCurrentUser } from "../../user-context";1011export type OrgAuthProvidersQueryResult = AuthProvider[];12export const useOrgAuthProvidersQuery = () => {13const user = useCurrentUser();1415return useQuery<OrgAuthProvidersQueryResult>({16queryKey: getUserAuthProvidersQueryKey(user?.id ?? ""),17queryFn: async () => {18if (!user) {19throw new Error("No user");20}2122const response = await authProviderClient.listAuthProviders(23new ListAuthProvidersRequest({24id: {25case: "userId",26value: user.id,27},28}),29);3031return response.authProviders;32},33enabled: !!user,34});35};3637export const getUserAuthProvidersQueryKey = (userId: string) => ["user-auth-providers", { userId }];383940