mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Fix server crash remove column name ambiguity #3966
This commit is contained in:
		
							parent
							
								
									725192fbc0
								
							
						
					
					
						commit
						a34813b3ab
					
				@ -580,9 +580,9 @@ module.exports = {
 | 
			
		||||
      // When collapsing series and sorting by title then use the series name instead of the book title
 | 
			
		||||
      //  for this set an attribute "display_title" to use in sorting
 | 
			
		||||
      if (global.ServerSettings.sortingIgnorePrefix) {
 | 
			
		||||
        bookAttributes.include.push([Sequelize.literal(`IFNULL((SELECT s.nameIgnorePrefix FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN (${bookSeriesToInclude.map((v) => `"${v.id}"`).join(', ')})), titleIgnorePrefix)`), 'display_title'])
 | 
			
		||||
        bookAttributes.include.push([Sequelize.literal(`IFNULL((SELECT s.nameIgnorePrefix FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN (${bookSeriesToInclude.map((v) => `"${v.id}"`).join(', ')})), \`libraryItem\`.\`titleIgnorePrefix\`)`), 'display_title'])
 | 
			
		||||
      } else {
 | 
			
		||||
        bookAttributes.include.push([Sequelize.literal(`IFNULL((SELECT s.name FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN (${bookSeriesToInclude.map((v) => `"${v.id}"`).join(', ')})), \`book\`.\`title\`)`), 'display_title'])
 | 
			
		||||
        bookAttributes.include.push([Sequelize.literal(`IFNULL((SELECT s.name FROM bookSeries AS bs, series AS s WHERE bs.seriesId = s.id AND bs.bookId = book.id AND bs.id IN (${bookSeriesToInclude.map((v) => `"${v.id}"`).join(', ')})), \`libraryItem\`.\`title\`)`), 'display_title'])
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -1035,8 +1035,8 @@ module.exports = {
 | 
			
		||||
 | 
			
		||||
    const textSearchQuery = await Database.createTextSearchQuery(query)
 | 
			
		||||
 | 
			
		||||
    const matchTitle = textSearchQuery.matchExpression('title')
 | 
			
		||||
    const matchSubtitle = textSearchQuery.matchExpression('subtitle')
 | 
			
		||||
    const matchTitle = textSearchQuery.matchExpression('book.title')
 | 
			
		||||
    const matchSubtitle = textSearchQuery.matchExpression('book.subtitle')
 | 
			
		||||
 | 
			
		||||
    // Search title, subtitle, asin, isbn
 | 
			
		||||
    const books = await Database.bookModel.findAll({
 | 
			
		||||
 | 
			
		||||
@ -84,7 +84,7 @@ module.exports = {
 | 
			
		||||
      return [[Sequelize.literal(`\`podcast\`.\`author\` COLLATE NOCASE ${nullDir}`)]]
 | 
			
		||||
    } else if (sortBy === 'media.metadata.title') {
 | 
			
		||||
      if (global.ServerSettings.sortingIgnorePrefix) {
 | 
			
		||||
        return [[Sequelize.literal('titleIgnorePrefix COLLATE NOCASE'), dir]]
 | 
			
		||||
        return [[Sequelize.literal('`podcast`.`titleIgnorePrefix` COLLATE NOCASE'), dir]]
 | 
			
		||||
      } else {
 | 
			
		||||
        return [[Sequelize.literal('`podcast`.`title` COLLATE NOCASE'), dir]]
 | 
			
		||||
      }
 | 
			
		||||
@ -321,8 +321,8 @@ module.exports = {
 | 
			
		||||
 | 
			
		||||
    const textSearchQuery = await Database.createTextSearchQuery(query)
 | 
			
		||||
 | 
			
		||||
    const matchTitle = textSearchQuery.matchExpression('title')
 | 
			
		||||
    const matchAuthor = textSearchQuery.matchExpression('author')
 | 
			
		||||
    const matchTitle = textSearchQuery.matchExpression('podcast.title')
 | 
			
		||||
    const matchAuthor = textSearchQuery.matchExpression('podcast.author')
 | 
			
		||||
 | 
			
		||||
    // Search title, author, itunesId, itunesArtistId
 | 
			
		||||
    const podcasts = await Database.podcastModel.findAll({
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user