Merge branch 'develop' into seperate_plugins

This commit is contained in:
Ferdinand Thiessen 2021-05-25 22:01:13 +02:00
commit 1802081ad2
3 changed files with 13 additions and 10 deletions

View File

@ -75,19 +75,13 @@ export const useMainStore = defineStore({
async logout() {
if (!this.session || !this.session.token) return false;
LocalStorage.clear();
try {
const token = this.session.token;
this.$patch({
session: undefined,
user: undefined,
});
await api.delete(`/auth/${token}`);
} catch (error) {
return false;
} finally {
SessionStorage.clear();
this.handleLoggedOut( );
}
return true;
},
@ -151,6 +145,15 @@ export const useMainStore = defineStore({
async setShortcuts() {
await api.put(`users/${this.currentUser.userid}/shortcuts`, this.shortcuts);
},
handleLoggedOut() {
LocalStorage.clear();
this.$patch({
session: undefined,
user: undefined,
});
SessionStorage.clear();
},
},
});

View File

@ -20,7 +20,7 @@ export default boot(({ router }) => {
/***
* Intercept responses
* - filter 401 --> logout
* - filter 401 --> handleLoggedOut
* - filter timeout or 502-504 --> backendOffline
*/
api.interceptors.response.use(
@ -43,7 +43,7 @@ export default boot(({ router }) => {
query: { redirect: next },
});
} else if (e.response && e.response.status == 401) {
void store.logout();
void store.handleLoggedOut();
if (current.name !== 'login') {
await router.push({
name: 'login',

View File

@ -12,7 +12,7 @@ export default boot(({ router }) => {
// Secured area (LOGIN REQUIRED)
// Check login is ok
if (!store.session || store.session.expires <= new Date()) {
void store.logout();
void store.handleLoggedOut();
return next({ name: 'login', query: { redirect: to.fullPath } });
}