Files
negareh-admin/src/pages/order/hooks/useOrderData.ts
T
hamid zarghami 199fbe4987 edit print form
2026-02-02 16:11:02 +03:30

80 lines
1.7 KiB
TypeScript

import { useMutation, useQuery } from "@tanstack/react-query";
import * as api from "../service/OrderService";
import type { AddTicketType, CreateFinalOrderType } from "../types/Types";
export const useGetOrders = () => {
return useQuery({
queryKey: ["orders"],
queryFn: api.getOrders,
});
};
export const useGetOrderDetails = (id: string) => {
return useQuery({
queryKey: ["order", id],
queryFn: () => api.getOrderDetail(id),
enabled: !!id,
});
};
export const useGetTickets = (orderId: string) => {
return useQuery({
queryKey: ["tickets", orderId],
queryFn: () => api.getTickets(orderId),
enabled: !!orderId,
});
};
export const useAddTicket = () => {
return useMutation({
mutationFn: ({
orderId,
params,
}: {
orderId: string;
params: AddTicketType;
}) => api.addTicket(orderId, params),
});
};
export const useCreateOrder = () => {
return useMutation({
mutationFn: api.submitOrder,
});
};
export const useUpdateOrder = () => {
return useMutation({
mutationFn: ({
orderId,
params,
}: {
orderId: string;
params: CreateFinalOrderType;
}) => api.updateOrder(orderId, params),
});
};
export const useGetProducts = () => {
return useQuery({
queryKey: ["products"],
queryFn: api.getProducts,
});
};
export const useGetAttributes = (id?: number) => {
return useQuery({
queryKey: ["attributes", id],
queryFn: () => api.getAttributes(id),
enabled: !!id,
});
};
export const useGetOrderItem = (id?: number) => {
return useQuery({
queryKey: ["order-item", id],
queryFn: () => api.getOrderItem(id),
enabled: !!id,
});
};