import { AxiosPromise } from 'axios'; import { axiosPrivate, axiosPublic, axiosUtility } from './apiConfig'; export class API { static get = (url: string, params?: Record): AxiosPromise => axiosPrivate.get(url, { params }); static getPublic = (url: string, params?: Record): AxiosPromise => axiosPublic.get(url, { params }); static post = (url: string, data?: Record): AxiosPromise => axiosPrivate.post(url, data); static postFormData = (url: string, data: FormData): AxiosPromise => axiosPrivate.post(url, data, { headers: { 'Content-Type': 'multipart/form-data' } }); static postPublic = (url: string, data?: Record): AxiosPromise => axiosPublic.post(url, data); static put = (url: string, data?: Record): AxiosPromise => axiosPrivate.put(url, data); static putFormData = (url: string, data: FormData): AxiosPromise => axiosPrivate.put(url, data, { headers: { 'Content-Type': 'multipart/form-data' } }); static patch = (url: string, data?: Record): AxiosPromise => axiosPrivate.patch(url, data); static delete = ( url: string, params?: Record, data?: Record ): AxiosPromise => axiosPrivate.delete(url, { params, data }); static head = (url: string) => axiosUtility.head(url); }