feat(api): Enhance event mappers to include GameLobby in JSON serialization

This commit is contained in:
2025-11-24 14:31:17 +01:00
parent 5136d14522
commit 3262ccfc06
6 changed files with 26 additions and 14 deletions

View File

@@ -1,13 +1,14 @@
package util.mapper
import de.knockoutwhist.events.player.ReceivedHandEvent
import logic.game.GameLobby
import play.api.libs.json.{JsArray, JsObject, Json}
import util.WebUIUtils
object ReceivedHandEventMapper extends SimpleEventMapper[ReceivedHandEvent] {
override def id: String = "ReceivedHandEvent"
override def toJson(event: ReceivedHandEvent): JsObject = {
override def toJson(event: ReceivedHandEvent, gameLobby: GameLobby): JsObject = {
Json.obj(
"dog" -> event.player.isInDogLife,
"hand" -> event.player.currentHand().map(hand => WebUIUtils.handToJson(hand))

View File

@@ -1,11 +1,12 @@
package util.mapper
import de.knockoutwhist.utils.events.SimpleEvent
import logic.game.GameLobby
import play.api.libs.json.JsObject
trait SimpleEventMapper[T <: SimpleEvent] {
def id: String
def toJson(event: T): JsObject
def toJson(event: T, gameLobby: GameLobby): JsObject
}