From 97f06ce2569154cc96075af4b07f59d70585732a Mon Sep 17 00:00:00 2001 From: Licarious <37857277+Licarious@users.noreply.github.com> Date: Sat, 16 Aug 2025 07:27:29 -0500 Subject: [PATCH] book finished edge case fixed edge case were was marked finished without any progress --- server/utils/queries/seriesFilters.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/utils/queries/seriesFilters.js b/server/utils/queries/seriesFilters.js index 4c8d1f81c..a279d694f 100644 --- a/server/utils/queries/seriesFilters.js +++ b/server/utils/queries/seriesFilters.js @@ -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 } }