65 lines
1.6 KiB
JavaScript
65 lines
1.6 KiB
JavaScript
import { useMutation, useQuery } from "@tanstack/react-query";
|
|
import { TenantRepository } from "../repositories/TenantRepository";
|
|
import { MarketRepository } from "../repositories/MarketRepository";
|
|
import showToast from "../services/toastService";
|
|
|
|
export const useTenants = (
|
|
pageSize,
|
|
pageNumber,
|
|
filter,
|
|
searchString = ""
|
|
) => {
|
|
return useQuery({
|
|
queryKey: ["Tenants", pageNumber, pageSize],
|
|
queryFn: async () => {
|
|
const response = await TenantRepository.getTenanatList(
|
|
pageSize,
|
|
pageNumber,
|
|
);
|
|
return response.data;
|
|
},
|
|
keepPreviousData: true,
|
|
staleTime: 5 * 60 * 1000,
|
|
});
|
|
};
|
|
|
|
|
|
export const useIndustries=()=>{
|
|
return useQuery({
|
|
queryKey:['Industries'],
|
|
queryFn: async()=>{
|
|
const res = await MarketRepository.getIndustries();
|
|
return res.data;
|
|
}
|
|
})
|
|
}
|
|
|
|
export const useSubscriptionPlan=(freq)=>{
|
|
return useQuery({
|
|
queryKey:['SubscriptionPlan',freq],
|
|
queryFn:async()=>{
|
|
const res = await TenantRepository.getSubscriptionPlan(freq);
|
|
return res.data;
|
|
}
|
|
})
|
|
}
|
|
|
|
// ------------Mutation---------------------
|
|
|
|
export const usecreateTenant = (onSuccessCallback)=>{
|
|
return useMutation({
|
|
mutationFn:async(tenantPayload)=>{
|
|
const res = await TenantRepository.createTenant(tenantPayload);
|
|
return res.data;
|
|
},
|
|
onSuccess:(data,variables)=>{
|
|
showToast("Tenant Created SuccessFully","success")
|
|
|
|
if(onSuccessCallback) onSuccessCallback()
|
|
},
|
|
onError:(error)=>{
|
|
showToast(error.response.message || error.message || `Something went wrong`,"error")
|
|
}
|
|
|
|
})
|
|
} |