From e3398c3fa5e5e67d42e1171255e676e0af837392 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Thu, 29 Oct 2020 01:39:06 +0100 Subject: [PATCH] Fixed last TypeScript issues from store --- src/boot/axios.ts | 7 ++++--- src/boot/login.ts | 6 +++--- src/boot/plugins.ts | 2 -- src/components/navigation/EssentialLink.vue | 3 +-- src/layouts/MainLayout.vue | 7 +++++-- src/plugins/user/components/settings/Main.vue | 11 ++++++++--- .../user/components/settings/Sessions.vue | 10 ++++++++-- src/plugins/user/pages/Settings.vue | 16 ++++++++-------- src/plugins/user/pages/User.vue | 15 ++++++++------- src/plugins/user/store/user.ts | 4 ++-- src/store/index.ts | 5 ++++- 11 files changed, 51 insertions(+), 35 deletions(-) diff --git a/src/boot/axios.ts b/src/boot/axios.ts index da60188..bd96d99 100644 --- a/src/boot/axios.ts +++ b/src/boot/axios.ts @@ -2,6 +2,7 @@ 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 { @@ -9,14 +10,14 @@ declare module 'vue/types/vue' { } } -export default boot>(({ Vue, store }) => { +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: FG.Session = store.getters['user/session']; - if (session) { + const session = store.state.user.session; + if (session.token) { config.headers = {'Authorization': 'Token ' + session.token}; } return config; diff --git a/src/boot/login.ts b/src/boot/login.ts index 9b341c4..a6899c6 100644 --- a/src/boot/login.ts +++ b/src/boot/login.ts @@ -1,15 +1,15 @@ import { boot } from 'quasar/wrappers'; +import { StateInterface } from 'src/store'; import { RouteRecord } from 'vue-router'; import { Store } from 'vuex'; -import { StateInterface } from 'src/store'; export default boot>(({ router, store }) => { router.beforeEach((to, from, next) => { store .dispatch('user/loadFromLocalStorage') .then(() => { - const user: FG.User = store.getters['user/user']; - const session: FG.Session = store.getters['user/session']; + const user = store.state.user.user; + const session = store.state.user.session; if (session.expires >= new Date()) { store.dispatch('user/doLogout').catch(error => {console.warn(error)}); diff --git a/src/boot/plugins.ts b/src/boot/plugins.ts index 6efdcc4..8290311 100644 --- a/src/boot/plugins.ts +++ b/src/boot/plugins.ts @@ -215,6 +215,4 @@ export default boot>(({ Vue, router, store }) => { // save plugins in VM-variable // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access Vue.prototype.$flaschengeistPlugins = loadedPlugins; - console.log(loadedPlugins); - console.log(Vue.prototype.$flaschengeistPlugins); }); diff --git a/src/components/navigation/EssentialLink.vue b/src/components/navigation/EssentialLink.vue index 979a310..fe44dd0 100644 --- a/src/components/navigation/EssentialLink.vue +++ b/src/components/navigation/EssentialLink.vue @@ -48,8 +48,7 @@ export default defineComponent({ const substring = props.title .substring(startIndex, endIndex) .replace(/"/g, ''); - console.log(substring); - console.log('loadFromStore'); + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access return root.$store.getters[substring]; } return props.title; diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue index 7fdde61..9bd2a81 100644 --- a/src/layouts/MainLayout.vue +++ b/src/layouts/MainLayout.vue @@ -101,6 +101,8 @@ import ShortCutLink from 'components/navigation/ShortCutLink.vue'; import { Screen } from 'quasar'; import { LoadedPlugins, PluginMainLink } from 'boot/plugins'; import { defineComponent, ref, computed } from '@vue/composition-api'; +import { Store } from 'vuex'; +import { StateInterface } from 'src/store'; const links = [ { @@ -170,8 +172,9 @@ export default defineComponent({ }); function logout() { - ctx.root.$store - .dispatch('user/logout', ctx.root.$store.getters['user/session'].token) + const store = >ctx.root.$store; + store + .dispatch('user/logout', store.state.user.session.token) .catch(error => { console.warn(error); }); diff --git a/src/plugins/user/components/settings/Main.vue b/src/plugins/user/components/settings/Main.vue index b3b69ff..09d86dc 100644 --- a/src/plugins/user/components/settings/Main.vue +++ b/src/plugins/user/components/settings/Main.vue @@ -90,11 +90,16 @@