mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-07-13 10:55:05 +02:00
Seperate setUserToken from setUser in store
This commit is contained in:
parent
4ff7355262
commit
d0d152c20d
3 changed files with 13 additions and 14 deletions
|
@ -189,6 +189,7 @@ export default {
|
||||||
|
|
||||||
this.$store.commit('libraries/setCurrentLibrary', userDefaultLibraryId)
|
this.$store.commit('libraries/setCurrentLibrary', userDefaultLibraryId)
|
||||||
this.$store.commit('user/setUser', user)
|
this.$store.commit('user/setUser', user)
|
||||||
|
this.$store.commit('user/setUserToken', user.accessToken)
|
||||||
|
|
||||||
this.$store.dispatch('user/loadUserSettings')
|
this.$store.dispatch('user/loadUserSettings')
|
||||||
},
|
},
|
||||||
|
|
|
@ -45,6 +45,7 @@ export default function ({ $axios, store, $root, app }) {
|
||||||
if (originalRequest.url === '/auth/refresh' || originalRequest.url === '/login') {
|
if (originalRequest.url === '/auth/refresh' || originalRequest.url === '/login') {
|
||||||
// Refresh failed or login failed, redirect to login
|
// Refresh failed or login failed, redirect to login
|
||||||
store.commit('user/setUser', null)
|
store.commit('user/setUser', null)
|
||||||
|
store.commit('user/setUserToken', null)
|
||||||
app.router.push('/login')
|
app.router.push('/login')
|
||||||
return Promise.reject(error)
|
return Promise.reject(error)
|
||||||
}
|
}
|
||||||
|
@ -81,6 +82,7 @@ export default function ({ $axios, store, $root, app }) {
|
||||||
|
|
||||||
// Update the token in store and localStorage
|
// Update the token in store and localStorage
|
||||||
store.commit('user/setUser', response.user)
|
store.commit('user/setUser', response.user)
|
||||||
|
store.commit('user/setUserToken', newAccessToken)
|
||||||
|
|
||||||
// Emit event used to re-authenticate socket in default.vue since $root is not available here
|
// Emit event used to re-authenticate socket in default.vue since $root is not available here
|
||||||
if (app.$eventBus) {
|
if (app.$eventBus) {
|
||||||
|
@ -106,6 +108,7 @@ export default function ({ $axios, store, $root, app }) {
|
||||||
|
|
||||||
// Clear user data and redirect to login
|
// Clear user data and redirect to login
|
||||||
store.commit('user/setUser', null)
|
store.commit('user/setUser', null)
|
||||||
|
store.commit('user/setUserToken', null)
|
||||||
app.router.push('/login')
|
app.router.push('/login')
|
||||||
|
|
||||||
return Promise.reject(refreshError)
|
return Promise.reject(refreshError)
|
||||||
|
|
|
@ -151,22 +151,17 @@ export const actions = {
|
||||||
export const mutations = {
|
export const mutations = {
|
||||||
setUser(state, user) {
|
setUser(state, user) {
|
||||||
state.user = user
|
state.user = user
|
||||||
if (user) {
|
|
||||||
// Use accessToken from user if included in response (for login)
|
|
||||||
if (user.accessToken) localStorage.setItem('token', user.accessToken)
|
|
||||||
else if (localStorage.getItem('token')) {
|
|
||||||
user.accessToken = localStorage.getItem('token')
|
|
||||||
} else {
|
|
||||||
console.error('No access token found for user', user)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
localStorage.removeItem('token')
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
setUserToken(state, token) {
|
setUserToken(state, token) {
|
||||||
if (!state.user) return
|
if (!token) {
|
||||||
state.user.accessToken = token
|
localStorage.removeItem('token')
|
||||||
localStorage.setItem('token', token)
|
if (state.user) {
|
||||||
|
state.user.accessToken = null
|
||||||
|
}
|
||||||
|
} else if (state.user) {
|
||||||
|
state.user.accessToken = token
|
||||||
|
localStorage.setItem('token', token)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
updateMediaProgress(state, { id, data }) {
|
updateMediaProgress(state, { id, data }) {
|
||||||
if (!state.user) return
|
if (!state.user) return
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue