import { toast } from 'react-hot-toast' import { useMutation, UseMutationOptions } from '@tanstack/react-query' import { executeSql, ExecuteSqlData, ExecuteSqlVariables } from './execute-sql-query' export type QueryResponseError = { code: string message: string error: string formattedError: string file: string length: number line: string name: string position: string routine: string severity: string } export const useExecuteSqlMutation = ({ onSuccess, onError, ...options }: Omit< UseMutationOptions, 'mutationFn' > = {}) => { return useMutation( (args) => executeSql(args), { async onSuccess(data, variables, context) { await onSuccess?.(data, variables, context) }, async onError(data, variables, context) { if (onError === undefined) { toast.error(`Failed to execute SQL: ${data.message}`) } else { onError(data, variables, context) } }, ...options, } ) }