import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query"; import { backupsApi } from "@/lib/api"; export function useBackupManager() { const queryClient = useQueryClient(); const { data: backups = [], isLoading, refetch, } = useQuery({ queryKey: ["db-backups"], queryFn: () => backupsApi.listDbBackups(), }); const restoreMutation = useMutation({ mutationFn: (filename: string) => backupsApi.restoreDbBackup(filename), onSuccess: async () => { // Invalidate all queries to refresh data from restored database await queryClient.invalidateQueries(); // Refetch backup list await refetch(); }, }); return { backups, isLoading, restore: restoreMutation.mutateAsync, isRestoring: restoreMutation.isPending, }; }