import { useQueryClient, useMutation, MutationOptions, DefaultError, } from "@tanstack/react-query" import { useAuthApiClient } from "./useAuthApiClient" import { QUERY_KEYS } from "./constants" import type { UpdateMezoIdResponse } from "../api" export function useUpdateMezoId( mutationOptions: Omit< MutationOptions, "mutationFn" | "mutationKey" > = {}, ) { const queryClient = useQueryClient() const authApiClient = useAuthApiClient() const { onSuccess: customOnSuccess, ...restMutationOptions } = mutationOptions const { mutate, mutateAsync, ...rest } = useMutation({ mutationFn: (newMezoId: string) => authApiClient.updateMezoId(newMezoId), onSuccess: (data, variables, context) => { queryClient.resetQueries({ queryKey: [QUERY_KEYS.ACCOUNT] }) if (customOnSuccess) customOnSuccess(data, variables, context) }, ...restMutationOptions, }) return { updateMezoId: mutate, updateMezoIdAsync: mutateAsync, ...rest } }