Finding tasks by referenceId
This commit is contained in:
parent
fe09a3de19
commit
a4caf711b9
@ -9,7 +9,7 @@ interface TaskStore {
|
|||||||
fun persist(task: Task)
|
fun persist(task: Task)
|
||||||
|
|
||||||
fun findByTaskId(taskId: UUID): PersistedTask?
|
fun findByTaskId(taskId: UUID): PersistedTask?
|
||||||
fun findByEventId(eventId: UUID): List<PersistedTask>
|
fun findByReferenceId(referenceId: UUID): List<PersistedTask>
|
||||||
fun findUnclaimed(referenceId: UUID): List<PersistedTask>
|
fun findUnclaimed(referenceId: UUID): List<PersistedTask>
|
||||||
|
|
||||||
fun claim(taskId: UUID, workerId: String): Boolean
|
fun claim(taskId: UUID, workerId: String): Boolean
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import no.iktdev.eventi.stores.TaskStore
|
|||||||
import java.time.Duration
|
import java.time.Duration
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
import kotlin.concurrent.atomics.AtomicReference
|
||||||
|
|
||||||
open class InMemoryTaskStore : TaskStore {
|
open class InMemoryTaskStore : TaskStore {
|
||||||
private val tasks = mutableListOf<PersistedTask>()
|
private val tasks = mutableListOf<PersistedTask>()
|
||||||
@ -20,8 +21,8 @@ open class InMemoryTaskStore : TaskStore {
|
|||||||
|
|
||||||
override fun findByTaskId(taskId: UUID) = tasks.find { it.taskId == taskId }
|
override fun findByTaskId(taskId: UUID) = tasks.find { it.taskId == taskId }
|
||||||
|
|
||||||
override fun findByEventId(eventId: UUID) =
|
override fun findByReferenceId(referenceId: UUID) =
|
||||||
tasks.filter { it.data.contains(eventId.toString()) }
|
tasks.filter { it.referenceId == referenceId }
|
||||||
|
|
||||||
override fun findUnclaimed(referenceId: UUID) =
|
override fun findUnclaimed(referenceId: UUID) =
|
||||||
tasks.filter { it.referenceId == referenceId && !it.claimed && !it.consumed }
|
tasks.filter { it.referenceId == referenceId && !it.claimed && !it.consumed }
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user