42 lines
1 KiB
Scala
42 lines
1 KiB
Scala
package controllers
|
|
|
|
import lila.app._
|
|
|
|
final class Coordinate(env: Env) extends LilaController(env) {
|
|
|
|
def home =
|
|
Open { implicit ctx =>
|
|
ctx.userId ?? { userId =>
|
|
env.coordinate.api getScore userId map (_.some)
|
|
} map { score =>
|
|
views.html.coordinate.home(score)
|
|
}
|
|
}
|
|
|
|
def score =
|
|
AuthBody { implicit ctx => me =>
|
|
implicit val body = ctx.body
|
|
env.coordinate.forms.score.bindFromRequest().fold(
|
|
_ => fuccess(BadRequest),
|
|
data => env.coordinate.api.addScore(me.id, data.isWhite, data.score)
|
|
) >> {
|
|
env.coordinate.api getScore me.id map { s =>
|
|
Ok(views.html.coordinate.scoreCharts(s))
|
|
}
|
|
}
|
|
}
|
|
|
|
def color =
|
|
AuthBody { implicit ctx => me =>
|
|
implicit val req = ctx.body
|
|
env.coordinate.forms.color.bindFromRequest().fold(
|
|
_ => fuccess(BadRequest),
|
|
value =>
|
|
env.pref.api.setPref(
|
|
me,
|
|
(p: lila.pref.Pref) => p.copy(coordColor = value)
|
|
) inject Ok(())
|
|
)
|
|
}
|
|
}
|