Update library filter data to load from db and cache, update rss feed routes to load library items from db

This commit is contained in:
advplyr
2023-08-13 15:10:26 -05:00
parent 8d03b23f46
commit 3651fffbee
13 changed files with 253 additions and 92 deletions

View File

@@ -22,6 +22,9 @@ class Database {
this.authors = []
this.series = []
// Cached library filter data
this.libraryFilterData = {}
this.serverSettings = null
this.notificationSettings = null
this.emailSettings = null
@@ -436,6 +439,34 @@ class Database {
if (!this.sequelize) return false
return this.models.device.createFromOld(oldDevice)
}
removeTagFromFilterData(tag) {
for (const libraryId in this.libraryFilterData) {
this.libraryFilterData[libraryId].tags = this.libraryFilterData[libraryId].tags.filter(t => t !== tag)
}
}
addTagToFilterData(tag) {
for (const libraryId in this.libraryFilterData) {
if (!this.libraryFilterData[libraryId].tags.includes(tag)) {
this.libraryFilterData[libraryId].tags.push(tag)
}
}
}
removeGenreFromFilterData(genre) {
for (const libraryId in this.libraryFilterData) {
this.libraryFilterData[libraryId].genres = this.libraryFilterData[libraryId].genres.filter(g => g !== genre)
}
}
addGenreToFilterData(genre) {
for (const libraryId in this.libraryFilterData) {
if (!this.libraryFilterData[libraryId].genres.includes(genre)) {
this.libraryFilterData[libraryId].genres.push(genre)
}
}
}
}
module.exports = new Database()