book finished edge case

fixed edge case were was marked finished without any progress
This commit is contained in:
Licarious 2025-08-16 07:27:29 -05:00
parent 81e0dcc942
commit 97f06ce256

View File

@ -84,7 +84,7 @@ module.exports = {
seriesWhere.push(Sequelize.where(Sequelize.literal(`(${progQuery})`), 0))
userPermissionBookWhere.replacements.userId = user.id
} else if (filterValue === 'in-progress') {
attrQuery = 'SELECT COUNT(*) FROM books b JOIN bookSeries bs ON bs.bookId = b.id LEFT JOIN mediaProgresses mp ON mp.mediaItemId = b.id AND mp.userId = :userId WHERE bs.seriesId = series.id GROUP BY bs.seriesId HAVING SUM(CASE WHEN mp.isFinished = 1 THEN 1 ELSE 0 END) < COUNT(*) AND SUM(CASE WHEN mp.currentTime > 0 OR mp.ebookProgress > 0 THEN 1 ELSE 0 END) > 0'
attrQuery = 'SELECT count(*) FROM books b JOIN bookSeries bs ON bs.bookId = b.id LEFT JOIN mediaProgresses mp ON mp.mediaItemId = b.id AND mp.userId = :userId WHERE bs.seriesId = series.id GROUP BY bs.seriesId HAVING SUM(CASE WHEN mp.isFinished = 1 THEN 1 ELSE 0 END) < count(*) AND SUM(CASE WHEN mp.currentTime > 0 OR mp.ebookProgress > 0 OR mp.isFinished = 1 THEN 1 ELSE 0 END) > 0'
userPermissionBookWhere.replacements.userId = user.id
}
}