Compare commits

...

8 Commits

Author SHA1 Message Date
advplyr
6e5d334874 Version bump 2.4.1 2023-09-09 15:47:17 -05:00
advplyr
6822628994 Fix:Missing narrators library filter 2023-09-09 15:46:33 -05:00
advplyr
98d9fd8c32 Fix:Get all items api endpoint support providing no limit #2067 2023-09-09 15:01:58 -05:00
advplyr
e2cca60853 Fix:Crash on podcast library page sort by title #2069 2023-09-09 14:56:36 -05:00
advplyr
e80b313a7b Fix:Server crash when quick match with find covers setting enabled #2068 2023-09-09 08:57:59 -05:00
advplyr
b09b95ef24 Fix:Browse folders when adding new library folder crashing server #2065 2023-09-09 07:47:17 -05:00
advplyr
aec45d04f7 Version bump 2.4.0 2023-09-08 17:26:21 -05:00
advplyr
87d037cb0a Fix clean database method and version bump 2.3.5 2023-09-08 17:20:39 -05:00
9 changed files with 15 additions and 12 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "audiobookshelf-client",
"version": "2.3.4",
"version": "2.4.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "audiobookshelf-client",
"version": "2.3.3",
"version": "2.4.1",
"license": "ISC",
"dependencies": {
"@nuxtjs/axios": "^5.13.6",

View File

@@ -1,6 +1,6 @@
{
"name": "audiobookshelf-client",
"version": "2.3.4",
"version": "2.4.1",
"description": "Self-hosted audiobook and podcast client",
"main": "index.js",
"scripts": {

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "audiobookshelf",
"version": "2.3.4",
"version": "2.4.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "audiobookshelf",
"version": "2.3.3",
"version": "2.4.1",
"license": "GPL-3.0",
"dependencies": {
"axios": "^0.27.2",

View File

@@ -1,6 +1,6 @@
{
"name": "audiobookshelf",
"version": "2.3.4",
"version": "2.4.1",
"description": "Self-hosted audiobook and podcast server",
"main": "index.js",
"scripts": {

View File

@@ -156,7 +156,7 @@ class Database {
await this.buildModels(force)
Logger.info(`[Database] Db initialized with models:`, Object.keys(this.sequelize.models).join(', '))
await this.cleanDatabase()
await this.loadData()
}
@@ -268,6 +268,8 @@ class Database {
await dbMigration.migrationPatch2(this)
}
await this.cleanDatabase()
// Set if root user has been created
this.hasRootUser = await this.models.user.getHasRootUser()

View File

@@ -17,7 +17,7 @@ class FileSystemController {
})
// Do not include existing mapped library paths in response
const libraryFoldersPaths = await Database.libraryModelFolder.getAllLibraryFolderPaths()
const libraryFoldersPaths = await Database.libraryFolderModel.getAllLibraryFolderPaths()
libraryFoldersPaths.forEach((path) => {
let dir = path || ''
if (dir.includes(global.appRoot)) dir = dir.replace(global.appRoot, '')

View File

@@ -11,6 +11,7 @@ const LibraryScan = require('./LibraryScan')
const Author = require('../objects/entities/Author')
const Series = require('../objects/entities/Series')
const LibraryScanner = require('./LibraryScanner')
const CoverManager = require('../managers/CoverManager')
class Scanner {
constructor() { }

View File

@@ -211,7 +211,7 @@ module.exports = {
mediaWhere[key] = {
[Sequelize.Op.or]: [null, '']
}
} else if (['genres', 'tags', 'narrator'].includes(value)) {
} else if (['genres', 'tags', 'narrators'].includes(value)) {
mediaWhere[value] = {
[Sequelize.Op.or]: [null, Sequelize.where(Sequelize.fn('json_array_length', Sequelize.col(value)), 0)]
}
@@ -566,7 +566,7 @@ module.exports = {
],
order: sortOrder,
subQuery: false,
limit,
limit: limit || null,
offset
})

View File

@@ -81,7 +81,7 @@ module.exports = {
if (global.ServerSettings.sortingIgnorePrefix) {
return [[Sequelize.literal('titleIgnorePrefix COLLATE NOCASE'), dir]]
} else {
return [[Sequelize.literal('title COLLATE NOCASE'), dir]]
return [[Sequelize.literal('`podcast`.`title` COLLATE NOCASE'), dir]]
}
} else if (sortBy === 'media.numTracks') {
return [['numEpisodes', dir]]
@@ -166,7 +166,7 @@ module.exports = {
],
order: this.getOrder(sortBy, sortDesc),
subQuery: false,
limit,
limit: limit || null,
offset
})