Rouge event + flow block
This commit is contained in:
parent
089406962b
commit
807b39f24d
@ -54,7 +54,7 @@ class MediaCreateConvertTaskListener: EventListener() {
|
||||
).derivedOf(event)
|
||||
TaskStore.persist(convertTask)
|
||||
|
||||
return ConvertTaskCreatedEvent(convertTask.taskId)
|
||||
return ConvertTaskCreatedEvent(convertTask.taskId).derivedOf(event)
|
||||
|
||||
}
|
||||
}
|
||||
@ -5,12 +5,12 @@ import no.iktdev.eventi.events.EventListener
|
||||
import no.iktdev.eventi.models.Event
|
||||
import no.iktdev.mediaprocessing.coordinator.CoordinatorEnv
|
||||
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.CollectedEvent
|
||||
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.ManualAllowCompletionEvent
|
||||
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.MigrateContentToStoreTaskCreatedEvent
|
||||
import no.iktdev.mediaprocessing.shared.common.event_task_contract.tasks.MigrateToContentStoreTask
|
||||
import no.iktdev.mediaprocessing.shared.common.projection.CollectProjection
|
||||
import no.iktdev.mediaprocessing.shared.common.projection.MigrateContentProject
|
||||
import no.iktdev.mediaprocessing.shared.database.stores.TaskStore
|
||||
|
||||
import org.springframework.stereotype.Component
|
||||
|
||||
@Component
|
||||
@ -23,7 +23,17 @@ class MigrateCreateStoreTaskListener(
|
||||
event: Event,
|
||||
history: List<Event>
|
||||
): Event? {
|
||||
val useEvent = event as? CollectedEvent ?: return null
|
||||
|
||||
if (event !is CollectedEvent && event !is ManualAllowCompletionEvent)
|
||||
return null
|
||||
|
||||
val useEvent = if (event is ManualAllowCompletionEvent) {
|
||||
history.lastOrNull { it is CollectedEvent } as? CollectedEvent
|
||||
?: return null
|
||||
} else {
|
||||
event as CollectedEvent
|
||||
}
|
||||
|
||||
val useHistory = history.filter { useEvent.eventIds.contains(it.eventId) }
|
||||
|
||||
val collectProjection = CollectProjection(useHistory)
|
||||
@ -55,6 +65,13 @@ class MigrateCreateStoreTaskListener(
|
||||
)
|
||||
).derivedOf(event)
|
||||
|
||||
|
||||
if (!collectProjection.canStoreAutomatically()) {
|
||||
log.info { "Not storing content and metadata automatically for collection: $collection @ ${useEvent.referenceId}" }
|
||||
log.info { "A manual allow completion event is required to proceed." }
|
||||
return null
|
||||
}
|
||||
|
||||
TaskStore.persist(storeTask)
|
||||
|
||||
return MigrateContentToStoreTaskCreatedEvent(storeTask.taskId)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user