Files
danak-console/src/pages/service/hooks/useServiceData.ts
T
hamid zarghami 7a7638ad9e direct login
2026-01-05 10:47:46 +03:30

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"],
});
};