admin/src/pages/wallet/core/_hooks.ts

32 lines
1000 B
TypeScript

import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
import { QUERY_KEYS } from "@/utils/query-key";
import toast from "react-hot-toast";
import { getWalletStatus, updateWalletStatus } from "./_requests";
import { UpdateWalletStatusRequest } from "./_models";
export const useWalletStatus = () => {
return useQuery({
queryKey: [QUERY_KEYS.GET_WALLET_STATUS],
queryFn: getWalletStatus,
});
};
export const useUpdateWalletStatus = () => {
const queryClient = useQueryClient();
return useMutation({
mutationFn: (payload: UpdateWalletStatusRequest) => updateWalletStatus(payload),
onSuccess: () => {
queryClient.invalidateQueries({
queryKey: [QUERY_KEYS.GET_WALLET_STATUS],
});
toast.success("وضعیت کیف پول با موفقیت به‌روزرسانی شد");
},
onError: (error: any) => {
toast.error(error?.message || "خطا در به‌روزرسانی وضعیت کیف پول");
},
});
};