62 lines
1.4 KiB
TypeScript
62 lines
1.4 KiB
TypeScript
import axios from 'axios';
|
|
import { Requests, Responses } from 'dto';
|
|
|
|
export const post = <T extends Requests.BaseRequest>(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 = <T extends Requests.BaseRequest>(
|
|
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;
|