mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	fix book limit for the contiue series shelf
This commit is contained in:
		
							parent
							
								
									f241cb2280
								
							
						
					
					
						commit
						2d68fa2c27
					
				| @ -658,8 +658,13 @@ module.exports = { | ||||
|     let includeAttributes = [ | ||||
|       [Sequelize.literal('(SELECT max(mp.updatedAt) FROM bookSeries bs, mediaProgresses mp WHERE mp.mediaItemId = bs.bookId AND mp.userId = :userId AND bs.seriesId = series.id)'), 'recent_progress'], | ||||
|     ] | ||||
|     let booksNotFinishedQuery = `SELECT count(*) FROM bookSeries bs LEFT OUTER JOIN mediaProgresses mp ON mp.mediaItemId = bs.bookId AND mp.userId = :userId WHERE bs.seriesId = series.id AND (mp.isFinished = 0 OR mp.isFinished IS NULL)` | ||||
| 
 | ||||
|     if (library.settings.onlyShowLaterBooksInContinueSeries) { | ||||
|       includeAttributes.push([Sequelize.literal('(SELECT CAST(max(bs.sequence) as FLOAT) FROM bookSeries bs, mediaProgresses mp WHERE mp.mediaItemId = bs.bookId AND mp.isFinished = 1 AND mp.userId = :userId AND bs.seriesId = series.id)'), 'maxSequence']) | ||||
|       const maxSequenceQuery = `(SELECT CAST(max(bs.sequence) as FLOAT) FROM bookSeries bs, mediaProgresses mp WHERE mp.mediaItemId = bs.bookId AND mp.isFinished = 1 AND mp.userId = :userId AND bs.seriesId = series.id)` | ||||
|       includeAttributes.push([Sequelize.literal(`${maxSequenceQuery}`), 'maxSequence']) | ||||
|    | ||||
|       booksNotFinishedQuery = booksNotFinishedQuery + ` AND CAST(bs.sequence as FLOAT) > ${maxSequenceQuery}` | ||||
|     } | ||||
| 
 | ||||
|     const { rows: series, count } = await Database.seriesModel.findAndCountAll({ | ||||
| @ -675,8 +680,8 @@ module.exports = { | ||||
|         Sequelize.where(Sequelize.literal(`(SELECT count(*) FROM mediaProgresses mp, bookSeries bs WHERE bs.seriesId = series.id AND mp.mediaItemId = bs.bookId AND mp.userId = :userId AND mp.isFinished = 1)`), { | ||||
|           [Sequelize.Op.gte]: 1 | ||||
|         }), | ||||
|         // Has at least 1 book not finished
 | ||||
|         Sequelize.where(Sequelize.literal(`(SELECT count(*) FROM bookSeries bs LEFT OUTER JOIN mediaProgresses mp ON mp.mediaItemId = bs.bookId AND mp.userId = :userId WHERE bs.seriesId = series.id AND (mp.isFinished = 0 OR mp.isFinished IS NULL))`), { | ||||
|         // Has at least 1 book not finished (that has a sequence number higher than the highest already read, if library config is toggled)
 | ||||
|         Sequelize.where(Sequelize.literal(`(${booksNotFinishedQuery})`), { | ||||
|           [Sequelize.Op.gte]: 1 | ||||
|         }), | ||||
|         // Has no books in progress
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user