This commit is contained in:
bskjon 2025-03-15 02:30:39 +01:00
parent 66742304a9
commit 364ce23892
2 changed files with 10 additions and 3 deletions

View File

@ -30,7 +30,6 @@ enum class Events {
CoverDownloaded, CoverDownloaded,
PersistContent, PersistContent,
ProcessCompleted, ProcessCompleted,
Unknown Unknown
; ;
@ -68,7 +67,7 @@ fun Events.toEventClass(): Class<out Event> {
Events.PersistContent -> PersistedContentEvent::class.java Events.PersistContent -> PersistedContentEvent::class.java
Events.ProcessCompleted -> MediaProcessCompletedEvent::class.java Events.ProcessCompleted -> MediaProcessCompletedEvent::class.java
else -> Event::class.java else -> UnknownEvent::class.java
} }
} }
@ -121,7 +120,7 @@ object EventJson {
// 🔥 Finn riktig klasse basert på eventType (som kommer eksternt fra databasen) // 🔥 Finn riktig klasse basert på eventType (som kommer eksternt fra databasen)
val eventClass = eventType.toEventClass() val eventClass = eventType.toEventClass()
if (eventClass.simpleName == Event::class.java.simpleName || eventType == Events.Unknown) { if (eventType == Events.Unknown || eventClass.simpleName == Event::class.java.simpleName) {
val fallbackGson = GsonBuilder() val fallbackGson = GsonBuilder()
.registerTypeAdapter(LocalDateTime::class.java, LocalDateTimeAdapter()) .registerTypeAdapter(LocalDateTime::class.java, LocalDateTimeAdapter())
.create() .create()

View File

@ -1,12 +1,20 @@
package no.iktdev.mediaprocessing.shared.common.contract.data package no.iktdev.mediaprocessing.shared.common.contract.data
import no.iktdev.eventi.data.EventImpl import no.iktdev.eventi.data.EventImpl
import no.iktdev.eventi.data.EventMetadata
import no.iktdev.mediaprocessing.shared.common.contract.Events import no.iktdev.mediaprocessing.shared.common.contract.Events
abstract class Event: EventImpl() { abstract class Event: EventImpl() {
abstract override val eventType: Events abstract override val eventType: Events
} }
data class UnknownEvent(
override val metadata: EventMetadata,
override val eventType: Events = Events.Unknown,
override val data: Any? = null,
): Event() {
}
inline fun <reified T: Event> Event.az(): T? { inline fun <reified T: Event> Event.az(): T? {
return if (this !is T) { return if (this !is T) {
System.err.println("${this::class.java.name} is not a type of ${T::class.java.name}") System.err.println("${this::class.java.name} is not a type of ${T::class.java.name}")