From 107d7db3946012c4d634300e75e3118cc3d90cf2 Mon Sep 17 00:00:00 2001 From: Gauthier Roebroeck Date: Tue, 25 Aug 2020 21:46:40 +0800 Subject: [PATCH] fix: incorrect read progress for books read progress for books would show incorrectly, leaking from other users closes #286 --- .../org/gotson/komga/infrastructure/jooq/BookDtoDao.kt | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/BookDtoDao.kt b/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/BookDtoDao.kt index 58b14dfff..eb524cd57 100644 --- a/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/BookDtoDao.kt +++ b/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/BookDtoDao.kt @@ -76,9 +76,8 @@ class BookDtoDao( .from(b) .leftJoin(m).on(b.ID.eq(m.BOOK_ID)) .leftJoin(d).on(b.ID.eq(d.BOOK_ID)) - .leftJoin(r).on(b.ID.eq(r.BOOK_ID)) + .leftJoin(r).on(b.ID.eq(r.BOOK_ID)).and(readProgressCondition(userId)) .leftJoin(bt).on(b.ID.eq(bt.BOOK_ID)) - .and(readProgressCondition(userId)) .leftJoin(rlb).on(b.ID.eq(rlb.BOOK_ID)) .where(conditions) .groupBy(b.ID) @@ -119,8 +118,7 @@ class BookDtoDao( val seriesIds = dsl.select(s.ID) .from(s) .leftJoin(b).on(s.ID.eq(b.SERIES_ID)) - .leftJoin(r).on(b.ID.eq(r.BOOK_ID)) - .and(readProgressCondition(userId)) + .leftJoin(r).on(b.ID.eq(r.BOOK_ID)).and(readProgressCondition(userId)) .where(conditions) .groupBy(s.ID) .having(SeriesDtoDao.countUnread.ge(inline(1.toBigDecimal()))) @@ -179,9 +177,8 @@ class BookDtoDao( .from(b) .leftJoin(m).on(b.ID.eq(m.BOOK_ID)) .leftJoin(d).on(b.ID.eq(d.BOOK_ID)) - .leftJoin(r).on(b.ID.eq(r.BOOK_ID)) + .leftJoin(r).on(b.ID.eq(r.BOOK_ID)).and(readProgressCondition(userId)) .leftJoin(bt).on(b.ID.eq(bt.BOOK_ID)) - .and(readProgressCondition(userId)) .leftJoin(rlb).on(b.ID.eq(rlb.BOOK_ID)) private fun ResultQuery.fetchAndMap() =