Adds extension possibility to Quartz's event factory

This commit is contained in:
Vitor Pamplona 2024-08-05 16:57:21 -04:00
parent 4c70065843
commit 971c92b27a

View File

@ -24,6 +24,11 @@ import com.vitorpamplona.quartz.encoders.toHexKey
class EventFactory {
companion object {
val additionalFactories =
mutableMapOf(
WikiNoteEvent.KIND to ::WikiNoteEvent,
)
fun create(
id: String,
pubKey: String,
@ -141,7 +146,13 @@ class EventFactory {
VideoVerticalEvent.KIND -> VideoVerticalEvent(id, pubKey, createdAt, tags, content, sig)
VideoViewEvent.KIND -> VideoViewEvent(id, pubKey, createdAt, tags, content, sig)
WikiNoteEvent.KIND -> WikiNoteEvent(id, pubKey, createdAt, tags, content, sig)
else -> Event(id, pubKey, createdAt, kind, tags, content, sig)
else -> {
additionalFactories[kind]?.let {
return it(id, pubKey, createdAt, tags, content, sig)
}
Event(id, pubKey, createdAt, kind, tags, content, sig)
}
}
}
}