import axios from "@/config/axios"; import type { MyOrdersResponseType, OrderType, ProductsResponseType, } from "../type/Types"; import { OrderStatusEnum, TabMyOrdersEnum } from "../enum/OrderEnum"; export const getProducts = async () => { const { data } = await axios.get(`/public/products`); return data; }; export const submitOrder = async (params: OrderType[]) => { const { data } = await axios.post(`/public/order`, { items: params }); return data; }; export const getMyOrders = async ( page: number = 1, active: TabMyOrdersEnum, ) => { const statuses = active === TabMyOrdersEnum.IN_PROGRESS ? [ OrderStatusEnum.DESIGN_FINISHED, OrderStatusEnum.DESIGN_INITIATED, OrderStatusEnum.DESIGN_REVISION, OrderStatusEnum.IN_PRINTING, OrderStatusEnum.AFTER_PRINT_BOXING, OrderStatusEnum.AFTER_PRINT_CARTONING, OrderStatusEnum.AFTER_PRINT_COVER, OrderStatusEnum.READY_FOR_DELIVERY, OrderStatusEnum.READY_TO_PRINTING, ] : active === TabMyOrdersEnum.CANCELLED ? [OrderStatusEnum.CANCELED] : active === TabMyOrdersEnum.DELIVERED ? [OrderStatusEnum.DELIVERED] : undefined; let query = `?page=${page}`; if (statuses) { query += `statuses=${statuses}`; } const { data } = await axios.get( `/public/orders${query}`, ); return data; };