not all OAuth requests accept JSON - fixes #4796

This commit is contained in:
Thibault Duplessis 2018-12-19 08:58:43 +08:00
parent 4fe596d621
commit 7fabe864a8
6 changed files with 10 additions and 11 deletions

View file

@ -66,9 +66,7 @@ object Account extends LilaController {
}
def apiMe = Scoped() { _ => me =>
Env.api.userApi.extended(me, me.some) map { json =>
Ok(json) as JSON
}
Env.api.userApi.extended(me, me.some) map { JsonOk(_) }
}
def apiNowPlaying = Scoped() { req => me =>
@ -130,7 +128,7 @@ object Account extends LilaController {
def apiEmail = Scoped(_.Email.Read) { _ => me =>
UserRepo email me.id map {
_ ?? { email =>
Ok(Json.obj("email" -> email.value))
JsonOk(Json.obj("email" -> email.value))
}
}
}
@ -230,7 +228,7 @@ object Account extends LilaController {
Ok(html.account.kid(me)).fuccess
}
def apiKid = Scoped(_.Preference.Read) { _ => me =>
Ok(Json.obj("kid" -> me.kid)).fuccess
JsonOk(Json.obj("kid" -> me.kid)).fuccess
}
// App BC

View file

@ -174,11 +174,11 @@ object Challenge extends LilaController {
)
(Env.challenge.api create challenge) map {
case true =>
Ok(env.jsonView.show(challenge, SocketVersion(0), lila.challenge.Direction.Out.some))
JsonOk(env.jsonView.show(challenge, SocketVersion(0), lila.challenge.Direction.Out.some))
case false =>
BadRequest(jsonError("Challenge not created"))
}
}
} map (_ as JSON)
}
)
}

View file

@ -57,7 +57,7 @@ object Dev extends LilaController {
def command = ScopedBody(parse.tolerantText)(Seq(_.Preference.Write)) { implicit req => me =>
lila.security.Granter(_.Cli)(me) ?? {
runAs(me.id, req.body) map { res => Ok(res) }
runAs(me.id, req.body) map { Ok(_) }
}
}

View file

@ -22,7 +22,7 @@ object Irwin extends LilaController {
req.body.validate[lila.irwin.IrwinReport].fold(
err => fuccess(BadRequest(err.toString)),
report => Env.irwin.api.reports.insert(report) inject Ok
)
) map (_ as TEXT)
}
}

View file

@ -177,7 +177,7 @@ private[controllers] trait LilaController
case Right(scoped) =>
lila.mon.user.oauth.usage.success()
f(req)(scoped.user) map OAuthServer.responseHeaders(scopes, scoped.scopes)
} map { _ as JSON }
}
}
protected def OAuthSecure(perm: Permission.Selector)(f: RequestHeader => UserModel => Fu[Result]): Action[Unit] =
@ -268,6 +268,7 @@ private[controllers] trait LilaController
protected def JsonOk[A: Writes](fua: Fu[A]) = fua map { a =>
Ok(Json toJson a) as JSON
}
protected def JsonOk[A: Writes](a: A) = Ok(Json toJson a) as JSON
protected def JsonOptionOk[A: Writes](fua: Fu[Option[A]])(implicit ctx: Context) = fua flatMap {
_.fold(notFound(ctx))(a => fuccess(Ok(Json toJson a) as JSON))

View file

@ -14,7 +14,7 @@ object Pref extends LilaController {
def apiGet = Scoped(_.Preference.Read) { _ => me =>
Env.pref.api.getPref(me) map { prefs =>
Ok {
JsonOk {
import play.api.libs.json._
import lila.pref.JsonView._
Json.obj("prefs" -> prefs)