diff --git a/modules/store/src/main/scala/de/nowchess/store/config/GameWritebackEventDtoMixin.scala b/modules/store/src/main/scala/de/nowchess/store/config/GameWritebackEventDtoMixin.scala new file mode 100644 index 0000000..eb446dc --- /dev/null +++ b/modules/store/src/main/scala/de/nowchess/store/config/GameWritebackEventDtoMixin.scala @@ -0,0 +1,10 @@ +package de.nowchess.store.config + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize + +abstract class GameWritebackEventDtoMixin: + @JsonDeserialize(contentAs = classOf[java.lang.Long]) val whiteRemainingMs: Option[Long] + @JsonDeserialize(contentAs = classOf[java.lang.Long]) val blackRemainingMs: Option[Long] + @JsonDeserialize(contentAs = classOf[java.lang.Long]) val incrementMs: Option[Long] + @JsonDeserialize(contentAs = classOf[java.lang.Long]) val clockLastTickAt: Option[Long] + @JsonDeserialize(contentAs = classOf[java.lang.Long]) val clockMoveDeadline: Option[Long] diff --git a/modules/store/src/main/scala/de/nowchess/store/config/JacksonConfig.scala b/modules/store/src/main/scala/de/nowchess/store/config/JacksonConfig.scala index 5042bb2..d0d2f7a 100644 --- a/modules/store/src/main/scala/de/nowchess/store/config/JacksonConfig.scala +++ b/modules/store/src/main/scala/de/nowchess/store/config/JacksonConfig.scala @@ -3,6 +3,7 @@ package de.nowchess.store.config import com.fasterxml.jackson.core.Version import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.module.scala.DefaultScalaModule +import de.nowchess.api.dto.GameWritebackEventDto import io.quarkus.jackson.ObjectMapperCustomizer import jakarta.inject.Singleton @@ -15,3 +16,4 @@ class JacksonConfig extends ObjectMapperCustomizer: new Version(2, 21, 1, null, "com.fasterxml.jackson.module", "jackson-module-scala") // scalafix:on DisableSyntax.null }) + mapper.addMixIn(classOf[GameWritebackEventDto], classOf[GameWritebackEventDtoMixin])