feat: BAC-30 Implement Jackson Mapping via DTOs

This commit is contained in:
2025-12-06 10:15:59 +01:00
parent b9e60b5d4a
commit a8ccebb504
16 changed files with 240 additions and 70 deletions

View File

@@ -0,0 +1,19 @@
package dto.subDTO
import de.knockoutwhist.control.GameLogic
case class PlayerQueueDTO(currentPlayer: Option[PlayerDTO], queue: Seq[PlayerDTO])
object PlayerQueueDTO {
def apply(logic: GameLogic): PlayerQueueDTO = {
val currentPlayerDTO = logic.getCurrentPlayer.map(PlayerDTO(_))
val queueDTO = logic.getPlayerQueue.map(_.duplicate().flatMap(player => Some(PlayerDTO(player))).toSeq)
if (queueDTO.isEmpty) {
PlayerQueueDTO(currentPlayerDTO, Seq.empty)
} else {
PlayerQueueDTO(currentPlayerDTO, queueDTO.get)
}
}
}