create CommandStream and first Command

This commit is contained in:
2024-02-29 01:29:08 +01:00
parent 8beb66d8dc
commit 53cc961c62
12 changed files with 233 additions and 7 deletions

View File

@@ -1,5 +1,6 @@
package eventDemo.plugins
import eventDemo.app.CommandId
import eventDemo.app.GameId
import io.ktor.serialization.kotlinx.json.json
import io.ktor.server.application.Application
@@ -28,6 +29,19 @@ fun Application.configureSerialization() {
}
}
object CommandIdSerializer : KSerializer<CommandId> {
override fun deserialize(decoder: Decoder): CommandId = CommandId(decoder.decodeString())
override fun serialize(
encoder: Encoder,
value: CommandId,
) {
encoder.encodeString(value.toString())
}
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("CommandId", PrimitiveKind.STRING)
}
object GameIdSerializer : KSerializer<GameId> {
override fun deserialize(decoder: Decoder): GameId = GameId(UUID.fromString(decoder.decodeString()))