diff --git a/src/boot/axios.ts b/src/boot/axios.ts index d8ed8d2..dbce985 100644 --- a/src/boot/axios.ts +++ b/src/boot/axios.ts @@ -1,5 +1,7 @@ import axios, { AxiosInstance } from 'axios'; import { boot } from 'quasar/wrappers'; +import { StateInterface } from '../store'; +import config from '../config' declare module 'vue/types/vue' { interface Vue { @@ -7,7 +9,17 @@ declare module 'vue/types/vue' { } } -export default boot(({ Vue }) => { +export default boot(({ Vue, store }) => { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access Vue.prototype.$axios = axios; + axios.defaults.baseURL = config.baseURL; + + axios.interceptors.request.use( + config => { + const token = (store.state).user.token; + if (token) { + config.headers['Authorization'] = 'Token ' + token.token; + } + return config; + }); }); diff --git a/src/config.ts b/src/config.ts new file mode 100644 index 0000000..4e015ab --- /dev/null +++ b/src/config.ts @@ -0,0 +1,5 @@ +const config = { + baseURL: "http://flaschengeist.local:5000" +}; + +export default config; \ No newline at end of file