diff --git a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/CoordinatorApplication.kt b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/CoordinatorApplication.kt index 5f50faf3..12b6f25b 100644 --- a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/CoordinatorApplication.kt +++ b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/CoordinatorApplication.kt @@ -7,10 +7,7 @@ import no.iktdev.exfl.observable.Observables import no.iktdev.mediaprocessing.shared.common.DatabaseEnvConfig import no.iktdev.mediaprocessing.shared.common.SharedConfig import no.iktdev.mediaprocessing.shared.common.datasource.MySqlDataSource -import no.iktdev.mediaprocessing.shared.common.persistance.PersistentDataReader -import no.iktdev.mediaprocessing.shared.common.persistance.PersistentDataStore -import no.iktdev.mediaprocessing.shared.common.persistance.PersistentEventManager -import no.iktdev.mediaprocessing.shared.common.persistance.events +import no.iktdev.mediaprocessing.shared.common.persistance.* import no.iktdev.mediaprocessing.shared.common.toEventsDatabase import no.iktdev.mediaprocessing.shared.common.toStoredDatabase import no.iktdev.mediaprocessing.shared.kafka.core.KafkaEnv @@ -68,6 +65,7 @@ fun main(args: Array) { val kafkaTables = listOf( events, // For kafka + allEvents ) diff --git a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/event/BaseInfoFromFile.kt b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/event/BaseInfoFromFile.kt index 136b53e9..2401a636 100644 --- a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/event/BaseInfoFromFile.kt +++ b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/event/BaseInfoFromFile.kt @@ -46,6 +46,7 @@ class BaseInfoFromFile(@Autowired override var coordinator: Coordinator) : TaskC Status.COMPLETED, title = fileNameParser.guessDesiredTitle(), sanitizedName = fileNameParser.guessDesiredFileName(), + searchTitles = fileNameParser.guessSearchableTitle(), derivedFromEventId = eventId ) } catch (e: Exception) { diff --git a/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/PersistentEventManager.kt b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/PersistentEventManager.kt index de49e0b3..5277440e 100644 --- a/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/PersistentEventManager.kt +++ b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/PersistentEventManager.kt @@ -184,6 +184,14 @@ class PersistentEventManager(private val dataSource: DataSource) { it[integrity] = getIntegrityOfData(message.dataAsJson()) it[data] = message.dataAsJson() } + + allEvents.insert { + it[referenceId] = message.referenceId + it[eventId] = message.eventId + it[events.event] = event.event + it[integrity] = getIntegrityOfData(message.dataAsJson()) + it[data] = message.dataAsJson() + } } val success = if (exception != null) { if (exception.isExposedSqlException()) { diff --git a/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/allEvents.kt b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/allEvents.kt new file mode 100644 index 00000000..eda14e5d --- /dev/null +++ b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/allEvents.kt @@ -0,0 +1,17 @@ +package no.iktdev.mediaprocessing.shared.common.persistance + +import org.jetbrains.exposed.dao.id.IntIdTable +import org.jetbrains.exposed.sql.Column +import org.jetbrains.exposed.sql.javatime.CurrentDateTime +import org.jetbrains.exposed.sql.javatime.datetime +import java.time.LocalDateTime + +object allEvents: IntIdTable() { + val referenceId: Column = varchar("referenceId", 50) + val eventId: Column = varchar("eventId", 50) + val event: Column = varchar("event",100) + val data: Column = text("data") + val integrity: Column = varchar("integrity", 100) + //val success: Column = bool("success").default(false) + val created: Column = datetime("created").defaultExpression(CurrentDateTime) +} \ No newline at end of file diff --git a/shared/kafka/src/main/kotlin/no/iktdev/mediaprocessing/shared/kafka/dto/events_result/BaseInfoPerformed.kt b/shared/kafka/src/main/kotlin/no/iktdev/mediaprocessing/shared/kafka/dto/events_result/BaseInfoPerformed.kt index 7efc60fc..207c5c3c 100644 --- a/shared/kafka/src/main/kotlin/no/iktdev/mediaprocessing/shared/kafka/dto/events_result/BaseInfoPerformed.kt +++ b/shared/kafka/src/main/kotlin/no/iktdev/mediaprocessing/shared/kafka/dto/events_result/BaseInfoPerformed.kt @@ -10,6 +10,7 @@ data class BaseInfoPerformed( override val status: Status, val title: String, val sanitizedName: String, + val searchTitles: List = emptyList(), override val derivedFromEventId: String ) : MessageDataWrapper(status = status, derivedFromEventId = derivedFromEventId)