From a09fe26df7c6ca2b3d2a02caa71d95dfca6d8914 Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Mon, 5 Aug 2024 21:36:34 +0200 Subject: [PATCH] fix: group query key constants in seperate file --- .../src/constants/query-keys/banking.ts | 10 ++++ packages/webapp/src/hooks/query/bank-rules.ts | 49 ++++++++----------- packages/webapp/src/hooks/query/import.ts | 6 ++- 3 files changed, 35 insertions(+), 30 deletions(-) create mode 100644 packages/webapp/src/constants/query-keys/banking.ts diff --git a/packages/webapp/src/constants/query-keys/banking.ts b/packages/webapp/src/constants/query-keys/banking.ts new file mode 100644 index 000000000..7164470e2 --- /dev/null +++ b/packages/webapp/src/constants/query-keys/banking.ts @@ -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', +}; diff --git a/packages/webapp/src/hooks/query/bank-rules.ts b/packages/webapp/src/hooks/query/bank-rules.ts index 92103bd2f..512f6e423 100644 --- a/packages/webapp/src/hooks/query/bank-rules.ts +++ b/packages/webapp/src/hooks/query/bank-rules.ts @@ -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( - [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( - [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( - [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( - [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( - [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( [ - 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, diff --git a/packages/webapp/src/hooks/query/import.ts b/packages/webapp/src/hooks/query/import.ts index 2c50d6851..62135b86c 100644 --- a/packages/webapp/src/hooks/query/import.ts +++ b/packages/webapp/src/hooks/query/import.ts @@ -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; } };