feat: BAC-30 Implement Jackson Mapping via DTOs (#102)
Reviewed-on: #102 Co-authored-by: Janis <janis.e.20@gmx.de> Co-committed-by: Janis <janis.e.20@gmx.de>
This commit is contained in:
19
knockoutwhistweb/app/dto/subDTO/PlayerQueueDTO.scala
Normal file
19
knockoutwhistweb/app/dto/subDTO/PlayerQueueDTO.scala
Normal 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)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user