Fixed Projection
This commit is contained in:
parent
c0de46b41a
commit
29923771fd
@ -16,12 +16,11 @@ class TaskProjection(val events: List<Event>) {
|
|||||||
val createdEvent = events.getInstancesOf<C>().ifEmpty { return TaskStatus.NotInitiated }
|
val createdEvent = events.getInstancesOf<C>().ifEmpty { return TaskStatus.NotInitiated }
|
||||||
val resultEvent = events.getInstancesOf<R>().ifEmpty { return TaskStatus.Pending }
|
val resultEvent = events.getInstancesOf<R>().ifEmpty { return TaskStatus.Pending }
|
||||||
|
|
||||||
if (resultEvent.size != createdEvent.size) return TaskStatus.Pending
|
|
||||||
|
|
||||||
val created = createdIds(createdEvent)
|
val created = createdIds(createdEvent)
|
||||||
val results = resultIds(resultEvent)
|
val results = resultIds(resultEvent)
|
||||||
|
|
||||||
if (!created.all { it in results }) return TaskStatus.Pending
|
val taskIds = results.filter { it in created }
|
||||||
|
if (!taskIds.containsAll(created) || taskIds.size != created.size) return TaskStatus.Pending
|
||||||
if (resultEvent.any { resultStatus(it) == no.iktdev.eventi.models.store.TaskStatus.Failed }) return TaskStatus.Failed
|
if (resultEvent.any { resultStatus(it) == no.iktdev.eventi.models.store.TaskStatus.Failed }) return TaskStatus.Failed
|
||||||
|
|
||||||
return TaskStatus.Completed
|
return TaskStatus.Completed
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user