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) + } +}