lila/app/controllers/Push.scala
Thibault Duplessis 6bc20d9b75 app/ migration WIP
2019-12-04 19:47:46 -06:00

27 lines
775 B
Scala

package controllers
import play.api.mvc._
import lila.app._
import lila.push.WebSubscription
import lila.push.WebSubscription.readers._
final class Push(env: Env) extends LilaController(env) {
def mobileRegister(platform: String, deviceId: String) = Auth { implicit ctx => me =>
env.push.registerDevice(me, platform, deviceId)
}
def mobileUnregister = Auth { implicit ctx => me =>
env.push.unregisterDevices(me)
}
def webSubscribe = AuthBody(parse.json) { implicit ctx => me =>
val currentSessionId = ~env.security.api.reqSessionId(ctx.req)
ctx.body.body.validate[WebSubscription].fold(
err => BadRequest(err.toString).fuccess,
data => env.push.webSubscriptionApi.subscribe(me, data, currentSessionId) inject NoContent
)
}
}