import axios from "@/network/axios"
import { useMutation, useQueryClient } from "@tanstack/react-query"

export type EditBalancePayload = {
  user_id: number;
  type_balance: number;
  new_balance: number;
  notes: string;
  end_date?: string;
};

const editBalance = async (data: EditBalancePayload) => {
  const res = await axios.post("/dashboard/balance/adjust", data);
  return res.data;
};

const useEditBalance = () => {
  const queryClient = useQueryClient();
  return useMutation({
    mutationFn: (data: EditBalancePayload) => editBalance(data),
    onSuccess: () => {
      queryClient.invalidateQueries({ queryKey: ["users"] });
      queryClient.invalidateQueries({ queryKey: ["balance-summaries"] });
      queryClient.invalidateQueries({ queryKey: ["balance-summary"] });
    },
  });
};

export default useEditBalance;