@@ -44,6 +44,7 @@ import suwayomi.tachidesk.graphql.server.primitives.lessNotUnique
4444import suwayomi.tachidesk.graphql.server.primitives.maybeSwap
4545import suwayomi.tachidesk.graphql.types.MangaNodeList
4646import suwayomi.tachidesk.graphql.types.MangaType
47+ import suwayomi.tachidesk.manga.model.table.CategoryMangaTable
4748import suwayomi.tachidesk.manga.model.table.MangaStatus
4849import suwayomi.tachidesk.manga.model.table.MangaTable
4950import java.util.concurrent.CompletableFuture
@@ -110,6 +111,7 @@ class MangaQuery {
110111 val realUrl : String? = null ,
111112 val lastFetchedAt : Long? = null ,
112113 val chaptersLastFetchedAt : Long? = null ,
114+ val categoryIds : List <Int >? = null ,
113115 ) : HasGetOp {
114116 override fun getOp (): Op <Boolean >? {
115117 val opAnd = OpAnd ()
@@ -129,6 +131,7 @@ class MangaQuery {
129131 opAnd.eq(realUrl, MangaTable .realUrl)
130132 opAnd.eq(lastFetchedAt, MangaTable .lastFetchedAt)
131133 opAnd.eq(chaptersLastFetchedAt, MangaTable .chaptersLastFetchedAt)
134+ opAnd.inList(categoryIds, CategoryMangaTable .category)
132135
133136 return opAnd.op
134137 }
@@ -179,6 +182,7 @@ class MangaQuery {
179182 val realUrl : StringFilter ? = null ,
180183 val lastFetchedAt : LongFilter ? = null ,
181184 val chaptersLastFetchedAt : LongFilter ? = null ,
185+ val categoryId : IntFilter ? = null ,
182186 override val and : List <MangaFilter >? = null ,
183187 override val or : List <MangaFilter >? = null ,
184188 override val not : MangaFilter ? = null ,
@@ -201,6 +205,7 @@ class MangaQuery {
201205 andFilterWithCompareString(MangaTable .realUrl, realUrl),
202206 andFilterWithCompare(MangaTable .lastFetchedAt, lastFetchedAt),
203207 andFilterWithCompare(MangaTable .chaptersLastFetchedAt, chaptersLastFetchedAt),
208+ andFilterWithCompareEntity(CategoryMangaTable .category, categoryId),
204209 )
205210 }
206211 }
@@ -218,7 +223,7 @@ class MangaQuery {
218223 ): MangaNodeList {
219224 val queryResults =
220225 transaction {
221- val res = MangaTable .selectAll()
226+ val res = MangaTable .leftJoin( CategoryMangaTable ). selectAll()
222227
223228 res.applyOps(condition, filter)
224229
0 commit comments