jaecoo-cihampelas/service/product.ts

87 lines
2.2 KiB
TypeScript
Raw Normal View History

2026-01-07 08:06:07 +00:00
import { PaginationRequest } from "@/types/globals";
import {
httpDeleteInterceptor,
httpGetInterceptor,
httpPostInterceptor,
httpPutInterceptor,
} from "./http-config/http-interceptor-services";
2026-01-19 11:25:49 +00:00
import { httpGet } from "./http-config/http-base-services";
2026-01-07 08:06:07 +00:00
export async function getProductPagination(props: PaginationRequest) {
const { page, limit, search } = props;
return await httpGetInterceptor(`/products`);
}
// export async function createProduct(data: any) {
// const pathUrl = `/products`;
// return await httpPostInterceptor(pathUrl, data);
// }
export async function createProduct(data: any) {
const headers = {
"content-type": "multipart/form-data",
};
return await httpPostInterceptor(`/products`, data, headers);
}
export async function updateProduct(data: any, id: any) {
const pathUrl = `/products/${id}`;
return await httpPutInterceptor(pathUrl, data);
}
2026-01-19 11:25:49 +00:00
export async function getProductDataById(id: any) {
const headers = {
"content-type": "application/json",
};
return await httpGet(`/products/${id}`, headers);
}
2026-01-07 08:06:07 +00:00
export async function deleteProduct(id: string) {
const headers = {
"content-type": "application/json",
};
return await httpDeleteInterceptor(`products/${id}`, headers);
}
export async function approveProduct(id: string | number) {
const headers = {
"content-type": "application/json",
};
return await httpPutInterceptor(`/products/${id}/approve`, {}, headers);
}
export async function rejectProduct(id: string | number, message?: string) {
const headers = {
"content-type": "application/json",
};
return await httpPutInterceptor(
`/products/${id}/reject`,
{ message },
headers,
);
}
2026-01-26 07:42:55 +00:00
export async function commentProduct(id: string | number, message?: string) {
const headers = {
"content-type": "application/json",
};
return await httpPutInterceptor(
`/products/${id}/comment`,
{ message },
headers,
);
}
export async function getApprovalHistory(
moduleType: string,
moduleId: string | number,
) {
const headers = {
"content-type": "application/json",
};
return await httpGet(
`/approval-histories/${moduleType}/${moduleId}`,
headers,
);
}