in app/controllers/DefaultsController.scala [50:73]
def putForKey(key:String) = IsAuthenticatedAsync(parse.text) {uid=>{request=>
Defaults.entryFor(key).flatMap({
case Success(maybeResult)=>
maybeResult match {
case Some(result)=>
result.copy(value=request.body).save map {
case Success(newRecord)=>Ok(Json.obj("status"->"ok","result"->newRecord))
case Failure(error)=>
logger.error("Unable to update existing defaults record: ", error)
InternalServerError(Json.obj("status"->"error","detail"->error.toString))
}
case None=>
Defaults(None,key,request.body).save map {
case Success(newRecord)=>Ok(Json.obj("status"->"ok","result"->newRecord))
case Failure(error)=>
logger.error("Unable to save new defaults record: ", error)
InternalServerError(Json.obj("status"->"error","detail"->error.toString))
}
}
case Failure(error)=>
logger.error("Unable to look up defaults record: ", error)
Future(InternalServerError(Json.obj("status"->"error","detail"->error.toString)))
})
}}