import { useQuery, UseQueryOptions } from '@tanstack/react-query' import { get } from 'data/fetchers' import { ResponseError } from 'types' import { integrationKeys } from './keys' // FIXME(kamil): Do not retry, a single check is fine. export async function getGitHubAuthorization(signal?: AbortSignal) { const { data, error } = await get('/platform/integrations/github/authorization', { signal, }) return error ? null : data } export type GitHubAuthorizationData = Awaited> export type ProjectGitHubRepositoryConnectionsData = Awaited< ReturnType > export type GitHubAuthorizationError = ResponseError export const useGitHubAuthorizationQuery = ({ enabled = true, ...options }: UseQueryOptions = {}) => { return useQuery( integrationKeys.githubAuthorization(), ({ signal }) => getGitHubAuthorization(signal), { enabled, staleTime: 0, ...options } ) }