mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-02-19 00:18:56 +01:00
Update:Fetch library API to return numUserPlaylists, only display playlists in siderail if user has playlists
This commit is contained in:
parent
0fcf978ffe
commit
083f8faa46
@ -186,7 +186,7 @@ export default {
|
||||
return this.$store.state.streamLibraryItem
|
||||
},
|
||||
showPlaylists() {
|
||||
return true
|
||||
return this.$store.state.libraries.numUserPlaylists > 0
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -9,6 +9,7 @@ export const state = () => ({
|
||||
issues: 0,
|
||||
folderLastUpdate: 0,
|
||||
filterData: null,
|
||||
numUserPlaylists: 0,
|
||||
seriesSortBy: 'name',
|
||||
seriesSortDesc: false,
|
||||
seriesFilterBy: 'all',
|
||||
@ -111,15 +112,17 @@ export const actions = {
|
||||
return this.$axios
|
||||
.$get(`/api/libraries/${libraryId}?include=filterdata`)
|
||||
.then((data) => {
|
||||
var library = data.library
|
||||
var filterData = data.filterdata
|
||||
var issues = data.issues || 0
|
||||
const library = data.library
|
||||
const filterData = data.filterdata
|
||||
const issues = data.issues || 0
|
||||
const numUserPlaylists = data.numUserPlaylists
|
||||
|
||||
dispatch('user/checkUpdateLibrarySortFilter', library.mediaType, { root: true })
|
||||
|
||||
commit('addUpdate', library)
|
||||
commit('setLibraryIssues', issues)
|
||||
commit('setLibraryFilterData', filterData)
|
||||
commit('setNumUserPlaylists', numUserPlaylists)
|
||||
commit('setCurrentLibrary', libraryId)
|
||||
if (libraryChanging) {
|
||||
commit('setCollections', [])
|
||||
@ -228,6 +231,9 @@ export const mutations = {
|
||||
setLibraryFilterData(state, filterData) {
|
||||
state.filterData = filterData
|
||||
},
|
||||
setNumUserPlaylists(state, numUserPlaylists) {
|
||||
state.numUserPlaylists = numUserPlaylists
|
||||
},
|
||||
updateFilterDataWithItem(state, libraryItem) {
|
||||
if (!libraryItem || !state.filterData) return
|
||||
if (state.currentLibraryId !== libraryItem.libraryId) return
|
||||
@ -332,6 +338,7 @@ export const mutations = {
|
||||
},
|
||||
setUserPlaylists(state, playlists) {
|
||||
state.userPlaylists = playlists
|
||||
state.numUserPlaylists = playlists.length
|
||||
},
|
||||
addUpdateUserPlaylist(state, playlist) {
|
||||
const index = state.userPlaylists.findIndex(p => p.id === playlist.id)
|
||||
@ -339,9 +346,11 @@ export const mutations = {
|
||||
state.userPlaylists.splice(index, 1, playlist)
|
||||
} else {
|
||||
state.userPlaylists.push(playlist)
|
||||
state.numUserPlaylists++
|
||||
}
|
||||
},
|
||||
removeUserPlaylist(state, playlist) {
|
||||
state.userPlaylists = state.userPlaylists.filter(p => p.id !== playlist.id)
|
||||
state.numUserPlaylists = state.userPlaylists.length
|
||||
}
|
||||
}
|
@ -62,10 +62,12 @@ class LibraryController {
|
||||
}
|
||||
|
||||
async findOne(req, res) {
|
||||
if (req.query.include && req.query.include === 'filterdata') {
|
||||
const includeArray = (req.query.include || '').split(',')
|
||||
if (includeArray.includes('filterdata')) {
|
||||
return res.json({
|
||||
filterdata: libraryHelpers.getDistinctFilterDataNew(req.libraryItems),
|
||||
issues: req.libraryItems.filter(li => li.hasIssues).length,
|
||||
numUserPlaylists: this.db.playlists.filter(p => p.userId === req.user.id && p.libraryId === req.library.id).length,
|
||||
library: req.library
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user