mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-15 12:20:31 +00:00
re-structure to monorepo.
This commit is contained in:
32
packages/webapp/src/hooks/useQueryRequest.tsx
Normal file
32
packages/webapp/src/hooks/useQueryRequest.tsx
Normal file
@@ -0,0 +1,32 @@
|
||||
// @ts-nocheck
|
||||
import { useQuery } from 'react-query';
|
||||
import { castArray, defaultTo } from 'lodash';
|
||||
import { useAuthOrganizationId } from './state';
|
||||
import useApiRequest from './useRequest';
|
||||
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/${axios.url}` }),
|
||||
props,
|
||||
);
|
||||
// Momerize the default data.
|
||||
const defaultData = useRef(props.defaultData || undefined);
|
||||
|
||||
return {
|
||||
...states,
|
||||
data: defaultTo(states.data, defaultData.current),
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user