From b661f196bc1ba2ed65db6140950630448610a151 Mon Sep 17 00:00:00 2001 From: Thibault Duplessis Date: Sat, 10 Dec 2016 12:58:29 +0100 Subject: [PATCH] better pool json --- app/controllers/Lobby.scala | 4 +--- modules/api/src/main/LobbyApi.scala | 11 ++--------- modules/pool/src/main/JsonView.scala | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 12 deletions(-) create mode 100644 modules/pool/src/main/JsonView.scala diff --git a/app/controllers/Lobby.scala b/app/controllers/Lobby.scala index 65c4e46417..b108afd109 100644 --- a/app/controllers/Lobby.scala +++ b/app/controllers/Lobby.scala @@ -15,9 +15,7 @@ object Lobby extends LilaController { private val lobbyJson = Json.obj( "lobby" -> Json.obj( "version" -> 0, - "pool" -> Json.obj( - "list" -> lila.pool.PoolList.all.map(_.clock.show) - ) + "pools" -> Env.api.lobbyApi.poolsJson ) ) diff --git a/modules/api/src/main/LobbyApi.scala b/modules/api/src/main/LobbyApi.scala index 9b41f77999..af71c41f6f 100644 --- a/modules/api/src/main/LobbyApi.scala +++ b/modules/api/src/main/LobbyApi.scala @@ -16,16 +16,9 @@ final class LobbyApi( pools: List[lila.pool.PoolConfig]) { import makeTimeout.large + import lila.pool.JsonView._ - private val poolsJson = JsArray { - pools.map { p => - Json.obj( - "id" -> p.id.value, - "lim" -> p.clock.limitInMinutes, - "inc" -> p.clock.increment, - "perf" -> p.perfType.name) - } - } + val poolsJson = Json toJson pools def apply(implicit ctx: Context): Fu[JsObject] = ctx.me.fold(seekApi.forAnon)(seekApi.forUser) zip diff --git a/modules/pool/src/main/JsonView.scala b/modules/pool/src/main/JsonView.scala new file mode 100644 index 0000000000..4a6eab2610 --- /dev/null +++ b/modules/pool/src/main/JsonView.scala @@ -0,0 +1,14 @@ +package lila.pool + +import play.api.libs.json._ + +object JsonView { + + implicit val poolConfigJsonWriter = OWrites[PoolConfig] { p => + Json.obj( + "id" -> p.id.value, + "lim" -> p.clock.limitInMinutes, + "inc" -> p.clock.increment, + "perf" -> p.perfType.name) + } +}