mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-01-22 00:07:52 +01:00
Fix decade filter and query by casting publishedYear to Int
This commit is contained in:
parent
217038b085
commit
d2c405c126
@ -309,9 +309,9 @@ export const mutations = {
|
||||
}
|
||||
|
||||
// Add publishedDecades
|
||||
if (mediaMetadata.publishedYear) {
|
||||
if (mediaMetadata.publishedYear && !isNaN(mediaMetadata.publishedYear)) {
|
||||
const publishedYear = parseInt(mediaMetadata.publishedYear, 10)
|
||||
const decade = Math.floor(publishedYear / 10) * 10
|
||||
const decade = (Math.floor(publishedYear / 10) * 10).toString()
|
||||
if (!state.filterData.publishedDecades.includes(decade)) {
|
||||
state.filterData.publishedDecades.push(decade)
|
||||
state.filterData.publishedDecades.sort((a, b) => a - b)
|
||||
|
@ -508,9 +508,9 @@ module.exports = {
|
||||
}
|
||||
if (book.publisher) data.publishers.add(book.publisher)
|
||||
// Check if published year exists and is valid
|
||||
if (book.publishedYear && !isNaN(book.publishedYear) && book.publishedYear > 0 && book.publishedYear < 3000 && book.publishedYear.toString().length === 4) {
|
||||
const decade = Math.floor(book.publishedYear / 10) * 10
|
||||
data.publishedDecades.add(decade.toString())
|
||||
if (book.publishedYear && !isNaN(book.publishedYear) && book.publishedYear > 0 && book.publishedYear < 3000) {
|
||||
const decade = (Math.floor(book.publishedYear / 10) * 10).toString()
|
||||
data.publishedDecades.add(decade)
|
||||
}
|
||||
if (book.language) data.languages.add(book.language)
|
||||
}
|
||||
|
@ -229,11 +229,11 @@ module.exports = {
|
||||
mediaWhere['$series.id$'] = null
|
||||
}
|
||||
} else if (group === 'publishedDecades') {
|
||||
const startYear = value.padStart(4, '0')
|
||||
const endYear = (parseInt(value, 10) + 9).toString().padStart(4, '0')
|
||||
mediaWhere['publishedYear'] = {
|
||||
const startYear = parseInt(value)
|
||||
const endYear = parseInt(value, 10) + 9
|
||||
mediaWhere = Sequelize.where(Sequelize.literal('CAST(`book`.`publishedYear` AS INTEGER)'), {
|
||||
[Sequelize.Op.between]: [startYear, endYear]
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return { mediaWhere, replacements }
|
||||
@ -505,7 +505,6 @@ module.exports = {
|
||||
}
|
||||
|
||||
let { mediaWhere, replacements } = this.getMediaGroupQuery(filterGroup, filterValue)
|
||||
|
||||
let bookWhere = Array.isArray(mediaWhere) ? mediaWhere : [mediaWhere]
|
||||
|
||||
// User permissions
|
||||
|
Loading…
Reference in New Issue
Block a user