system-praktyk-front/src/api/index.ts
2020-10-18 13:48:05 +02:00

49 lines
1.0 KiB
TypeScript

import Axios from "axios";
import store from "@/state/store"
import { AppState } from "@/state/reducer";
import { UserState } from "@/state/reducer/user";
import * as user from "./user";
import * as edition from "./edition";
import * as page from "./page";
import * as student from "./student";
import * as type from "./type";
import * as companies from "./companies";
import * as internship from "./internship";
import * as upload from "./upload";
export const axios = Axios.create({
baseURL: process.env.API_BASE_URL || "https://system-praktyk.stg.kadet.net/api/",
})
axios.interceptors.request.use(config => {
const state = store.getState() as AppState;
const user = state.user as UserState;
if (!user.loggedIn) {
return config;
}
return {
...config,
headers: {
...config.headers,
Authorization: `Bearer ${ user.token }`
}
}
})
const api = {
user,
edition,
page,
student,
type,
companies,
internship,
upload
}
export default api;