in src/main/scala/com/gu/contentapi/Lambda.scala [17:45]
override def handleRequest(event: JMap[String, Object], context: Context): Unit = {
val config = new Config(context)
val capi = new ContentApi(config.capiUrl, config.capiKey)
def upload(mostViewedVideoContainers: Either[CustomError, List[MostViewedVideoContainer]]): Unit = {
val result = mostViewedVideoContainers map { containers =>
val pubResults = containers map (publish(_, config))
pubResults.flatMap(_.swap.toOption)
}
println(result.fold(
{ ophanError => ophanError.toString },
{ kinesisErrors => kinesisErrors.mkString("\n") }))
}
val editionIds = Await.result(capi.getResponse(capi.editions).map(_.results.map(_.id)), 5.seconds)
editionIds foreach { editionId =>
upload(getMostViewedVideoBySection(Some(editionId), config))
upload(getMostViewedVideoOverall(Some(editionId), config))
}
upload(getMostViewedVideoBySection(None, config))
upload(getMostViewedVideoOverall(None, config))
}