import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
import { QUERY_KEYS } from "@/utils/query-key";
import toast from "react-hot-toast";
import { getIPGStatus, updateIPGStatus } from "./_requests";
import { UpdateIPGStatusRequest } from "./_models";

export const useIPGStatus = () => {
  return useQuery({
    queryKey: [QUERY_KEYS.GET_IPG_STATUS],
    queryFn: getIPGStatus,
  });
};

export const useUpdateIPGStatus = () => {
  const queryClient = useQueryClient();

  return useMutation({
    mutationFn: (payload: UpdateIPGStatusRequest) => updateIPGStatus(payload),
    onSuccess: () => {
      queryClient.invalidateQueries({
        queryKey: [QUERY_KEYS.GET_IPG_STATUS],
      });
      toast.success("وضعیت درگاه پرداخت با موفقیت به‌روزرسانی شد");
    },
    onError: (error: any) => {
      const errorMessage =
        error?.response?.data?.error === "validation failed"
          ? "مقدار وارد شده معتبر نیست"
          : error?.message || "خطا در به‌روزرسانی وضعیت درگاه پرداخت";
      toast.error(errorMessage);
    },
  });
};







