Finding tasks by referenceId

This commit is contained in:
Brage Skjønborg 2025-11-09 10:10:59 +01:00
parent fe09a3de19
commit a4caf711b9
2 changed files with 4 additions and 3 deletions

View File

@ -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

View File

@ -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 }