add post preview

This commit is contained in:
2021-12-05 19:00:38 +06:00
parent 61496069b7
commit 571f5781d2
11 changed files with 132 additions and 12 deletions
features
common
common
build.gradle
src
commonMain
kotlin
dev
inmo
postssystem
features
posts
client
common
build.gradle
src
commonMain
kotlin
dev
inmo
postssystem
features
posts
common
main
server
mppJavaProject.gradlemppProjectWithSerialization.gradlesettings.gradle

@ -14,6 +14,7 @@ kotlin {
api "dev.inmo:micro_utils.serialization.typed_serializer:$microutils_version"
api "io.insert-koin:koin-core:$koin_version"
api "com.benasher44:uuid:$uuid_version"
api "com.soywiz.korlibs.klock:klock:$klock_version"
}
}
jvmMain {

@ -0,0 +1,23 @@
package dev.inmo.postssystem.features.common.common
import com.soywiz.klock.DateTime
import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializer
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
@Serializer(DateTime::class)
object DateTimeSerializer : KSerializer<DateTime> {
override val descriptor: SerialDescriptor
get() = Double.serializer().descriptor
override fun deserialize(decoder: Decoder): DateTime {
return DateTime(decoder.decodeDouble())
}
override fun serialize(encoder: Encoder, value: DateTime) {
encoder.encodeDouble(value.unixMillis)
}
}