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