import axios from 'axios'; import { Requests, Responses } from '../../../dto'; export * from '../../../dto'; 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;