94 lines
2.4 KiB
TypeScript
94 lines
2.4 KiB
TypeScript
import { useMutation, useQuery } from "@tanstack/react-query";
|
|
import * as api from "../service/ServiceService";
|
|
import { BuyServiceType, CreateReviewType } from "../types/ServiecTypes";
|
|
|
|
export const useGetSuggestedServices = () => {
|
|
return useQuery({
|
|
queryKey: ["suggested-services"],
|
|
queryFn: () => api.getServiceSuggestedDanak(),
|
|
});
|
|
};
|
|
|
|
export const useGetCategoriesPublic = () => {
|
|
return useQuery({
|
|
queryKey: ["categories-public"],
|
|
queryFn: () => api.getCategoriesPublic(),
|
|
});
|
|
};
|
|
|
|
export const useGetServicesByCategory = (categoryId: string) => {
|
|
return useQuery({
|
|
queryKey: ["services-category", categoryId],
|
|
queryFn: () => api.getServicesByCategory(categoryId),
|
|
});
|
|
};
|
|
|
|
export const useGetDetailService = (serviceId: string) => {
|
|
return useQuery({
|
|
queryKey: ["service", serviceId],
|
|
queryFn: () => api.getDetailService(serviceId),
|
|
enabled: !!serviceId,
|
|
});
|
|
};
|
|
|
|
export const useBuyService = () => {
|
|
return useMutation({
|
|
mutationFn: (variables: BuyServiceType) => api.buyService(variables),
|
|
});
|
|
};
|
|
|
|
export const useGetMyServices = (search: string) => {
|
|
return useQuery({
|
|
queryKey: ["myservices", search],
|
|
queryFn: () => api.getMyServices(search),
|
|
});
|
|
};
|
|
|
|
export const useCreateReview = () => {
|
|
return useMutation({
|
|
mutationFn: (variables: CreateReviewType) => api.createReview(variables),
|
|
});
|
|
};
|
|
|
|
export const useGetServiceBySlug = (slug: string) => {
|
|
return useQuery({
|
|
queryKey: ["service-by-slug", slug],
|
|
queryFn: () => api.getServiceBySlug(slug),
|
|
});
|
|
};
|
|
|
|
export const useExtentSubscription = () => {
|
|
return useMutation({
|
|
mutationFn: api.extentSubscription,
|
|
});
|
|
};
|
|
|
|
export const useGetDmenuSubscription = (subscriptionId: string) => {
|
|
return useQuery({
|
|
queryKey: ["dmenu-subscription", subscriptionId],
|
|
queryFn: () => api.getDmenuSubscription(subscriptionId),
|
|
enabled: !!subscriptionId,
|
|
});
|
|
};
|
|
|
|
export const useCreateDmenuRestaurant = () => {
|
|
return useMutation({
|
|
mutationFn: api.createDmenuRestaurant,
|
|
});
|
|
};
|
|
|
|
export const useGetSubscription = (subscriptionId: string) => {
|
|
return useQuery({
|
|
queryKey: ["subscription", subscriptionId],
|
|
queryFn: () => api.getSubscription(subscriptionId),
|
|
enabled: !!subscriptionId,
|
|
});
|
|
};
|
|
|
|
export const useDirectLogin = () => {
|
|
return useMutation({
|
|
mutationFn: api.directLogin,
|
|
mutationKey: ["direct-login"],
|
|
});
|
|
};
|