import { PaginationRequest } from "@/types/globals"; import { httpDeleteInterceptor, httpGet, httpPost, httpPut, } from "./http-config/axios-base-service"; import Cookies from "js-cookie"; const token = Cookies.get("access_token"); export async function getListArticle(props: PaginationRequest) { const { page, limit, search, startDate, endDate, isPublish } = props; const headers = { "content-type": "application/json", }; return await httpGet( `/articles?limit=${limit}&page=${page}&isPublish=${ isPublish === undefined ? "" : isPublish }&title=${search}&startDate=${startDate || ""}&endDate=${endDate || ""}`, headers ); } export async function createArticle(data: any) { const headers = { "content-type": "application/json", Authorization: `Bearer ${token}`, }; const pathUrl = `/articles`; return await httpPost(pathUrl, headers, data); } export async function updateArticle(id: string, data: any) { const headers = { "content-type": "application/json", }; const pathUrl = `/articles/${id}`; return await httpPut(pathUrl, headers, data); } export async function getArticleById(id: any) { const headers = { "content-type": "application/json", }; return await httpGet(`/articles/${id}`, headers); } export async function deleteArticle(id: string) { return await httpDeleteInterceptor(`articles/${id}`); } export async function getArticleByCategory() { const headers = { "content-type": "application/json", }; return await httpGet(`/article-categories?limit=50`, headers); } export async function getCategoryPagination(data: any) { const headers = { "content-type": "application/json", }; return await httpGet( `/article-categories?limit=${data?.limit}&page=${data?.page}&title=${data?.search}`, headers ); } export async function uploadArticleFile(id: string, data: any) { const headers = { "content-type": "multipart/form-data", }; return await httpPost(`/article-files/${id}`, headers, data); } export async function uploadArticleThumbnail(id: string, data: any) { const headers = { "content-type": "multipart/form-data", }; return await httpPost(`/articles/thumbnail/${id}`, headers, data); } export async function deleteArticleFiles(id: number) { return await httpDeleteInterceptor(`article-files/${id}`); }