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