forked from lichess-org/lila
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCoordinate.scala
43 lines (36 loc) · 1.02 KB
/
Coordinate.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package controllers
import play.api.mvc._
import lila.app._
import views._
object Coordinate extends LilaController {
private def env = Env.coordinate
def home = Open { implicit ctx =>
ctx.userId ?? { userId => env.api getScore userId map (_.some) } map { score =>
views.html.coordinate.home(score)
}
}
def score = AuthBody { implicit ctx =>
me =>
implicit val body = ctx.body
env.forms.score.bindFromRequest.fold(
err => fuccess(BadRequest),
data => env.api.addScore(me.id, data.isWhite, data.score)
) >> {
env.api getScore me.id map { s =>
Ok(views.html.coordinate.scoreCharts(s))
}
}
}
def color = AuthBody { implicit ctx =>
me =>
implicit val req = ctx.body
env.forms.color.bindFromRequest.fold(
err => fuccess(BadRequest),
value => Env.pref.api.setPref(
me,
(p: lila.pref.Pref) => p.copy(coordColor = value),
notifyChange = false
) inject Ok(())
)
}
}