Query changes
This commit is contained in:
parent
49a3002259
commit
a782ad4f8a
@ -1,16 +1,34 @@
|
||||
package no.iktdev.mediaprocessing.shared.common.dto
|
||||
|
||||
import org.springframework.util.LinkedMultiValueMap
|
||||
import org.springframework.util.MultiValueMap
|
||||
import java.time.Instant
|
||||
|
||||
data class EventQuery(
|
||||
val referenceId: String? = null,
|
||||
val eventId: String? = null,
|
||||
val event: String? = null,
|
||||
val from: Instant? = null,
|
||||
val to: Instant? = null,
|
||||
override val sort: String = "persistedAt",
|
||||
override val order: Sort = Sort.DESC,
|
||||
override val page: Int = 0,
|
||||
override val pageSize: Int = 50
|
||||
) : PagedQuery
|
||||
override val pageSize: Int = 50,
|
||||
override val key: String?
|
||||
) : PagedQuery {
|
||||
|
||||
fun toQueryParams(): MultiValueMap<String, String> {
|
||||
val params = LinkedMultiValueMap<String, String>()
|
||||
key?.let { params.add("key", it) }
|
||||
referenceId?.let { params.add("referenceId", it) }
|
||||
eventId?.let { params.add("eventId", it) }
|
||||
from?.let { params.add("from", it.toString()) }
|
||||
to?.let { params.add("to", it.toString()) }
|
||||
params.add("sort", sort)
|
||||
params.add("order", order.name)
|
||||
params.add("page", page.toString())
|
||||
params.add("pageSize", pageSize.toString())
|
||||
|
||||
return params
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -5,4 +5,5 @@ interface PagedQuery {
|
||||
val pageSize: Int
|
||||
val sort: String
|
||||
val order: Sort
|
||||
val key: String?
|
||||
}
|
||||
|
||||
@ -14,11 +14,13 @@ data class TaskQuery(
|
||||
override val sort: String = "persistedAt",
|
||||
override val order: Sort = Sort.DESC,
|
||||
override val page: Int = 0,
|
||||
override val pageSize: Int = 50
|
||||
override val pageSize: Int = 50,
|
||||
override val key: String? = null
|
||||
): PagedQuery {
|
||||
fun toQueryParams(): MultiValueMap<String, String> {
|
||||
val params = LinkedMultiValueMap<String, String>()
|
||||
|
||||
key?.let { params.add("key", it) }
|
||||
status?.forEach { params.add("status", it) }
|
||||
claimed?.let { params.add("claimed", it.toString()) }
|
||||
consumed?.let { params.add("consumed", it.toString()) }
|
||||
|
||||
@ -37,7 +37,7 @@ object EventStore: EventStore {
|
||||
where { EventsTable.eventId like "%$id%" }
|
||||
}
|
||||
|
||||
query.event?.let { ev ->
|
||||
query.key?.let { ev ->
|
||||
where { EventsTable.event like "%$ev%" }
|
||||
}
|
||||
|
||||
|
||||
@ -36,7 +36,9 @@ object TaskStore: TaskStore {
|
||||
val enums = statuses.map { TaskStatus.valueOf(it) }
|
||||
where { TasksTable.status inList enums }
|
||||
}
|
||||
|
||||
query.key?.let { k ->
|
||||
where { TasksTable.task like "%$k%" }
|
||||
}
|
||||
query.claimed?.let { where { TasksTable.claimed eq it } }
|
||||
query.consumed?.let { where { TasksTable.consumed eq it } }
|
||||
query.referenceId?.let { where { TasksTable.referenceId like "%$it%" } }
|
||||
|
||||
Loading…
Reference in New Issue
Block a user