import { useQuery, queryOptions } from '@tanstack/react-query' import { apiClient, type DictionaryDefinition, type FlattenedRecord } from './client' export const dictionariesQuery = queryOptions({ queryKey: ['dictionaries'], queryFn: async (): Promise => { const { data } = await apiClient.get('/dictionaries') return data }, }) export const recordsQuery = (dictionaryName: string, scopeCsv: string) => queryOptions({ queryKey: ['records', dictionaryName, scopeCsv], queryFn: async (): Promise => { const { data } = await apiClient.get( `/${dictionaryName}/records`, { params: { as_scope: scopeCsv } }, ) return data }, }) export const useDictionaries = () => useQuery(dictionariesQuery) export const useRecords = (dictionaryName: string, scopeCsv: string) => useQuery(recordsQuery(dictionaryName, scopeCsv))