32 lines
1000 B
TypeScript
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 || "خطا در بهروزرسانی وضعیت کیف پول");
|
|
},
|
|
});
|
|
};
|
|
|
|
|