package controllers import org.joda.time.DateTime import scala.concurrent.ExecutionContext.Implicits.global case class IssueData(description: String, since: DateTime, until: Option[DateTime]) class Status extends AbstractCaveController { def status = caveAsyncAction { implicit request => withCaveClient { client => client.Statuses.getStatus() map { case Some(status) => val currentIssues = status.current.map(issue => IssueData(issue.description, issue.since, issue.until)) val recentIssues = status.recent.map(issue => IssueData(issue.description, issue.since, issue.until)) Ok(views.html.status.statusFragment(currentIssues, recentIssues)) case None => Ok(views.html.status.statusFragment(Seq.empty, Seq.empty)) } } } }