Files
negareh-admin/src/pages/print/hooks/usePrintData.ts
T
hamid zarghami f2fbd8552a Create print
2026-02-22 12:38:19 +03:30

80 lines
1.9 KiB
TypeScript

import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
import * as api from "../service/PrintService";
import type { CreatePrintFormType, CreateSectionType } from "../types/Types";
export const useGetSections = () => {
return useQuery({
queryKey: ["sections"],
queryFn: api.getSections,
});
};
export const useGetSectionsDetail = (id: string) => {
return useQuery({
queryKey: ["section", id],
queryFn: () => api.getSectionDetail(id),
});
};
export const useCreateSection = () => {
const queryClient = useQueryClient();
return useMutation({
mutationFn: api.createSection,
onSuccess: () => {
queryClient.refetchQueries({
queryKey: ["sections"],
});
},
});
};
export const useUpdateSection = () => {
const queryClient = useQueryClient();
return useMutation({
mutationFn: ({ id, params }: { id: string; params: CreateSectionType }) =>
api.updateSection(id, params),
onSuccess: (_, params) => {
queryClient.refetchQueries({
queryKey: ["sections"],
});
queryClient.refetchQueries({
queryKey: ["section", params.id],
});
},
});
};
export const useDeleteSection = () => {
const queryClient = useQueryClient();
return useMutation({
mutationFn: (id: string) => api.deleteSection(id),
onSuccess: () => {
queryClient.refetchQueries({
queryKey: ["sections"],
});
},
});
};
export const useCreatePrintForm = () => {
return useMutation({
mutationFn: ({
orderId,
itemId,
params,
}: {
orderId: string;
itemId: string;
params: CreatePrintFormType;
}) => api.createPrintForm(orderId, itemId, params),
// onSuccess: (_, params) => {
// queryClient.refetchQueries({
// queryKey: ["sections"],
// });
// queryClient.refetchQueries({
// queryKey: ["section", params.id],
// });
// },
});
};