diff --git a/Sources/src/main/kotlin/allin/model/Bet.kt b/Sources/src/main/kotlin/allin/model/Bet.kt index 2e8fec0..e088e2b 100644 --- a/Sources/src/main/kotlin/allin/model/Bet.kt +++ b/Sources/src/main/kotlin/allin/model/Bet.kt @@ -1,5 +1,6 @@ package allin.model +import allin.serializer.UUIDSerializer import allin.serializer.ZonedDateTimeSerializer import kotlinx.serialization.Serializable import java.time.ZonedDateTime diff --git a/Sources/src/main/kotlin/allin/serializer/DateSerializer.kt b/Sources/src/main/kotlin/allin/serializer/DateSerializer.kt index a1262a6..febe993 100644 --- a/Sources/src/main/kotlin/allin/serializer/DateSerializer.kt +++ b/Sources/src/main/kotlin/allin/serializer/DateSerializer.kt @@ -16,7 +16,7 @@ import java.time.format.DateTimeFormatter @Serializer(ZonedDateTime::class) object ZonedDateTimeSerializer : KSerializer { - private val formatter: DateTimeFormatter = DateTimeFormatter.ISO_ZONED_DATE_TIME + private val formatter: DateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z") override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("ZonedDateTime", PrimitiveKind.STRING) @@ -29,11 +29,4 @@ object ZonedDateTimeSerializer : KSerializer { val dateString = decoder.decodeString() return ZonedDateTime.parse(dateString, formatter) } - fun convertTimestampToZonedDateTime(ts: Instant?): ZonedDateTime { - - println(ts.toString()) - - val zoneId = ZoneId.of("Asia/Kolkata") - return ZonedDateTime.ofInstant(ts, zoneId) - } } diff --git a/Sources/src/main/kotlin/allin/serializer/UUIDSerializer.kt b/Sources/src/main/kotlin/allin/serializer/UUIDSerializer.kt new file mode 100644 index 0000000..4bd17fb --- /dev/null +++ b/Sources/src/main/kotlin/allin/serializer/UUIDSerializer.kt @@ -0,0 +1,20 @@ +package allin.serializer + +import kotlinx.serialization.KSerializer +import kotlinx.serialization.descriptors.PrimitiveKind +import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor +import kotlinx.serialization.encoding.Decoder +import kotlinx.serialization.encoding.Encoder +import java.util.* + +object UUIDSerializer : KSerializer { + override val descriptor = PrimitiveSerialDescriptor("UUID", PrimitiveKind.STRING) + + override fun deserialize(decoder: Decoder): UUID { + return UUID.fromString(decoder.decodeString()) + } + + override fun serialize(encoder: Encoder, value: UUID) { + encoder.encodeString(value.toString()) + } +} \ No newline at end of file