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

View File

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