mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-14 20:00:33 +00:00
38 lines
940 B
TypeScript
38 lines
940 B
TypeScript
// @ts-nocheck
|
|
import { useQuery } from 'react-query';
|
|
import { castArray, defaultTo } from 'lodash';
|
|
import { useAuthOrganizationId } from './state';
|
|
import useApiRequest from './useRequest';
|
|
import { normalizeApiPath } from '../utils';
|
|
import { useRef } from 'react';
|
|
|
|
/**
|
|
* Query for tenant requests.
|
|
*/
|
|
export function useQueryTenant(query, callback, props) {
|
|
const organizationId = useAuthOrganizationId();
|
|
|
|
return useQuery([...castArray(query), organizationId], callback, props);
|
|
}
|
|
|
|
export function useRequestQuery(query, axios, props) {
|
|
const apiRequest = useApiRequest();
|
|
|
|
const states = useQuery(
|
|
query,
|
|
() =>
|
|
apiRequest.http({
|
|
...axios,
|
|
url: `/api/${normalizeApiPath(axios.url)}`,
|
|
}),
|
|
props,
|
|
);
|
|
// Momerize the default data.
|
|
const defaultData = useRef(props.defaultData || undefined);
|
|
|
|
return {
|
|
...states,
|
|
data: defaultTo(states.data, defaultData.current),
|
|
};
|
|
}
|