From 4df3976dedde11ed569c27f200d2e7d5c4cc2b11 Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Mon, 29 Jun 2020 16:02:23 +0300 Subject: fix: dispatch logout from axios if token expires --- src/site/plugins/axios.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index cc6d98e..843a258 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -13,6 +13,10 @@ export default function({ $axios, store }) { text: error.response.data.message, error: true }); + + if (error.response.data.message.indexOf('Token expired') !== -1) { + store.dispatch('logout'); + } } }); } -- cgit v1.2.3 From 720ffaf0083564c85a07d66a6d303f34706add41 Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Thu, 2 Jul 2020 02:50:55 +0300 Subject: feat: start refactoring the code to actually use vuex This includes creating multiple stores as needed for components and removing all complex states from components (since all those states should be stored in vuex) --- src/site/plugins/axios.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index 843a258..cff149c 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -1,21 +1,22 @@ export default function({ $axios, store }) { $axios.setHeader('accept', 'application/vnd.lolisafe.json'); + $axios.onRequest(config => { - if (store.state.token) { - config.headers.common['Authorization'] = `bearer ${store.state.token}`; + if (store.state.auth.token) { + config.headers.common['Authorization'] = `bearer ${store.state.auth.token}`; } }); $axios.onError(error => { if (process.env.development) console.error('[AXIOS Error]', error); if (process.browser) { - store.dispatch('alert', { + store.dispatch('alert/set', { text: error.response.data.message, error: true }); if (error.response.data.message.indexOf('Token expired') !== -1) { - store.dispatch('logout'); + store.dispatch('auth/logout'); } } }); -- cgit v1.2.3 From b4603fd64e271c9c419e7d0269c4493f3253cadf Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Sat, 4 Jul 2020 03:53:06 +0300 Subject: fix: fix axios plugin throwing if no message from backend --- src/site/plugins/axios.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index cff149c..2f4a169 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -8,14 +8,23 @@ export default function({ $axios, store }) { }); $axios.onError(error => { - if (process.env.development) console.error('[AXIOS Error]', error); + if (process.env.NODE_ENV !== 'production') console.error('[AXIOS Error]', error); if (process.browser) { - store.dispatch('alert/set', { - text: error.response.data.message, - error: true - }); + if (process.env.NODE_ENV !== 'production') { + if (error.response?.data?.message) { + store.dispatch('alert/set', { + text: error.response.data.message, + error: true + }); + } else { + store.dispatch('alert/set', { + text: `[AXIOS]: ${error.message}`, + error: true + }); + } + } - if (error.response.data.message.indexOf('Token expired') !== -1) { + if (error.response?.data?.message.indexOf('Token expired') !== -1) { store.dispatch('auth/logout'); } } -- cgit v1.2.3 From ad852de51a0d2dd5d29c08838d5a430c58849e74 Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Wed, 8 Jul 2020 04:00:12 +0300 Subject: chore: linter the entire project using the new rules --- src/site/plugins/axios.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index 2f4a169..378f922 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -1,25 +1,25 @@ -export default function({ $axios, store }) { +export default function ({ $axios, store }) { $axios.setHeader('accept', 'application/vnd.lolisafe.json'); - $axios.onRequest(config => { + $axios.onRequest((config) => { if (store.state.auth.token) { - config.headers.common['Authorization'] = `bearer ${store.state.auth.token}`; + config.headers.common.Authorization = `bearer ${store.state.auth.token}`; } }); - $axios.onError(error => { + $axios.onError((error) => { if (process.env.NODE_ENV !== 'production') console.error('[AXIOS Error]', error); if (process.browser) { if (process.env.NODE_ENV !== 'production') { if (error.response?.data?.message) { store.dispatch('alert/set', { text: error.response.data.message, - error: true + error: true, }); } else { store.dispatch('alert/set', { text: `[AXIOS]: ${error.message}`, - error: true + error: true, }); } } -- cgit v1.2.3 From 0f66d807035d3e32a66c7dc9bf55fb3be99aedac Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Fri, 10 Jul 2020 01:13:51 +0300 Subject: refactor: finish refactoring all the components to use vuex --- src/site/plugins/axios.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index 378f922..0308d39 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -24,9 +24,9 @@ export default function ({ $axios, store }) { } } - if (error.response?.data?.message.indexOf('Token expired') !== -1) { + /* if (error.response?.data?.message.indexOf('Token expired') !== -1) { store.dispatch('auth/logout'); - } + } */ } }); } -- cgit v1.2.3 From 90001c2df56d58e69fd199a518ae7f3e4ed327fc Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Thu, 24 Dec 2020 10:40:50 +0200 Subject: chore: remove trailing commas --- src/site/plugins/axios.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index 0308d39..98bec5c 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -14,12 +14,12 @@ export default function ({ $axios, store }) { if (error.response?.data?.message) { store.dispatch('alert/set', { text: error.response.data.message, - error: true, + error: true }); } else { store.dispatch('alert/set', { text: `[AXIOS]: ${error.message}`, - error: true, + error: true }); } } -- cgit v1.2.3