124 lines
2.5 KiB
TypeScript
124 lines
2.5 KiB
TypeScript
import { useMutation, useQuery } from "@tanstack/react-query";
|
|
import * as api from "../service/OrderService";
|
|
import type {
|
|
AddTicketType,
|
|
OrderPrintFormType,
|
|
UpdateOrderType,
|
|
} from "../types/Types";
|
|
|
|
export const useGetOrders = (params?: api.GetOrdersParams) => {
|
|
return useQuery({
|
|
queryKey: ["orders", params],
|
|
queryFn: () => api.getOrders(params),
|
|
});
|
|
};
|
|
|
|
export const useGetOrdersInvoiced = (page: number = 1) => {
|
|
return useQuery({
|
|
queryKey: ["orders-invoiced", page],
|
|
queryFn: () => api.getOrdersInvoiced(page),
|
|
});
|
|
};
|
|
|
|
export const useGetRequests = () => {
|
|
return useQuery({
|
|
queryKey: ["requests"],
|
|
queryFn: api.getRequests,
|
|
});
|
|
};
|
|
|
|
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 useConverToOrder = () => {
|
|
return useMutation({
|
|
mutationFn: api.converToOrder,
|
|
});
|
|
};
|
|
|
|
export const useUpdateOrder = () => {
|
|
return useMutation({
|
|
mutationFn: ({
|
|
orderId,
|
|
params,
|
|
}: {
|
|
orderId: string;
|
|
params: UpdateOrderType;
|
|
}) => api.updateOrder(orderId, params),
|
|
});
|
|
};
|
|
|
|
export const useGetProducts = () => {
|
|
return useQuery({
|
|
queryKey: ["products"],
|
|
queryFn: api.getProducts,
|
|
});
|
|
};
|
|
|
|
export const useGetAttributes = (id?: string) => {
|
|
return useQuery({
|
|
queryKey: ["attributes", id],
|
|
queryFn: () => api.getAttributes(id),
|
|
enabled: !!id,
|
|
});
|
|
};
|
|
|
|
export const useGetOrderItem = (id?: string) => {
|
|
return useQuery({
|
|
queryKey: ["order-item", id],
|
|
queryFn: () => api.getOrderItem(id),
|
|
enabled: !!id,
|
|
});
|
|
};
|
|
|
|
export const useSubmitOrderPrint = () => {
|
|
return useMutation({
|
|
mutationFn: ({
|
|
orderId,
|
|
params,
|
|
}: {
|
|
orderId: string;
|
|
params: OrderPrintFormType;
|
|
}) => api.submitOrderPrint(orderId, params),
|
|
});
|
|
};
|
|
|
|
export const useGetOrderPrint = (orderId: string) => {
|
|
return useQuery({
|
|
queryKey: ["order-print", orderId],
|
|
queryFn: () => api.getOrderPrint(orderId),
|
|
enabled: !!orderId,
|
|
});
|
|
};
|