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"] }); }