Path: blob/main/components/dashboard/src/data/auth-providers/auth-provider-descriptions-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 { useCurrentUser } from "../../user-context";9import {10AuthProviderDescription,11ListAuthProviderDescriptionsRequest,12} from "@gitpod/public-api/lib/gitpod/v1/authprovider_pb";1314export const useAuthProviderDescriptions = () => {15const user = useCurrentUser();16const query = useQuery<AuthProviderDescription[]>({17queryKey: getAuthProviderDescriptionsQueryKey(user?.id),18queryFn: async () => {19const params = new ListAuthProviderDescriptionsRequest();20if (user) {21params.id = {22case: "userId",23value: user.id,24};25}26const response = await authProviderClient.listAuthProviderDescriptions(params);27return response.descriptions;28},29});30return query;31};3233export const getAuthProviderDescriptionsQueryKey = (userId?: string) => ["auth-provider-descriptions", { userId }];343536