Files
shop-admin/src/pages/orders/service/OrderService.ts
T
hamid zarghami 5b514c362d track code
2025-10-30 11:47:37 +03:30

89 lines
2.3 KiB
TypeScript

import axios from "../../../config/axios";
import type { AddTrackCodeType } from "../types/ReturnTypes";
import type {
CancelReasonsResponseType,
CreateCancelReasonType,
CreateReturnReasonType,
NativeOrdersResponseType,
OrderDetailResponseType,
ReturnReasonsResponseType,
} from "../types/Types";
export const getNativeOrders = async (
page: number = 1,
status: string,
search: string
): Promise<NativeOrdersResponseType> => {
const { data } = await axios.get("/admin/orders/native", {
params: { page, status: status === "all" ? undefined : status, q: search },
});
return data;
};
export const getSellerOrders = async (
page: number = 1,
status: string,
search: string
): Promise<NativeOrdersResponseType> => {
const { data } = await axios.get("/admin/orders/seller", {
params: { page, status, q: search },
});
return data;
};
export const getOrderDetailUser = async (
id: string
): Promise<OrderDetailResponseType> => {
const { data } = await axios.get(`/admin/orders/${id}/user`);
return data;
};
export const createCancelReason = async (params: CreateCancelReasonType) => {
const { data } = await axios.post(`/admin/orders/cancel/reasons`, params);
return data;
};
export const getCancelReasons = async (): Promise<
CancelReasonsResponseType
> => {
const { data } = await axios.get(`/cancel/reasons`);
return data;
};
export const deleteCancelReason = async (id: string) => {
const { data } = await axios.delete(`/admin/orders/reasons/${id}/delete`);
return data;
};
export const createReturnReason = async (params: CreateReturnReasonType) => {
const { data } = await axios.post(`/admin/orders/returns/reasons`, params);
return data;
};
export const getReturnReasons = async (): Promise<
ReturnReasonsResponseType
> => {
const { data } = await axios.get(`/returns/reasons`);
return data;
};
export const deleteReturnReason = async (id: string) => {
const { data } = await axios.delete(`/admin/orders/returns/reasons/${id}`);
return data;
};
export const getOrderReturns = async (page: number = 1) => {
const { data } = await axios.get(`/admin/orders/returns`, {
params: { page },
});
return data;
};
export const addTrackCode = async (params: AddTrackCodeType) => {
const { data } = await axios.post(
`/order/${params.orderId}/admin/track-code`,
params
);
return data;
};