in app/com/gu/floodgate/contentsource/ContentSourceApi.scala [135:150]
def startBulkReindexer = Action.async(parse.json) { implicit request =>
(request.body \ "environments")
.validate[List[String]]
.fold(
error => jsonError,
environments => {
val actorList = environments.flatMap(env => bulkJobActorsMap.get(env))
val bulkJobResponse =
Future.sequence(actorList.map(actor => (actor ? StartBulkReindex).mapTo[BulkReindexRequestResult]))
bulkJobResponse.map { resultList =>
val failedOrSucceeded = environments.zip(resultList.map(resultObject => resultObject == CanTrigger)).toMap
Ok(Json.toJson(failedOrSucceeded))
}
}
)
}