From 84f701c4ab77c86421bb9c8f3148a3eec94293f6 Mon Sep 17 00:00:00 2001 From: abhijeetChawla Date: Sun, 24 Apr 2022 14:13:35 +0530 Subject: [PATCH] add ChapterCount to manga object in categoryMangas endpoint (#349) * adds ChapterCount to the Manga returned when accessing the array of Manga is a category * removed a conflicting expresssion --- .../suwayomi/tachidesk/manga/impl/CategoryManga.kt | 9 ++++++++- .../tachidesk/manga/model/dataclass/MangaDataClass.kt | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/CategoryManga.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/CategoryManga.kt index fb442729..d408570a 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/CategoryManga.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/CategoryManga.kt @@ -70,12 +70,19 @@ object CategoryManga { .slice(ChapterTable.id.count()) .select { (MangaTable.id eq ChapterTable.manga) and (ChapterTable.isDownloaded eq true) } ) + val chapterCountExpression = wrapAsExpression( + ChapterTable + .slice(ChapterTable.id.count()) + .select { (MangaTable.id eq ChapterTable.manga) } + ) - val selectedColumns = MangaTable.columns + unreadExpression + downloadExpression + val selectedColumns = MangaTable.columns + unreadExpression + downloadExpression + chapterCountExpression + val transform: (ResultRow) -> MangaDataClass = { val dataClass = MangaTable.toDataClass(it) dataClass.unreadCount = it[unreadExpression]?.toInt() dataClass.downloadCount = it[downloadExpression]?.toInt() + dataClass.chapterCount = it[chapterCountExpression]?.toInt() dataClass } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/model/dataclass/MangaDataClass.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/model/dataclass/MangaDataClass.kt index 1f895327..3ce843e4 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/model/dataclass/MangaDataClass.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/model/dataclass/MangaDataClass.kt @@ -36,7 +36,8 @@ data class MangaDataClass( val freshData: Boolean = false, var unreadCount: Int? = null, - var downloadCount: Int? = null + var downloadCount: Int? = null, + var chapterCount: Int? = null ) data class PagedMangaListDataClass(