closes #1638
This commit is contained in:
parent
53278a4a27
commit
32d1eca2e4
|
@ -1,6 +1,6 @@
|
|||
package controllers
|
||||
|
||||
import play.api.libs.json.Json
|
||||
import play.api.libs.json._
|
||||
import play.api.mvc._, Results._
|
||||
|
||||
import lila.api.{ Context, BodyContext }
|
||||
|
@ -147,7 +147,7 @@ object User extends LilaController {
|
|||
nbDay = nbDay,
|
||||
nbAllTime = nbAllTime))),
|
||||
api = _ => fuccess {
|
||||
import lila.user.JsonView.lightPerfWrites
|
||||
implicit val lpWrites = OWrites[UserModel.LightPerf](env.jsonView.lightPerfIsOnline)
|
||||
Ok(Json.obj(
|
||||
"bullet" -> leaderboards.bullet,
|
||||
"blitz" -> leaderboards.blitz,
|
||||
|
|
|
@ -3,13 +3,13 @@ package lila.user
|
|||
import lila.common.PimpedJson._
|
||||
import lila.rating.{ Perf, Glicko, PerfType }
|
||||
import play.api.libs.json._
|
||||
import User.PlayTime
|
||||
import User.{PlayTime,LightPerf}
|
||||
|
||||
final class JsonView(isOnline: String => Boolean) {
|
||||
|
||||
import JsonView._
|
||||
|
||||
private implicit val perfWrites: Writes[Perf] = Writes { o =>
|
||||
private implicit val perfWrites: OWrites[Perf] = OWrites { o =>
|
||||
Json.obj(
|
||||
"games" -> o.nb,
|
||||
"rating" -> o.glicko.rating.toInt,
|
||||
|
@ -36,7 +36,7 @@ final class JsonView(isOnline: String => Boolean) {
|
|||
"playTime" -> u.playTime
|
||||
).noNull
|
||||
|
||||
def lightPerfIsOnline(lp: User.LightPerf) = {
|
||||
def lightPerfIsOnline(lp: LightPerf) = {
|
||||
val json = lightPerfWrites.writes(lp)
|
||||
if (isOnline(lp.user.id)) json ++ Json.obj("online" -> true)
|
||||
else json
|
||||
|
@ -49,7 +49,7 @@ object JsonView {
|
|||
JsString(u.username)
|
||||
}
|
||||
|
||||
implicit val lightPerfWrites = OWrites[User.LightPerf] { l =>
|
||||
implicit val lightPerfWrites = OWrites[LightPerf] { l =>
|
||||
Json.obj(
|
||||
"id" -> l.user.id,
|
||||
"username" -> l.user.name,
|
||||
|
|
Loading…
Reference in a new issue