Loading app/controllers/GetClusterMappingController.scala 0 → 100644 +13 −0 Original line number Diff line number Diff line package controllers import models.ClusterMapping import scala.concurrent.ExecutionContext.Implicits.global class GetClusterMappingController extends BaseController { def processRequest = (request, client) => client.getClusterMapping(request.host).map { response => Ok(ClusterMapping(response.body)) } } app/controllers/RestController.scala 0 → 100644 +14 −0 Original line number Diff line number Diff line package controllers class RestController extends ElasticActionController { def processElasticRequest = (request, client) => { client.executeRequest( request.get("method"), request.get("path"), request.getOpt("data"), request.host ) } } app/elastic/ElasticClient.scala +5 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,11 @@ trait ElasticClient { def getIndexRecovery(index: String, host: String) = ElasticResponse(WS.url(s"$host/$index/_recovery?active_only=true&human=true").get()) def getClusterMapping(host: String) = ElasticResponse(WS.url(s"$host/_mapping").get()) def executeRequest(method: String, path: String, data: Option[String], host: String) = ElasticResponse(data.foldLeft(WS.url(s"$host/$path"))(_ withBody _).execute(method)) } Loading app/models/CerebroRequest.scala +2 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,8 @@ class CerebroRequest(val host: String, body: JsValue) { def getArray(name: String) = (body \ name).asOpt[Array[String]].getOrElse(throw MissingRequiredParamException(name)) def getOpt(name: String) = (body \ name).asOpt[String] } object CerebroRequest { Loading app/models/ClusterMapping.scala 0 → 100644 +12 −0 Original line number Diff line number Diff line package models import play.api.libs.json.{Json, JsString, JsObject, JsValue} object ClusterMapping { def apply(mappings: JsValue) = JsObject(mappings.as[JsObject].value.map { case (index, indexMappings) => (index -> Json.obj("types" -> (indexMappings \ "mappings").as[JsObject].keys.map(JsString(_)))) }) } Loading
app/controllers/GetClusterMappingController.scala 0 → 100644 +13 −0 Original line number Diff line number Diff line package controllers import models.ClusterMapping import scala.concurrent.ExecutionContext.Implicits.global class GetClusterMappingController extends BaseController { def processRequest = (request, client) => client.getClusterMapping(request.host).map { response => Ok(ClusterMapping(response.body)) } }
app/controllers/RestController.scala 0 → 100644 +14 −0 Original line number Diff line number Diff line package controllers class RestController extends ElasticActionController { def processElasticRequest = (request, client) => { client.executeRequest( request.get("method"), request.get("path"), request.getOpt("data"), request.host ) } }
app/elastic/ElasticClient.scala +5 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,11 @@ trait ElasticClient { def getIndexRecovery(index: String, host: String) = ElasticResponse(WS.url(s"$host/$index/_recovery?active_only=true&human=true").get()) def getClusterMapping(host: String) = ElasticResponse(WS.url(s"$host/_mapping").get()) def executeRequest(method: String, path: String, data: Option[String], host: String) = ElasticResponse(data.foldLeft(WS.url(s"$host/$path"))(_ withBody _).execute(method)) } Loading
app/models/CerebroRequest.scala +2 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,8 @@ class CerebroRequest(val host: String, body: JsValue) { def getArray(name: String) = (body \ name).asOpt[Array[String]].getOrElse(throw MissingRequiredParamException(name)) def getOpt(name: String) = (body \ name).asOpt[String] } object CerebroRequest { Loading
app/models/ClusterMapping.scala 0 → 100644 +12 −0 Original line number Diff line number Diff line package models import play.api.libs.json.{Json, JsString, JsObject, JsValue} object ClusterMapping { def apply(mappings: JsValue) = JsObject(mappings.as[JsObject].value.map { case (index, indexMappings) => (index -> Json.obj("types" -> (indexMappings \ "mappings").as[JsObject].keys.map(JsString(_)))) }) }