fix: group query key constants in seperate file

This commit is contained in:
Ahmed Bouhuolia
2024-08-05 21:36:34 +02:00
parent c7a85c4cf8
commit a09fe26df7
3 changed files with 35 additions and 30 deletions

View File

@@ -0,0 +1,10 @@
export const BANK_QUERY_KEY = {
BANK_RULES: 'BANK_RULE',
BANK_TRANSACTION_MATCHES: 'BANK_TRANSACTION_MATCHES',
RECOGNIZED_BANK_TRANSACTION: 'RECOGNIZED_BANK_TRANSACTION',
EXCLUDED_BANK_TRANSACTIONS_INFINITY: 'EXCLUDED_BANK_TRANSACTIONS_INFINITY',
RECOGNIZED_BANK_TRANSACTIONS_INFINITY:
'RECOGNIZED_BANK_TRANSACTIONS_INFINITY',
BANK_ACCOUNT_SUMMARY_META: 'BANK_ACCOUNT_SUMMARY_META',
AUTOFILL_CATEGORIZE_BANK_TRANSACTION: 'AUTOFILL_CATEGORIZE_BANK_TRANSACTION',
};

View File

@@ -13,21 +13,12 @@ import {
import useApiRequest from '../useRequest';
import { transformToCamelCase } from '@/utils';
import t from './types';
import { BANK_QUERY_KEY } from '@/constants/query-keys/banking';
const QUERY_KEY = {
BANK_RULES: 'BANK_RULE',
BANK_TRANSACTION_MATCHES: 'BANK_TRANSACTION_MATCHES',
RECOGNIZED_BANK_TRANSACTION: 'RECOGNIZED_BANK_TRANSACTION',
EXCLUDED_BANK_TRANSACTIONS_INFINITY: 'EXCLUDED_BANK_TRANSACTIONS_INFINITY',
RECOGNIZED_BANK_TRANSACTIONS_INFINITY:
'RECOGNIZED_BANK_TRANSACTIONS_INFINITY',
BANK_ACCOUNT_SUMMARY_META: 'BANK_ACCOUNT_SUMMARY_META',
AUTOFILL_CATEGORIZE_BANK_TRANSACTION: 'AUTOFILL_CATEGORIZE_BANK_TRANSACTION',
};
// Common cache invalidator.
const commonInvalidateQueries = (query: QueryClient) => {
query.invalidateQueries(QUERY_KEY.BANK_RULES);
query.invalidateQueries(QUERY_KEY.RECOGNIZED_BANK_TRANSACTIONS_INFINITY);
query.invalidateQueries(BANK_QUERY_KEY.BANK_RULES);
query.invalidateQueries(BANK_QUERY_KEY.RECOGNIZED_BANK_TRANSACTIONS_INFINITY);
};
interface CreateBankRuleValues {
@@ -185,7 +176,7 @@ export function useDeleteBankRule(
commonInvalidateQueries(queryClient);
queryClient.invalidateQueries(
QUERY_KEY.RECOGNIZED_BANK_TRANSACTIONS_INFINITY,
BANK_QUERY_KEY.RECOGNIZED_BANK_TRANSACTIONS_INFINITY,
);
queryClient.invalidateQueries([
t.CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY,
@@ -209,7 +200,7 @@ export function useBankRules(
const apiRequest = useApiRequest();
return useQuery<BankRulesResponse, Error>(
[QUERY_KEY.BANK_RULES],
[BANK_QUERY_KEY.BANK_RULES],
() => apiRequest.get('/banking/rules').then((res) => res.data.bank_rules),
{ ...options },
);
@@ -230,7 +221,7 @@ export function useBankRule(
const apiRequest = useApiRequest();
return useQuery<GetBankRuleRes, Error>(
[QUERY_KEY.BANK_RULES, bankRuleId],
[BANK_QUERY_KEY.BANK_RULES, bankRuleId],
() =>
apiRequest
.get(`/banking/rules/${bankRuleId}`)
@@ -260,7 +251,7 @@ export function useGetBankTransactionsMatches(
const apiRequest = useApiRequest();
return useQuery<GetBankTransactionsMatchesResponse, Error>(
[QUERY_KEY.BANK_TRANSACTION_MATCHES, uncategorizeTransactionsIds],
[BANK_QUERY_KEY.BANK_TRANSACTION_MATCHES, uncategorizeTransactionsIds],
() =>
apiRequest
.get(`/cashflow/transactions/matches`, {
@@ -273,7 +264,9 @@ export function useGetBankTransactionsMatches(
const onValidateExcludeUncategorizedTransaction = (queryClient) => {
// Invalidate queries.
queryClient.invalidateQueries(QUERY_KEY.EXCLUDED_BANK_TRANSACTIONS_INFINITY);
queryClient.invalidateQueries(
BANK_QUERY_KEY.EXCLUDED_BANK_TRANSACTIONS_INFINITY,
);
queryClient.invalidateQueries(
t.CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY,
);
@@ -282,7 +275,7 @@ const onValidateExcludeUncategorizedTransaction = (queryClient) => {
queryClient.invalidateQueries(t.ACCOUNT);
// invalidate bank account summary.
queryClient.invalidateQueries(QUERY_KEY.BANK_ACCOUNT_SUMMARY_META);
queryClient.invalidateQueries(BANK_QUERY_KEY.BANK_ACCOUNT_SUMMARY_META);
};
type ExcludeUncategorizedTransactionValue = number;
@@ -320,7 +313,7 @@ export function useExcludeUncategorizedTransaction(
onSuccess: (res, id) => {
onValidateExcludeUncategorizedTransaction(queryClient);
queryClient.invalidateQueries([
QUERY_KEY.BANK_ACCOUNT_SUMMARY_META,
BANK_QUERY_KEY.BANK_ACCOUNT_SUMMARY_META,
id,
]);
},
@@ -365,7 +358,7 @@ export function useUnexcludeUncategorizedTransaction(
onSuccess: (res, id) => {
onValidateExcludeUncategorizedTransaction(queryClient);
queryClient.invalidateQueries([
QUERY_KEY.BANK_ACCOUNT_SUMMARY_META,
BANK_QUERY_KEY.BANK_ACCOUNT_SUMMARY_META,
id,
]);
},
@@ -491,7 +484,7 @@ export function useMatchUncategorizedTransaction(
queryClient.invalidateQueries(t.ACCOUNT);
// Invalidate bank account summary.
queryClient.invalidateQueries(QUERY_KEY.BANK_ACCOUNT_SUMMARY_META);
queryClient.invalidateQueries(BANK_QUERY_KEY.BANK_ACCOUNT_SUMMARY_META);
},
...props,
});
@@ -537,7 +530,7 @@ export function useUnmatchMatchedUncategorizedTransaction(
queryClient.invalidateQueries(t.ACCOUNT);
// Invalidate bank account summary.
queryClient.invalidateQueries(QUERY_KEY.BANK_ACCOUNT_SUMMARY_META);
queryClient.invalidateQueries(BANK_QUERY_KEY.BANK_ACCOUNT_SUMMARY_META);
},
...props,
});
@@ -558,7 +551,7 @@ export function useGetRecognizedBankTransaction(
const apiRequest = useApiRequest();
return useQuery<GetRecognizedBankTransactionRes, Error>(
[QUERY_KEY.RECOGNIZED_BANK_TRANSACTION, uncategorizedTransactionId],
[BANK_QUERY_KEY.RECOGNIZED_BANK_TRANSACTION, uncategorizedTransactionId],
() =>
apiRequest
.get(`/banking/recognized/transactions/${uncategorizedTransactionId}`)
@@ -586,7 +579,7 @@ export function useGetBankAccountSummaryMeta(
const apiRequest = useApiRequest();
return useQuery<GetBankAccountSummaryMetaRes, Error>(
[QUERY_KEY.BANK_ACCOUNT_SUMMARY_META, bankAccountId],
[BANK_QUERY_KEY.BANK_ACCOUNT_SUMMARY_META, bankAccountId],
() =>
apiRequest
.get(`/banking/bank_accounts/${bankAccountId}/meta`)
@@ -618,7 +611,7 @@ export function useGetAutofillCategorizeTransaction(
return useQuery<GetAutofillCategorizeTransaction, Error>(
[
QUERY_KEY.AUTOFILL_CATEGORIZE_BANK_TRANSACTION,
BANK_QUERY_KEY.AUTOFILL_CATEGORIZE_BANK_TRANSACTION,
uncategorizedTransactionIds,
],
() =>
@@ -642,7 +635,7 @@ export function useRecognizedBankTransactionsInfinity(
const apiRequest = useApiRequest();
return useInfiniteQuery(
[QUERY_KEY.RECOGNIZED_BANK_TRANSACTIONS_INFINITY, query],
[BANK_QUERY_KEY.RECOGNIZED_BANK_TRANSACTIONS_INFINITY, query],
async ({ pageParam = 1 }) => {
const response = await apiRequest.http({
...axios,
@@ -674,7 +667,7 @@ export function useExcludedBankTransactionsInfinity(
const apiRequest = useApiRequest();
return useInfiniteQuery(
[QUERY_KEY.EXCLUDED_BANK_TRANSACTIONS_INFINITY, query],
[BANK_QUERY_KEY.EXCLUDED_BANK_TRANSACTIONS_INFINITY, query],
async ({ pageParam = 1 }) => {
const response = await apiRequest.http({
...axios,

View File

@@ -9,6 +9,7 @@ import useApiRequest from '../useRequest';
import { transformToCamelCase } from '@/utils';
import { downloadFile, useDownloadFile } from '../useDownloadFile';
import T from './types';
import { BANK_QUERY_KEY } from '@/constants/query-keys/banking';
const QueryKeys = {
ImportPreview: 'ImportPreview',
@@ -127,8 +128,8 @@ export const useSampleSheetImport = () => {
/**
* Invalidates resources cached queries based on the given resource name,
* @param queryClient
* @param resource
* @param queryClient
* @param resource
*/
const invalidateResourcesOnImport = (
queryClient: QueryClient,
@@ -215,6 +216,7 @@ const invalidateResourcesOnImport = (
T.CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY,
);
queryClient.invalidateQueries(T.CASHFLOW_UNCAATEGORIZED_TRANSACTION);
queryClient.invalidateQueries(BANK_QUERY_KEY.BANK_ACCOUNT_SUMMARY_META);
break;
}
};