import axios from "axios"; import { Requests, Responses, UserRole } from "../dto"; export { Requests, Responses, UserRole }; export const post = (url: string, data: T) => axios .post(url, data, { headers: { "Content-type": "application/json" }, }) .then((res) => res.data) .catch((err) => err.response.data); export const post_token = ( url: string, data: T, token: string ) => axios .post(url, data, { headers: { Authorization: "Bearer " + token, "Content-type": "application/json", }, }) .then((res) => res.data) .catch((err) => err.response.data); export const post_token_form = ( url: string, data: FormData, token: string, onProgress: (progressEvent: ProgressEvent) => void ) => axios .post(url, data, { headers: { Authorization: "Bearer " + token, "Content-type": "multipart/form-data", }, onUploadProgress: onProgress, }) .then((res) => res.data) .catch((err) => err.response.data); // eslint-disable-next-line @typescript-eslint/no-unused-vars export const get = (url: string) => axios .get(url) .then((res) => res.data) .catch((err) => err.response.data); export const get_token = (url: string, token: string) => axios .get(url, { headers: { Authorization: "Bearer " + token }, }) .then((res) => res.data) .catch((err) => err.response.data); export const isErrorResponse = ( res: Responses.BaseResponse ): res is Responses.ErrorResponse => res.statusCode != 200;