Move serializer
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package eventDemo.app.entity
|
||||
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package eventDemo.app.entity
|
||||
|
||||
import eventDemo.configuration.GameIdSerializer
|
||||
import eventDemo.libs.event.AggregateId
|
||||
import eventDemo.shared.GameIdSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package eventDemo.app.entity
|
||||
|
||||
import eventDemo.configuration.PlayerIdSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import eventDemo.libs.event.AggregateId
|
||||
import eventDemo.shared.PlayerIdSerializer
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import io.ktor.server.auth.Principal
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package eventDemo.app.notification
|
||||
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package eventDemo.app.notification
|
||||
|
||||
import eventDemo.app.entity.Player
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package eventDemo.app.notification
|
||||
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package eventDemo.app.notification
|
||||
|
||||
import eventDemo.app.entity.Player
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package eventDemo.app.notification
|
||||
|
||||
import eventDemo.app.entity.Card
|
||||
import eventDemo.app.entity.Player
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package eventDemo.app.notification
|
||||
|
||||
import eventDemo.app.entity.Player
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package eventDemo.app.notification
|
||||
|
||||
import eventDemo.app.entity.Card
|
||||
import eventDemo.app.entity.Player
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package eventDemo.app.notification
|
||||
|
||||
import eventDemo.app.entity.Player
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package eventDemo.app.notification
|
||||
|
||||
import eventDemo.app.entity.Player
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package eventDemo.app.notification
|
||||
|
||||
import eventDemo.app.entity.Card
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package eventDemo.app.notification
|
||||
|
||||
import eventDemo.app.entity.Player
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package eventDemo.app.notification
|
||||
|
||||
import eventDemo.app.entity.Card
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package eventDemo.app.query
|
||||
|
||||
import eventDemo.app.entity.GameId
|
||||
import eventDemo.app.event.projection.GameStateRepository
|
||||
import eventDemo.shared.GameIdSerializer
|
||||
import eventDemo.configuration.GameIdSerializer
|
||||
import io.ktor.http.HttpStatusCode
|
||||
import io.ktor.resources.Resource
|
||||
import io.ktor.server.application.call
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
package eventDemo.configuration
|
||||
|
||||
import eventDemo.app.entity.GameId
|
||||
import eventDemo.shared.GameIdSerializer
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.app.entity.Player
|
||||
import eventDemo.libs.command.CommandId
|
||||
import io.ktor.serialization.kotlinx.json.json
|
||||
import io.ktor.server.application.Application
|
||||
import io.ktor.server.application.install
|
||||
import io.ktor.server.plugins.contentnegotiation.ContentNegotiation
|
||||
import kotlinx.serialization.KSerializer
|
||||
import kotlinx.serialization.descriptors.PrimitiveKind
|
||||
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
|
||||
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||
import kotlinx.serialization.encoding.Decoder
|
||||
import kotlinx.serialization.encoding.Encoder
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.modules.SerializersModule
|
||||
import java.util.UUID
|
||||
@@ -24,3 +30,55 @@ 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 PlayerIdSerializer : KSerializer<Player.PlayerId> {
|
||||
override fun deserialize(decoder: Decoder): Player.PlayerId = Player.PlayerId(UUID.fromString(decoder.decodeString()))
|
||||
|
||||
override fun serialize(
|
||||
encoder: Encoder,
|
||||
value: Player.PlayerId,
|
||||
) {
|
||||
encoder.encodeString(value.id.toString())
|
||||
}
|
||||
|
||||
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("PlayerId", PrimitiveKind.STRING)
|
||||
}
|
||||
|
||||
object GameIdSerializer : KSerializer<GameId> {
|
||||
override fun deserialize(decoder: Decoder): GameId = GameId(UUID.fromString(decoder.decodeString()))
|
||||
|
||||
override fun serialize(
|
||||
encoder: Encoder,
|
||||
value: GameId,
|
||||
) {
|
||||
encoder.encodeString(value.id.toString())
|
||||
}
|
||||
|
||||
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("GameId", PrimitiveKind.STRING)
|
||||
}
|
||||
|
||||
object UUIDSerializer : KSerializer<UUID> {
|
||||
override fun deserialize(decoder: Decoder): UUID = UUID.fromString(decoder.decodeString())
|
||||
|
||||
override fun serialize(
|
||||
encoder: Encoder,
|
||||
value: UUID,
|
||||
) {
|
||||
encoder.encodeString(value.toString())
|
||||
}
|
||||
|
||||
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("UUID", PrimitiveKind.STRING)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package eventDemo.libs.command
|
||||
|
||||
import eventDemo.shared.CommandIdSerializer
|
||||
import eventDemo.configuration.CommandIdSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.util.UUID
|
||||
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
package eventDemo.shared
|
||||
|
||||
import eventDemo.app.entity.GameId
|
||||
import eventDemo.app.entity.Player.PlayerId
|
||||
import eventDemo.libs.command.CommandId
|
||||
import kotlinx.serialization.KSerializer
|
||||
import kotlinx.serialization.descriptors.PrimitiveKind
|
||||
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
|
||||
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||
import kotlinx.serialization.encoding.Decoder
|
||||
import kotlinx.serialization.encoding.Encoder
|
||||
import java.util.UUID
|
||||
|
||||
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 PlayerIdSerializer : KSerializer<PlayerId> {
|
||||
override fun deserialize(decoder: Decoder): PlayerId = PlayerId(UUID.fromString(decoder.decodeString()))
|
||||
|
||||
override fun serialize(
|
||||
encoder: Encoder,
|
||||
value: PlayerId,
|
||||
) {
|
||||
encoder.encodeString(value.id.toString())
|
||||
}
|
||||
|
||||
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("PlayerId", PrimitiveKind.STRING)
|
||||
}
|
||||
|
||||
object GameIdSerializer : KSerializer<GameId> {
|
||||
override fun deserialize(decoder: Decoder): GameId = GameId(UUID.fromString(decoder.decodeString()))
|
||||
|
||||
override fun serialize(
|
||||
encoder: Encoder,
|
||||
value: GameId,
|
||||
) {
|
||||
encoder.encodeString(value.id.toString())
|
||||
}
|
||||
|
||||
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("GameId", PrimitiveKind.STRING)
|
||||
}
|
||||
|
||||
object UUIDSerializer : KSerializer<UUID> {
|
||||
override fun deserialize(decoder: Decoder): UUID = UUID.fromString(decoder.decodeString())
|
||||
|
||||
override fun serialize(
|
||||
encoder: Encoder,
|
||||
value: UUID,
|
||||
) {
|
||||
encoder.encodeString(value.toString())
|
||||
}
|
||||
|
||||
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("UUID", PrimitiveKind.STRING)
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package eventDemo.app.query
|
||||
import eventDemo.app.entity.GameId
|
||||
import eventDemo.shared.GameIdSerializer
|
||||
import eventDemo.shared.UUIDSerializer
|
||||
import eventDemo.configuration.GameIdSerializer
|
||||
import eventDemo.configuration.UUIDSerializer
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
|
||||
import io.ktor.serialization.kotlinx.json.json
|
||||
|
||||
Reference in New Issue
Block a user