This commit is contained in:
Thibault Duplessis 2016-02-29 09:45:02 +07:00
parent 53278a4a27
commit 32d1eca2e4
2 changed files with 6 additions and 6 deletions

View file

@ -1,6 +1,6 @@
package controllers package controllers
import play.api.libs.json.Json import play.api.libs.json._
import play.api.mvc._, Results._ import play.api.mvc._, Results._
import lila.api.{ Context, BodyContext } import lila.api.{ Context, BodyContext }
@ -147,7 +147,7 @@ object User extends LilaController {
nbDay = nbDay, nbDay = nbDay,
nbAllTime = nbAllTime))), nbAllTime = nbAllTime))),
api = _ => fuccess { api = _ => fuccess {
import lila.user.JsonView.lightPerfWrites implicit val lpWrites = OWrites[UserModel.LightPerf](env.jsonView.lightPerfIsOnline)
Ok(Json.obj( Ok(Json.obj(
"bullet" -> leaderboards.bullet, "bullet" -> leaderboards.bullet,
"blitz" -> leaderboards.blitz, "blitz" -> leaderboards.blitz,

View file

@ -3,13 +3,13 @@ package lila.user
import lila.common.PimpedJson._ import lila.common.PimpedJson._
import lila.rating.{ Perf, Glicko, PerfType } import lila.rating.{ Perf, Glicko, PerfType }
import play.api.libs.json._ import play.api.libs.json._
import User.PlayTime import User.{PlayTime,LightPerf}
final class JsonView(isOnline: String => Boolean) { final class JsonView(isOnline: String => Boolean) {
import JsonView._ import JsonView._
private implicit val perfWrites: Writes[Perf] = Writes { o => private implicit val perfWrites: OWrites[Perf] = OWrites { o =>
Json.obj( Json.obj(
"games" -> o.nb, "games" -> o.nb,
"rating" -> o.glicko.rating.toInt, "rating" -> o.glicko.rating.toInt,
@ -36,7 +36,7 @@ final class JsonView(isOnline: String => Boolean) {
"playTime" -> u.playTime "playTime" -> u.playTime
).noNull ).noNull
def lightPerfIsOnline(lp: User.LightPerf) = { def lightPerfIsOnline(lp: LightPerf) = {
val json = lightPerfWrites.writes(lp) val json = lightPerfWrites.writes(lp)
if (isOnline(lp.user.id)) json ++ Json.obj("online" -> true) if (isOnline(lp.user.id)) json ++ Json.obj("online" -> true)
else json else json
@ -49,7 +49,7 @@ object JsonView {
JsString(u.username) JsString(u.username)
} }
implicit val lightPerfWrites = OWrites[User.LightPerf] { l => implicit val lightPerfWrites = OWrites[LightPerf] { l =>
Json.obj( Json.obj(
"id" -> l.user.id, "id" -> l.user.id,
"username" -> l.user.name, "username" -> l.user.name,