import { useQuery, UseQueryOptions } from '@tanstack/react-query' import type { ResponseError } from '~/types/fetch' import { get } from './fetchWrappers' const projectKeys = { list: () => ['all-projects'] as const, } export async function getProjects(signal?: AbortSignal) { const { data, error } = await get('/platform/projects', { signal }) if (error) throw error return data } export type ProjectsData = Awaited> type ProjectsError = ResponseError export function useProjectsQuery({ enabled = true, ...options }: Omit, 'queryKey'> = {}) { return useQuery({ queryKey: projectKeys.list(), queryFn: ({ signal }) => getProjects(signal), enabled, ...options, }) }