Skip to content
Snippets Groups Projects

Implement Question Service

11 files
+ 469
17
Compare changes
  • Side-by-side
  • Inline

Files

 
package controllers
 
 
import models.{DailyQuestion}
 
 
import javax.inject._
 
import play.api.mvc._
 
import play.api.libs.json.{JsValue}
 
 
import scala.concurrent.TimeoutException
 
 
 
/**
 
* This controller handles all the Daily Question endpoints.
 
*/
 
@Singleton
 
class DailyQuestionController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
 
 
/**
 
* Create an Action to fetch the current Daily Question.
 
*/
 
def getDailyQuestion() = Action {
 
println("QuestionController:getDailyQuestion")
 
 
try {
 
val question: DailyQuestion = DailyQuestion.getCurrentDailyQuestionAsync()
 
val jsonQuestion: JsValue = DailyQuestion.toJson(question)
 
Ok(jsonQuestion)
 
} catch {
 
case _: TimeoutException => BadRequest("Request timed out")
 
case _: Throwable => BadRequest("Exception raised")
 
}
 
}
 
}
Loading