@@ -44,6 +44,7 @@ import suwayomi.tachidesk.graphql.server.primitives.lessNotUnique
44
44
import suwayomi.tachidesk.graphql.server.primitives.maybeSwap
45
45
import suwayomi.tachidesk.graphql.types.MangaNodeList
46
46
import suwayomi.tachidesk.graphql.types.MangaType
47
+ import suwayomi.tachidesk.manga.model.table.CategoryMangaTable
47
48
import suwayomi.tachidesk.manga.model.table.MangaStatus
48
49
import suwayomi.tachidesk.manga.model.table.MangaTable
49
50
import java.util.concurrent.CompletableFuture
@@ -110,6 +111,7 @@ class MangaQuery {
110
111
val realUrl : String? = null ,
111
112
val lastFetchedAt : Long? = null ,
112
113
val chaptersLastFetchedAt : Long? = null ,
114
+ val categoryIds : List <Int >? = null ,
113
115
) : HasGetOp {
114
116
override fun getOp (): Op <Boolean >? {
115
117
val opAnd = OpAnd ()
@@ -129,6 +131,7 @@ class MangaQuery {
129
131
opAnd.eq(realUrl, MangaTable .realUrl)
130
132
opAnd.eq(lastFetchedAt, MangaTable .lastFetchedAt)
131
133
opAnd.eq(chaptersLastFetchedAt, MangaTable .chaptersLastFetchedAt)
134
+ opAnd.inList(categoryIds, CategoryMangaTable .category)
132
135
133
136
return opAnd.op
134
137
}
@@ -179,6 +182,7 @@ class MangaQuery {
179
182
val realUrl : StringFilter ? = null ,
180
183
val lastFetchedAt : LongFilter ? = null ,
181
184
val chaptersLastFetchedAt : LongFilter ? = null ,
185
+ val categoryId : IntFilter ? = null ,
182
186
override val and : List <MangaFilter >? = null ,
183
187
override val or : List <MangaFilter >? = null ,
184
188
override val not : MangaFilter ? = null ,
@@ -200,6 +204,7 @@ class MangaQuery {
200
204
andFilterWithCompareString(MangaTable .realUrl, realUrl),
201
205
andFilterWithCompare(MangaTable .lastFetchedAt, lastFetchedAt),
202
206
andFilterWithCompare(MangaTable .chaptersLastFetchedAt, chaptersLastFetchedAt),
207
+ andFilterWithCompareEntity(CategoryMangaTable .category, categoryId),
203
208
)
204
209
}
205
210
}
@@ -217,7 +222,7 @@ class MangaQuery {
217
222
): MangaNodeList {
218
223
val queryResults =
219
224
transaction {
220
- val res = MangaTable .selectAll()
225
+ val res = MangaTable .leftJoin( CategoryMangaTable ). selectAll()
221
226
222
227
res.applyOps(condition, filter)
223
228
0 commit comments