Update auth to handle refresh tokens

This commit is contained in:
advplyr
2025-07-01 11:33:51 -05:00
parent 67bab72783
commit d8cdb7073e
13 changed files with 828 additions and 141 deletions
+20 -13
View File
@@ -2,6 +2,7 @@ import { Browser } from '@capacitor/browser'
export const state = () => ({
user: null,
accessToken: null,
serverConnectionConfig: null,
settings: {
mobileOrderBy: 'addedAt',
@@ -17,7 +18,7 @@ export const getters = {
getIsRoot: (state) => state.user && state.user.type === 'root',
getIsAdminOrUp: (state) => state.user && (state.user.type === 'admin' || state.user.type === 'root'),
getToken: (state) => {
return state.user?.token || null
return state.accessToken || null
},
getServerConnectionConfigId: (state) => {
return state.serverConnectionConfig?.id || null
@@ -31,16 +32,18 @@ export const getters = {
getCustomHeaders: (state) => {
return state.serverConnectionConfig?.customHeaders || null
},
getUserMediaProgress: (state) => (libraryItemId, episodeId = null) => {
if (!state.user?.mediaProgress) return null
return state.user.mediaProgress.find(li => {
if (episodeId && li.episodeId !== episodeId) return false
return li.libraryItemId == libraryItemId
})
},
getUserMediaProgress:
(state) =>
(libraryItemId, episodeId = null) => {
if (!state.user?.mediaProgress) return null
return state.user.mediaProgress.find((li) => {
if (episodeId && li.episodeId !== episodeId) return false
return li.libraryItemId == libraryItemId
})
},
getUserBookmarksForItem: (state) => (libraryItemId) => {
if (!state?.user?.bookmarks) return []
return state.user.bookmarks.filter(bm => bm.libraryItemId === libraryItemId)
return state.user.bookmarks.filter((bm) => bm.libraryItemId === libraryItemId)
},
getUserSetting: (state) => (key) => {
return state.settings?.[key] || null
@@ -143,13 +146,17 @@ export const mutations = {
setUser(state, user) {
state.user = user
},
setAccessToken(state, accessToken) {
console.log('[user] setAccessToken', accessToken)
state.accessToken = accessToken
},
removeMediaProgress(state, id) {
if (!state.user) return
state.user.mediaProgress = state.user.mediaProgress.filter(mp => mp.id != id)
state.user.mediaProgress = state.user.mediaProgress.filter((mp) => mp.id != id)
},
updateUserMediaProgress(state, data) {
if (!data || !state.user) return
const mediaProgressIndex = state.user.mediaProgress.findIndex(mp => mp.id === data.id)
const mediaProgressIndex = state.user.mediaProgress.findIndex((mp) => mp.id === data.id)
if (mediaProgressIndex >= 0) {
state.user.mediaProgress.splice(mediaProgressIndex, 1, data)
} else {
@@ -174,9 +181,9 @@ export const mutations = {
},
deleteBookmark(state, { libraryItemId, time }) {
if (!state.user?.bookmarks) return
state.user.bookmarks = state.user.bookmarks.filter(bm => {
state.user.bookmarks = state.user.bookmarks.filter((bm) => {
if (bm.libraryItemId === libraryItemId && bm.time === time) return false
return true
})
}
}
}