mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-17 21:30:31 +00:00
Merge branch 'develop' into billing-subscription-page
This commit is contained in:
@@ -61,6 +61,76 @@ export function useCreateBankRule(
|
||||
);
|
||||
}
|
||||
|
||||
interface DisconnectBankAccountRes {}
|
||||
interface DisconnectBankAccountValues {
|
||||
bankAccountId: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Disconnects the given bank account.
|
||||
* @param {UseMutationOptions<DisconnectBankAccountRes, Error, DisconnectBankAccountValues>} options
|
||||
* @returns {UseMutationResult<DisconnectBankAccountRes, Error, DisconnectBankAccountValues>}
|
||||
*/
|
||||
export function useDisconnectBankAccount(
|
||||
options?: UseMutationOptions<
|
||||
DisconnectBankAccountRes,
|
||||
Error,
|
||||
DisconnectBankAccountValues
|
||||
>,
|
||||
): UseMutationResult<
|
||||
DisconnectBankAccountRes,
|
||||
Error,
|
||||
DisconnectBankAccountValues
|
||||
> {
|
||||
const queryClient = useQueryClient();
|
||||
const apiRequest = useApiRequest();
|
||||
|
||||
return useMutation<
|
||||
DisconnectBankAccountRes,
|
||||
Error,
|
||||
DisconnectBankAccountValues
|
||||
>(
|
||||
({ bankAccountId }) =>
|
||||
apiRequest.post(`/banking/bank_accounts/${bankAccountId}/disconnect`),
|
||||
{
|
||||
...options,
|
||||
onSuccess: (res, values) => {
|
||||
queryClient.invalidateQueries([t.ACCOUNT, values.bankAccountId]);
|
||||
},
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
interface UpdateBankAccountRes {}
|
||||
interface UpdateBankAccountValues {
|
||||
bankAccountId: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the bank transactions of the bank account.
|
||||
* @param {UseMutationOptions<UpdateBankAccountRes, Error, UpdateBankAccountValues>}
|
||||
* @returns {UseMutationResult<UpdateBankAccountRes, Error, UpdateBankAccountValues>}
|
||||
*/
|
||||
export function useUpdateBankAccount(
|
||||
options?: UseMutationOptions<
|
||||
UpdateBankAccountRes,
|
||||
Error,
|
||||
UpdateBankAccountValues
|
||||
>,
|
||||
): UseMutationResult<UpdateBankAccountRes, Error, UpdateBankAccountValues> {
|
||||
const queryClient = useQueryClient();
|
||||
const apiRequest = useApiRequest();
|
||||
|
||||
return useMutation<DisconnectBankAccountRes, Error, UpdateBankAccountValues>(
|
||||
({ bankAccountId }) =>
|
||||
apiRequest.post(`/banking/bank_accounts/${bankAccountId}/update`),
|
||||
{
|
||||
...options,
|
||||
onSuccess: () => {},
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
interface EditBankRuleValues {
|
||||
id: number;
|
||||
value: any;
|
||||
@@ -195,6 +265,20 @@ export function useGetBankTransactionsMatches(
|
||||
);
|
||||
}
|
||||
|
||||
const onValidateExcludeUncategorizedTransaction = (queryClient) => {
|
||||
// Invalidate queries.
|
||||
queryClient.invalidateQueries(QUERY_KEY.EXCLUDED_BANK_TRANSACTIONS_INFINITY);
|
||||
queryClient.invalidateQueries(
|
||||
t.CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY,
|
||||
);
|
||||
// Invalidate accounts.
|
||||
queryClient.invalidateQueries(t.ACCOUNTS);
|
||||
queryClient.invalidateQueries(t.ACCOUNT);
|
||||
|
||||
// invalidate bank account summary.
|
||||
queryClient.invalidateQueries(QUERY_KEY.BANK_ACCOUNT_SUMMARY_META);
|
||||
};
|
||||
|
||||
type ExcludeUncategorizedTransactionValue = number;
|
||||
|
||||
interface ExcludeUncategorizedTransactionRes {}
|
||||
@@ -228,19 +312,7 @@ export function useExcludeUncategorizedTransaction(
|
||||
),
|
||||
{
|
||||
onSuccess: (res, id) => {
|
||||
// Invalidate queries.
|
||||
queryClient.invalidateQueries(
|
||||
QUERY_KEY.EXCLUDED_BANK_TRANSACTIONS_INFINITY,
|
||||
);
|
||||
queryClient.invalidateQueries(
|
||||
t.CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY,
|
||||
);
|
||||
// Invalidate accounts.
|
||||
queryClient.invalidateQueries(t.ACCOUNTS);
|
||||
queryClient.invalidateQueries(t.ACCOUNT);
|
||||
|
||||
// invalidate bank account summary.
|
||||
queryClient.invalidateQueries(QUERY_KEY.BANK_ACCOUNT_SUMMARY_META);
|
||||
onValidateExcludeUncategorizedTransaction(queryClient);
|
||||
},
|
||||
...options,
|
||||
},
|
||||
@@ -281,19 +353,83 @@ export function useUnexcludeUncategorizedTransaction(
|
||||
),
|
||||
{
|
||||
onSuccess: (res, id) => {
|
||||
// Invalidate queries.
|
||||
queryClient.invalidateQueries(
|
||||
QUERY_KEY.EXCLUDED_BANK_TRANSACTIONS_INFINITY,
|
||||
);
|
||||
queryClient.invalidateQueries(
|
||||
t.CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY,
|
||||
);
|
||||
// Invalidate accounts.
|
||||
queryClient.invalidateQueries(t.ACCOUNTS);
|
||||
queryClient.invalidateQueries(t.ACCOUNT);
|
||||
onValidateExcludeUncategorizedTransaction(queryClient);
|
||||
},
|
||||
...options,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
// Invalidate bank account summary.
|
||||
queryClient.invalidateQueries(QUERY_KEY.BANK_ACCOUNT_SUMMARY_META);
|
||||
type ExcludeBankTransactionsValue = { ids: Array<number | string> };
|
||||
interface ExcludeBankTransactionsResponse {}
|
||||
|
||||
/**
|
||||
* Excludes the uncategorized bank transactions in bulk.
|
||||
* @param {UseMutationResult<ExcludeBankTransactionsResponse, Error, ExcludeBankTransactionValue>} options
|
||||
* @returns {UseMutationResult<ExcludeBankTransactionsResponse, Error, ExcludeBankTransactionValue>}
|
||||
*/
|
||||
export function useExcludeUncategorizedTransactions(
|
||||
options?: UseMutationOptions<
|
||||
ExcludeBankTransactionsResponse,
|
||||
Error,
|
||||
ExcludeBankTransactionsValue
|
||||
>,
|
||||
): UseMutationResult<
|
||||
ExcludeBankTransactionsResponse,
|
||||
Error,
|
||||
ExcludeBankTransactionsValue
|
||||
> {
|
||||
const queryClient = useQueryClient();
|
||||
const apiRequest = useApiRequest();
|
||||
|
||||
return useMutation<
|
||||
ExcludeBankTransactionsResponse,
|
||||
Error,
|
||||
ExcludeBankTransactionsValue
|
||||
>(
|
||||
(value: { ids: Array<number | string> }) =>
|
||||
apiRequest.put(`/cashflow/transactions/exclude`, { ids: value.ids }),
|
||||
{
|
||||
onSuccess: (res, id) => {
|
||||
onValidateExcludeUncategorizedTransaction(queryClient);
|
||||
},
|
||||
...options,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
type UnexcludeBankTransactionsValue = { ids: Array<number | string> };
|
||||
interface UnexcludeBankTransactionsResponse {}
|
||||
|
||||
/**
|
||||
* Excludes the uncategorized bank transactions in bulk.
|
||||
* @param {UseMutationResult<UnexcludeBankTransactionsResponse, Error, ExcludeBankTransactionValue>} options
|
||||
* @returns {UseMutationResult<UnexcludeBankTransactionsResponse, Error, ExcludeBankTransactionValue>}
|
||||
*/
|
||||
export function useUnexcludeUncategorizedTransactions(
|
||||
options?: UseMutationOptions<
|
||||
UnexcludeBankTransactionsResponse,
|
||||
Error,
|
||||
UnexcludeBankTransactionsValue
|
||||
>,
|
||||
): UseMutationResult<
|
||||
UnexcludeBankTransactionsResponse,
|
||||
Error,
|
||||
UnexcludeBankTransactionsValue
|
||||
> {
|
||||
const queryClient = useQueryClient();
|
||||
const apiRequest = useApiRequest();
|
||||
|
||||
return useMutation<
|
||||
UnexcludeBankTransactionsResponse,
|
||||
Error,
|
||||
UnexcludeBankTransactionsValue
|
||||
>(
|
||||
(value: { ids: Array<number | string> }) =>
|
||||
apiRequest.put(`/cashflow/transactions/unexclude`, { ids: value.ids }),
|
||||
{
|
||||
onSuccess: (res, id) => {
|
||||
onValidateExcludeUncategorizedTransaction(queryClient);
|
||||
},
|
||||
...options,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user