From ef84220cbc35e1c30ca7041f22f4df35d87e46cd Mon Sep 17 00:00:00 2001 From: Michael Rittmeister Date: Thu, 28 Dec 2023 18:22:03 +0100 Subject: [PATCH] Fix launch exception --- build.gradle.kts | 2 +- .../src/jvmMain/kotlin/dev/schlaubi/tonbrett/common/Id.kt | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index df5ea3a..33ca0f1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { allprojects { group = "dev.schlaubi.tonbrett" - version = "1.18.5" + version = "1.18.6" repositories { mavenCentral() diff --git a/common/src/jvmMain/kotlin/dev/schlaubi/tonbrett/common/Id.kt b/common/src/jvmMain/kotlin/dev/schlaubi/tonbrett/common/Id.kt index c44b57a..98cdb38 100644 --- a/common/src/jvmMain/kotlin/dev/schlaubi/tonbrett/common/Id.kt +++ b/common/src/jvmMain/kotlin/dev/schlaubi/tonbrett/common/Id.kt @@ -9,6 +9,8 @@ import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor import kotlinx.serialization.descriptors.SerialDescriptor import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder +import kotlinx.serialization.json.JsonDecoder +import kotlinx.serialization.json.JsonEncoder import org.bson.types.ObjectId import org.litote.kmongo.id.toId import org.litote.kmongo.toId @@ -34,7 +36,7 @@ public object IdSerializer : KSerializer> { PrimitiveSerialDescriptor("MongoID", PrimitiveKind.STRING) override fun deserialize(decoder: Decoder): Id<*> { - return if (decoder is BsonFlexibleDecoder) { + return if (decoder !is JsonDecoder && decoder is BsonFlexibleDecoder) { WrappedId(decoder.reader.readObjectId().toId()) } else { WrappedId(decoder.decodeString().toId()) @@ -42,7 +44,7 @@ public object IdSerializer : KSerializer> { } override fun serialize(encoder: Encoder, value: Id<*>): Unit = - if (encoder is BsonEncoder) { + if (encoder !is JsonEncoder && encoder is BsonEncoder) { val objectId = ObjectId(value.toString()) encoder.encodeObjectId(objectId) } else {