Files
bigcapital/packages/webapp/src/hooks/query/transactionsLocking.tsx
2024-02-21 17:17:34 +02:00

115 lines
2.8 KiB
TypeScript

// @ts-nocheck
import { useQueryClient, useMutation } from 'react-query';
import { useRequestQuery } from '../useQueryRequest';
import useApiRequest from '../useRequest';
import t from './types';
// Common invalidate queries.
const commonInvalidateQueries = (queryClient) => {
// Invalidate.
queryClient.invalidateQueries(t.TRANSACTION_LOCKING);
queryClient.invalidateQueries(t.TRANSACTIONS_LOCKING);
};
/**
* Create a locking transactions.
*/
export function useCreateLockingTransactoin(props) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useMutation(
(values) => apiRequest.put('transactions-locking/lock', values),
{
onSuccess: (res, values) => {
// Common invalidate queries.
commonInvalidateQueries(queryClient);
},
...props,
},
);
}
/**
* Create cancle locking transactions
*/
export function useCancelLockingTransaction(props) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useMutation(
(values) => apiRequest.put('transactions-locking/cancel-lock', values),
{
onSuccess: (res, values) => {
// Common invalidate queries.
commonInvalidateQueries(queryClient);
},
...props,
},
);
}
/**
* Create a unlocking partial transactions.
*/
export function useCreateUnlockingPartialTransactions(props) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useMutation(
(values) => apiRequest.put('transactions-locking/unlock-partial', values),
{
onSuccess: (res, values) => {
// Common invalidate queries.
commonInvalidateQueries(queryClient);
},
...props,
},
);
}
/**
* Create cancle unlocking partial transactions.
*/
export function useCancelUnlockingPartialTransactions(props) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useMutation(
(values) =>
apiRequest.put('transactions-locking/cancel-unlock-partial', values),
{
onSuccess: (res, values) => {
// Common invalidate queries.
commonInvalidateQueries(queryClient);
},
...props,
},
);
}
/**
* Retrive the transactions locking.
*/
export function useTransactionsLocking(query, props) {
return useRequestQuery(
[t.TRANSACTIONS_LOCKING, query],
{ method: 'get', url: 'transactions-locking', params: query },
{
select: (res) => res.data.data,
defaultData: [],
...props,
},
);
}
export function useEditTransactionsLocking(query, props) {
return useRequestQuery(
[t.TRANSACTION_LOCKING, query],
{ method: 'get', url: `transactions-locking/${query}` },
{
select: (res) => res.data.data,
defaultData: [],
...props,
},
);
}