feat : bill transaction delete alert.

This commit is contained in:
elforjani3
2021-07-23 22:30:36 +02:00
parent 76c6cb3699
commit d0c2be90bf
7 changed files with 193 additions and 16 deletions

View File

@@ -23,3 +23,4 @@ export * from './exchangeRates';
export * from './contacts';
export * from './subscriptions';
export * from './organization';
export * from './landedCost';

View File

@@ -0,0 +1,86 @@
import { useQueryClient, useMutation } from 'react-query';
import useApiRequest from '../useRequest';
import { useRequestQuery } from '../useQueryRequest';
import t from './types';
const commonInvalidateQueries = (queryClient) => {
// Invalidate bills.
queryClient.invalidateQueries(t.BILLS);
queryClient.invalidateQueries(t.BILL);
// Invalidate landed cost.
queryClient.invalidateQueries(t.LANDED_COST);
queryClient.invalidateQueries(t.LANDED_COST_TRANSACTION);
};
/**
* Creates a new landed cost.
*/
export function useCreateLandedCost(props) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useMutation(
(id) => apiRequest.post(`purchases/landed-cost/bills/${id}/allocate`),
{
onSuccess: (res, id) => {
// Common invalidate queries.
commonInvalidateQueries(queryClient);
},
...props,
},
);
}
/**
* Deletes the given landed cost.
*/
export function useDeleteLandedCost(props) {
const queryClient = useQueryClient();
const apiRequest = useApiRequest();
return useMutation(
(landedCostId) =>
apiRequest.delete(`purchases/landed-cost/${landedCostId}`),
{
onSuccess: (res, id) => {
// Common invalidate queries.
commonInvalidateQueries(queryClient);
},
...props,
},
);
}
/**
* Retrieve the landed cost transactions.
*/
export function useLandedCostTransaction(query, props) {
return useRequestQuery(
[t.LANDED_COST, query],
{
method: 'get',
url: 'purchases/landed-cost/transactions',
params: { transaction_type: query },
},
{
select: (res) => res.data.transactions,
defaultData: [],
...props,
},
);
}
/**
* Retrieve the bill located landed cost transactions.
*/
export function useBillLocatedLandedCost(id, props) {
return useRequestQuery(
[t.LANDED_COST_TRANSACTION, id],
{ method: 'get', url: `purchases/landed-cost/bills/${id}/transactions` },
{
select: (res) => res.data.transactions,
defaultData: {},
...props,
},
);
}

View File

@@ -22,7 +22,7 @@ const FINANCIAL_REPORTS = {
PURCHASES_BY_ITEMS: 'PURCHASES_BY_ITEMS',
INVENTORY_VALUATION: 'INVENTORY_VALUATION',
CASH_FLOW_STATEMENT: 'CASH_FLOW_STATEMENT',
INVENTORY_ITEM_DETAILS:'INVENTORY_ITEM_DETAILS'
INVENTORY_ITEM_DETAILS: 'INVENTORY_ITEM_DETAILS',
};
const BILLS = {
@@ -117,6 +117,13 @@ const MANUAL_JOURNALS = {
MANUAL_JOURNALS: 'MANUAL_JOURNALS',
MANUAL_JOURNAL: 'MANUAL_JOURNAL',
};
const LANDED_COSTS = {
LANDED_COST: 'LANDED_COST',
LANDED_COSTS: 'LANDED_COSTS',
LANDED_COST_TRANSACTION: 'LANDED_COST_TRANSACTION',
};
export default {
...ACCOUNTS,
...BILLS,
@@ -137,4 +144,5 @@ export default {
...SUBSCRIPTIONS,
...EXPENSES,
...MANUAL_JOURNALS,
...LANDED_COSTS,
};