import axios, { AxiosInstance } from 'axios'; import { boot } from 'quasar/wrappers'; import config from '../config'; import { Store } from 'vuex'; import { StateInterface } from 'src/store'; declare module 'vue/types/vue' { interface Vue { $axios: AxiosInstance; } } 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 session = store.state.session.currentSession; if (session?.token) { config.headers = { Authorization: 'Bearer ' + session.token }; } return config; }); }); export { axios };