27
common/resources/client/users/queries/use-normalized-model.ts
Executable file
27
common/resources/client/users/queries/use-normalized-model.ts
Executable file
@@ -0,0 +1,27 @@
|
||||
import {useQuery} from '@tanstack/react-query';
|
||||
import {NormalizedModel} from '../../datatable/filters/normalized-model';
|
||||
import {apiClient} from '../../http/query-client';
|
||||
import {BackendResponse} from '../../http/backend-response/backend-response';
|
||||
|
||||
interface Response extends BackendResponse {
|
||||
model: NormalizedModel;
|
||||
}
|
||||
|
||||
export function useNormalizedModel(
|
||||
endpoint: string,
|
||||
queryParams?: Record<string, string>,
|
||||
queryOptions?: {enabled?: boolean},
|
||||
) {
|
||||
return useQuery({
|
||||
queryKey: [endpoint, queryParams],
|
||||
queryFn: () => fetchModel(endpoint, queryParams),
|
||||
...queryOptions,
|
||||
});
|
||||
}
|
||||
|
||||
async function fetchModel(
|
||||
endpoint: string,
|
||||
params?: Record<string, string>,
|
||||
): Promise<Response> {
|
||||
return apiClient.get(endpoint, {params}).then(r => r.data);
|
||||
}
|
||||
Reference in New Issue
Block a user