37 lines
1.6 KiB
TypeScript
37 lines
1.6 KiB
TypeScript
import { QueryClient } from "@tanstack/react-query";
|
|
|
|
/**
|
|
* Invalide toutes les queries liées aux transactions
|
|
* Utilisé après toute mutation de transaction (création, modification, suppression)
|
|
*/
|
|
export function invalidateAllTransactionQueries(queryClient: QueryClient) {
|
|
// Invalider toutes les queries de transactions (tous les paramètres)
|
|
queryClient.invalidateQueries({ queryKey: ["transactions"] });
|
|
|
|
// Invalider les queries liées qui peuvent être affectées
|
|
queryClient.invalidateQueries({ queryKey: ["banking-metadata"] });
|
|
queryClient.invalidateQueries({ queryKey: ["category-stats"] });
|
|
queryClient.invalidateQueries({ queryKey: ["accounts-with-stats"] });
|
|
queryClient.invalidateQueries({ queryKey: ["duplicate-ids"] });
|
|
}
|
|
|
|
/**
|
|
* Invalide toutes les queries liées aux catégories
|
|
* Utilisé après toute mutation de catégorie (création, modification, suppression)
|
|
*/
|
|
export function invalidateAllCategoryQueries(queryClient: QueryClient) {
|
|
queryClient.invalidateQueries({ queryKey: ["banking-metadata"] });
|
|
queryClient.invalidateQueries({ queryKey: ["category-stats"] });
|
|
queryClient.invalidateQueries({ queryKey: ["transactions"] });
|
|
}
|
|
|
|
/**
|
|
* Invalide toutes les queries liées aux comptes
|
|
* Utilisé après toute mutation de compte ou dossier (création, modification, suppression)
|
|
*/
|
|
export function invalidateAllAccountQueries(queryClient: QueryClient) {
|
|
queryClient.invalidateQueries({ queryKey: ["banking-metadata"] });
|
|
queryClient.invalidateQueries({ queryKey: ["accounts-with-stats"] });
|
|
queryClient.invalidateQueries({ queryKey: ["transactions"] });
|
|
}
|