From 99f8d5101b7099eb144c0f397aed0ea1d2ef90ce Mon Sep 17 00:00:00 2001 From: Leonardo Menezes Date: Sun, 3 Apr 2016 16:10:44 +0200 Subject: [PATCH] refactored controllers --- app/controllers/BaseController.scala | 23 ++++++++++++ .../ClearIndexCacheController.scala | 15 ++++++++ app/controllers/CloseIndexController.scala | 15 ++++++++ .../ClusterOverviewController.scala | 33 ++++++++--------- app/controllers/DeleteIndexController.scala | 15 ++++++++ .../DisableShardAllocationController.scala | 15 ++++++++ .../EnableShardAllocationController.scala | 15 ++++++++ app/controllers/GetIndexMapping.scala | 15 ++++++++ app/controllers/GetIndexSettings.scala | 15 ++++++++ app/controllers/GetShardStats.scala | 18 +++++++++ app/controllers/Main.scala | 10 +++-- app/controllers/NodeStatsController.scala | 15 ++++++++ app/controllers/OpenIndexController.scala | 15 ++++++++ app/controllers/OptimizeIndexController.scala | 15 ++++++++ app/controllers/PutClusterSettings.scala | 15 ++++++++ app/controllers/RefreshIndexController.scala | 15 ++++++++ .../ClearIndexCacheController.scala | 9 ----- .../elasticsearch/CloseIndexController.scala | 10 ----- .../elasticsearch/DeleteIndexController.scala | 10 ----- .../DisableShardAllocationController.scala | 9 ----- .../ElasticsearchController.scala | 27 -------------- .../EnableShardAllocationController.scala | 9 ----- .../elasticsearch/GetIndexMapping.scala | 9 ----- .../elasticsearch/GetIndexSettings.scala | 9 ----- .../elasticsearch/GetShardStats.scala | 21 ----------- .../elasticsearch/NodeStatsController.scala | 9 ----- .../elasticsearch/OpenIndexController.scala | 10 ----- .../OptimizeIndexController.scala | 12 ------ .../elasticsearch/PutClusterSettings.scala | 9 ----- .../RefreshIndexController.scala | 9 ----- conf/routes | 30 +++++++-------- public/app.js | 37 ++++++++++--------- src/services/data.js | 37 ++++++++++--------- 33 files changed, 297 insertions(+), 233 deletions(-) create mode 100644 app/controllers/BaseController.scala create mode 100644 app/controllers/ClearIndexCacheController.scala create mode 100644 app/controllers/CloseIndexController.scala create mode 100644 app/controllers/DeleteIndexController.scala create mode 100644 app/controllers/DisableShardAllocationController.scala create mode 100644 app/controllers/EnableShardAllocationController.scala create mode 100644 app/controllers/GetIndexMapping.scala create mode 100644 app/controllers/GetIndexSettings.scala create mode 100644 app/controllers/GetShardStats.scala create mode 100644 app/controllers/NodeStatsController.scala create mode 100644 app/controllers/OpenIndexController.scala create mode 100644 app/controllers/OptimizeIndexController.scala create mode 100644 app/controllers/PutClusterSettings.scala create mode 100644 app/controllers/RefreshIndexController.scala delete mode 100644 app/controllers/elasticsearch/ClearIndexCacheController.scala delete mode 100644 app/controllers/elasticsearch/CloseIndexController.scala delete mode 100644 app/controllers/elasticsearch/DeleteIndexController.scala delete mode 100644 app/controllers/elasticsearch/DisableShardAllocationController.scala delete mode 100644 app/controllers/elasticsearch/ElasticsearchController.scala delete mode 100644 app/controllers/elasticsearch/EnableShardAllocationController.scala delete mode 100644 app/controllers/elasticsearch/GetIndexMapping.scala delete mode 100644 app/controllers/elasticsearch/GetIndexSettings.scala delete mode 100644 app/controllers/elasticsearch/GetShardStats.scala delete mode 100644 app/controllers/elasticsearch/NodeStatsController.scala delete mode 100644 app/controllers/elasticsearch/OpenIndexController.scala delete mode 100644 app/controllers/elasticsearch/OptimizeIndexController.scala delete mode 100644 app/controllers/elasticsearch/PutClusterSettings.scala delete mode 100644 app/controllers/elasticsearch/RefreshIndexController.scala diff --git a/app/controllers/BaseController.scala b/app/controllers/BaseController.scala new file mode 100644 index 0000000..e77bd72 --- /dev/null +++ b/app/controllers/BaseController.scala @@ -0,0 +1,23 @@ +package controllers + +import models.CerebroRequest +import play.api.Logger +import play.api.mvc.{Action, Controller, Result} + +import scala.concurrent.Future + +trait BaseController extends Controller { + + protected val logger = Logger("elastic") + + def execute = Action.async(parse.json) { request => + try { + processRequest(CerebroRequest(request.body)) + } catch { + case _ => Future.successful(Status(500)(s"Error")) // FIXME: proper error handling + } + } + + def processRequest: CerebroRequest => Future[Result] + +} diff --git a/app/controllers/ClearIndexCacheController.scala b/app/controllers/ClearIndexCacheController.scala new file mode 100644 index 0000000..e406d11 --- /dev/null +++ b/app/controllers/ClearIndexCacheController.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.clearIndexCache + +import scala.concurrent.ExecutionContext.Implicits.global + +class ClearIndexCacheController extends BaseController { + + def processRequest = { request => + clearIndexCache(request.get("indices"), request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/CloseIndexController.scala b/app/controllers/CloseIndexController.scala new file mode 100644 index 0000000..0b0bbc6 --- /dev/null +++ b/app/controllers/CloseIndexController.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.closeIndex + +import scala.concurrent.ExecutionContext.Implicits.global + +class CloseIndexController extends BaseController { + + def processRequest = { request => + closeIndex(request.get("indices"), request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/ClusterOverviewController.scala b/app/controllers/ClusterOverviewController.scala index cb0d72b..8e8963a 100644 --- a/app/controllers/ClusterOverviewController.scala +++ b/app/controllers/ClusterOverviewController.scala @@ -2,30 +2,29 @@ package controllers import elastic.ElasticClient._ import models.overview.ClusterOverview -import play.api.mvc.{Action, Controller} import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.Future -object ClusterOverviewController extends Controller { +class ClusterOverviewController extends BaseController { - def index = Action.async { + def processRequest = { request => { - val host = request.queryString.getOrElse("host", Seq("http://localhost:9200")).head - try { - val response = Future.sequence( - Seq(clusterState(host), nodesStats(host), indicesStats(host), clusterSettings(host), aliases(host), clusterHealth(host), nodes(host), main(host)) - ).map { f => - new ClusterOverview(f(0).body, f(1).body, f(2).body, f(3).body, f(4).body, f(5).body, f(6).body, f(7).body).json - }.recover { - case e => - throw e - } - response.map(Ok(_)) - } catch { - case _ => Future.successful(Status(500)(s"Cannot connect to $host")) - } + Future.sequence( + Seq( + clusterState(request.host), + nodesStats(request.host), + indicesStats(request.host), + clusterSettings(request.host), + aliases(request.host), + clusterHealth(request.host), + nodes(request.host), + main(request.host) + ) + ).map { f => + new ClusterOverview(f(0).body, f(1).body, f(2).body, f(3).body, f(4).body, f(5).body, f(6).body, f(7).body).json + }.map(Ok(_)) } } diff --git a/app/controllers/DeleteIndexController.scala b/app/controllers/DeleteIndexController.scala new file mode 100644 index 0000000..1a88776 --- /dev/null +++ b/app/controllers/DeleteIndexController.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.deleteIndex + +import scala.concurrent.ExecutionContext.Implicits.global + +class DeleteIndexController extends BaseController { + + def processRequest = { request => + deleteIndex(request.get("indices"), request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/DisableShardAllocationController.scala b/app/controllers/DisableShardAllocationController.scala new file mode 100644 index 0000000..693e112 --- /dev/null +++ b/app/controllers/DisableShardAllocationController.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.disableShardAllocation + +import scala.concurrent.ExecutionContext.Implicits.global + +class DisableShardAllocationController extends BaseController { + + def processRequest = { request => + disableShardAllocation(request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/EnableShardAllocationController.scala b/app/controllers/EnableShardAllocationController.scala new file mode 100644 index 0000000..0c5f511 --- /dev/null +++ b/app/controllers/EnableShardAllocationController.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.enableShardAllocation + +import scala.concurrent.ExecutionContext.Implicits.global + +class EnableShardAllocationController extends BaseController { + + def processRequest = { request => + enableShardAllocation(request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/GetIndexMapping.scala b/app/controllers/GetIndexMapping.scala new file mode 100644 index 0000000..c71086d --- /dev/null +++ b/app/controllers/GetIndexMapping.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.getIndexMapping + +import scala.concurrent.ExecutionContext.Implicits.global + +class GetIndexMapping extends BaseController { + + def processRequest = { request => + getIndexMapping(request.get("index"), request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/GetIndexSettings.scala b/app/controllers/GetIndexSettings.scala new file mode 100644 index 0000000..b7e8839 --- /dev/null +++ b/app/controllers/GetIndexSettings.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.getIndexSettings + +import scala.concurrent.ExecutionContext.Implicits.global + +class GetIndexSettings extends BaseController { + + def processRequest = { request => + getIndexSettings(request.get("index"), request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/GetShardStats.scala b/app/controllers/GetShardStats.scala new file mode 100644 index 0000000..f170850 --- /dev/null +++ b/app/controllers/GetShardStats.scala @@ -0,0 +1,18 @@ +package controllers + +import elastic.ElasticClient.{getIndexRecovery, getShardStats} +import models.ShardStats + +import scala.concurrent.ExecutionContext.Implicits.global + +class GetShardStats extends BaseController { + + def processRequest = { r => + getShardStats(r.get("index"), r.host).zip(getIndexRecovery(r.get("index"), r.host)).map { + case (stats, recovery) => + val shardStats = ShardStats(r.get("index"), r.get("node"), r.getInt("shard"), stats.body, recovery.body) + Status(200)(shardStats) + } + } + +} diff --git a/app/controllers/Main.scala b/app/controllers/Main.scala index f75435d..c3e5bfc 100644 --- a/app/controllers/Main.scala +++ b/app/controllers/Main.scala @@ -1,10 +1,14 @@ package controllers -import controllers.elasticsearch.ElasticsearchController import elastic.ElasticClient +import scala.concurrent.ExecutionContext.Implicits.global -object Main extends ElasticsearchController { +class Main extends BaseController { - def index = processRequest { request => ElasticClient.main(request.host) } + def processRequest = { request => + ElasticClient.main(request.host).map { response => + Status(response.status)(response.body) + } + } } diff --git a/app/controllers/NodeStatsController.scala b/app/controllers/NodeStatsController.scala new file mode 100644 index 0000000..a10bfe7 --- /dev/null +++ b/app/controllers/NodeStatsController.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.nodesStats + +import scala.concurrent.ExecutionContext.Implicits.global + +class NodeStatsController extends BaseController { + + def processRequest = { request => + nodesStats(request.get("node"), request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/OpenIndexController.scala b/app/controllers/OpenIndexController.scala new file mode 100644 index 0000000..1476800 --- /dev/null +++ b/app/controllers/OpenIndexController.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.openIndex + +import scala.concurrent.ExecutionContext.Implicits.global + +class OpenIndexController extends BaseController { + + def processRequest = { request => + openIndex(request.get("indices"), request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/OptimizeIndexController.scala b/app/controllers/OptimizeIndexController.scala new file mode 100644 index 0000000..05ece77 --- /dev/null +++ b/app/controllers/OptimizeIndexController.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.optimizeIndex + +import scala.concurrent.ExecutionContext.Implicits.global + +class OptimizeIndexController extends BaseController { + + def processRequest = { request => + optimizeIndex(request.get("indices"), request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/PutClusterSettings.scala b/app/controllers/PutClusterSettings.scala new file mode 100644 index 0000000..f649188 --- /dev/null +++ b/app/controllers/PutClusterSettings.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.putClusterSettings + +import scala.concurrent.ExecutionContext.Implicits.global + +class PutClusterSettings extends BaseController { + + def processRequest = { request => + putClusterSettings(request.get("settings"), request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/RefreshIndexController.scala b/app/controllers/RefreshIndexController.scala new file mode 100644 index 0000000..012b9cf --- /dev/null +++ b/app/controllers/RefreshIndexController.scala @@ -0,0 +1,15 @@ +package controllers + +import elastic.ElasticClient.refreshIndex + +import scala.concurrent.ExecutionContext.Implicits.global + +class RefreshIndexController extends BaseController { + + def processRequest = { request => + refreshIndex(request.get("indices"), request.host).map { + response => Status(response.status)(response.body) + } + } + +} diff --git a/app/controllers/elasticsearch/ClearIndexCacheController.scala b/app/controllers/elasticsearch/ClearIndexCacheController.scala deleted file mode 100644 index 0270212..0000000 --- a/app/controllers/elasticsearch/ClearIndexCacheController.scala +++ /dev/null @@ -1,9 +0,0 @@ -package controllers.elasticsearch - -import elastic.ElasticClient - -class ClearIndexCacheController extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.clearIndexCache(request.get("indices"), request.host) } - -} diff --git a/app/controllers/elasticsearch/CloseIndexController.scala b/app/controllers/elasticsearch/CloseIndexController.scala deleted file mode 100644 index 9b96b1f..0000000 --- a/app/controllers/elasticsearch/CloseIndexController.scala +++ /dev/null @@ -1,10 +0,0 @@ -package controllers.elasticsearch - - -import elastic.ElasticClient - -class CloseIndexController extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.closeIndex(request.get("indices"), request.host) } - -} diff --git a/app/controllers/elasticsearch/DeleteIndexController.scala b/app/controllers/elasticsearch/DeleteIndexController.scala deleted file mode 100644 index 1debbd6..0000000 --- a/app/controllers/elasticsearch/DeleteIndexController.scala +++ /dev/null @@ -1,10 +0,0 @@ -package controllers.elasticsearch - - -import elastic.ElasticClient - -class DeleteIndexController extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.deleteIndex(request.get("indices"), request.host) } - -} diff --git a/app/controllers/elasticsearch/DisableShardAllocationController.scala b/app/controllers/elasticsearch/DisableShardAllocationController.scala deleted file mode 100644 index d3dbc5c..0000000 --- a/app/controllers/elasticsearch/DisableShardAllocationController.scala +++ /dev/null @@ -1,9 +0,0 @@ -package controllers.elasticsearch - -import elastic.ElasticClient - -class DisableShardAllocationController extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.disableShardAllocation(request.host) } - -} diff --git a/app/controllers/elasticsearch/ElasticsearchController.scala b/app/controllers/elasticsearch/ElasticsearchController.scala deleted file mode 100644 index 7b50dd3..0000000 --- a/app/controllers/elasticsearch/ElasticsearchController.scala +++ /dev/null @@ -1,27 +0,0 @@ -package controllers.elasticsearch - -import elastic.ElasticResponse -import models.{CerebroRequest, CerebroRequest$} -import play.api.Logger -import play.api.mvc.{Action, Controller} - -import scala.concurrent.ExecutionContext.Implicits.global -import scala.concurrent.Future - -trait ElasticsearchController extends Controller { - - protected val logger = Logger("elastic") - - def processRequest(f: (CerebroRequest => Future[ElasticResponse])) = Action.async(parse.json) { request => - val cRequest = CerebroRequest(request.body) - try { - val response = f(cRequest) - response.map { r => - Status(r.status)(r.body) - } - } catch { - case _ => Future.successful(Status(500)(s"Cannot connect to ${cRequest.host}")) - } - } - -} diff --git a/app/controllers/elasticsearch/EnableShardAllocationController.scala b/app/controllers/elasticsearch/EnableShardAllocationController.scala deleted file mode 100644 index fc396cf..0000000 --- a/app/controllers/elasticsearch/EnableShardAllocationController.scala +++ /dev/null @@ -1,9 +0,0 @@ -package controllers.elasticsearch - -import elastic.ElasticClient - -class EnableShardAllocationController extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.enableShardAllocation(request.host) } - -} diff --git a/app/controllers/elasticsearch/GetIndexMapping.scala b/app/controllers/elasticsearch/GetIndexMapping.scala deleted file mode 100644 index 38a591f..0000000 --- a/app/controllers/elasticsearch/GetIndexMapping.scala +++ /dev/null @@ -1,9 +0,0 @@ -package controllers.elasticsearch - -import elastic.ElasticClient - -class GetIndexMapping extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.getIndexMapping(request.get("index"), request.host) } - -} diff --git a/app/controllers/elasticsearch/GetIndexSettings.scala b/app/controllers/elasticsearch/GetIndexSettings.scala deleted file mode 100644 index 35cdaa2..0000000 --- a/app/controllers/elasticsearch/GetIndexSettings.scala +++ /dev/null @@ -1,9 +0,0 @@ -package controllers.elasticsearch - -import elastic.ElasticClient - -class GetIndexSettings extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.getIndexSettings(request.get("index"), request.host) } - -} diff --git a/app/controllers/elasticsearch/GetShardStats.scala b/app/controllers/elasticsearch/GetShardStats.scala deleted file mode 100644 index b6e1b66..0000000 --- a/app/controllers/elasticsearch/GetShardStats.scala +++ /dev/null @@ -1,21 +0,0 @@ -package controllers.elasticsearch - -import elastic.ElasticClient._ -import elastic.ElasticResponse -import models.ShardStats -import scala.concurrent.ExecutionContext.Implicits.global - -class GetShardStats extends ElasticsearchController { - - def index = processRequest { request => - val index = request.get("index") - val node = request.get("node") - val shard = request.getInt("shard") - getShardStats(index, request.host).zip(getIndexRecovery(index, request.host)).map { - case (indexStats, indexRecovery) => - val stats = ShardStats(index, node, shard, indexStats.body, indexRecovery.body) - ElasticResponse(200, stats) - } - } - -} diff --git a/app/controllers/elasticsearch/NodeStatsController.scala b/app/controllers/elasticsearch/NodeStatsController.scala deleted file mode 100644 index bef79cd..0000000 --- a/app/controllers/elasticsearch/NodeStatsController.scala +++ /dev/null @@ -1,9 +0,0 @@ -package controllers.elasticsearch - -import elastic.ElasticClient - -class NodeStatsController extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.nodesStats(request.get("node"), request.host) } - -} diff --git a/app/controllers/elasticsearch/OpenIndexController.scala b/app/controllers/elasticsearch/OpenIndexController.scala deleted file mode 100644 index 75bd4ae..0000000 --- a/app/controllers/elasticsearch/OpenIndexController.scala +++ /dev/null @@ -1,10 +0,0 @@ -package controllers.elasticsearch - - -import elastic.ElasticClient - -class OpenIndexController extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.openIndex(request.get("indices"), request.host) } - -} diff --git a/app/controllers/elasticsearch/OptimizeIndexController.scala b/app/controllers/elasticsearch/OptimizeIndexController.scala deleted file mode 100644 index 2a64d04..0000000 --- a/app/controllers/elasticsearch/OptimizeIndexController.scala +++ /dev/null @@ -1,12 +0,0 @@ -package controllers.elasticsearch - -import elastic.ElasticClient -import play.api.mvc.{Action, Controller} - -import scala.concurrent.ExecutionContext.Implicits.global - -class OptimizeIndexController extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.optimizeIndex(request.get("indices"), request.host) } - -} diff --git a/app/controllers/elasticsearch/PutClusterSettings.scala b/app/controllers/elasticsearch/PutClusterSettings.scala deleted file mode 100644 index 5cf20d3..0000000 --- a/app/controllers/elasticsearch/PutClusterSettings.scala +++ /dev/null @@ -1,9 +0,0 @@ -package controllers.elasticsearch - -import elastic.ElasticClient - -class PutClusterSettings extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.putClusterSettings(request.get("settings"), request.host) } - -} diff --git a/app/controllers/elasticsearch/RefreshIndexController.scala b/app/controllers/elasticsearch/RefreshIndexController.scala deleted file mode 100644 index 1fe4715..0000000 --- a/app/controllers/elasticsearch/RefreshIndexController.scala +++ /dev/null @@ -1,9 +0,0 @@ -package controllers.elasticsearch - -import elastic.ElasticClient - -class RefreshIndexController extends ElasticsearchController { - - def index = processRequest { request => ElasticClient.refreshIndex(request.get("indices"), request.host) } - -} diff --git a/conf/routes b/conf/routes index 781aa5d..b340f04 100644 --- a/conf/routes +++ b/conf/routes @@ -7,21 +7,21 @@ GET / controllers.Application.index() # -GET /main controllers.Main.index() -GET /apis/overview controllers.ClusterOverviewController.index() -POST /apis/close_indices @controllers.elasticsearch.CloseIndexController.index -POST /apis/open_indices @controllers.elasticsearch.OpenIndexController.index -POST /apis/optimize_indices @controllers.elasticsearch.OptimizeIndexController.index -POST /apis/clear_indices_cache @controllers.elasticsearch.ClearIndexCacheController.index -POST /apis/refresh_indices @controllers.elasticsearch.RefreshIndexController.index -POST /apis/delete_indices @controllers.elasticsearch.DeleteIndexController.index -POST /apis/get_index_settings @controllers.elasticsearch.GetIndexSettings.index -POST /apis/get_index_mapping @controllers.elasticsearch.GetIndexMapping.index -POST /apis/update_cluster_settings @controllers.elasticsearch.PutClusterSettings.index -POST /apis/get_node_stats @controllers.elasticsearch.NodeStatsController.index -POST /apis/disable_shard_allocation @controllers.elasticsearch.DisableShardAllocationController.index -POST /apis/enable_shard_allocation @controllers.elasticsearch.EnableShardAllocationController.index -POST /apis/get_shard_stats @controllers.elasticsearch.GetShardStats.index +POST /main @controllers.Main.execute +POST /apis/overview @controllers.ClusterOverviewController.execute +POST /apis/close_indices @controllers.CloseIndexController.execute +POST /apis/open_indices @controllers.OpenIndexController.execute +POST /apis/optimize_indices @controllers.OptimizeIndexController.execute +POST /apis/clear_indices_cache @controllers.ClearIndexCacheController.execute +POST /apis/refresh_indices @controllers.RefreshIndexController.execute +POST /apis/delete_indices @controllers.DeleteIndexController.execute +POST /apis/get_index_settings @controllers.GetIndexSettings.execute +POST /apis/get_index_mapping @controllers.GetIndexMapping.execute +POST /apis/update_cluster_settings @controllers.PutClusterSettings.execute +POST /apis/get_node_stats @controllers.NodeStatsController.execute +POST /apis/disable_shard_allocation @controllers.DisableShardAllocationController.execute +POST /apis/enable_shard_allocation @controllers.EnableShardAllocationController.execute +POST /apis/get_shard_stats @controllers.GetShardStats.execute GET /apis/hosts @controllers.HostsController.index diff --git a/public/app.js b/public/app.js index 3b77e92..653d998 100644 --- a/public/app.js +++ b/public/app.js @@ -785,26 +785,27 @@ angular.module('cerebro').factory('DataService', function ($rootScope, $timeout, var baseUrl = $location.protocol() + '://' + $location.host() + ':' + $location.port(); + var successfulRefresh = function(success) { + return function(response) { + data = response; + if (success) { + success(response); + } + } + }; + + var failedRefresh = function(error) { + return function(response) { + data = undefined; + if (error) { + error(response); + } + } + }; + var refresh = function(success, error) { if (host) { - var config = { - method: 'GET', - url: baseUrl + '/apis/overview', - params: {host: host} - }; - $http(config). - success(function(response) { - data = response; - if (success) { - success(response); - } - }). - error(function(response) { - data = undefined; - if (error) { - error(response); - } - }); + request('/apis/overview', {}, successfulRefresh(success), failedRefresh(error)); } else { $location.path("/connect"); } diff --git a/src/services/data.js b/src/services/data.js index be09152..50c3bb5 100644 --- a/src/services/data.js +++ b/src/services/data.js @@ -6,26 +6,27 @@ angular.module('cerebro').factory('DataService', function ($rootScope, $timeout, var baseUrl = $location.protocol() + '://' + $location.host() + ':' + $location.port(); + var successfulRefresh = function(success) { + return function(response) { + data = response; + if (success) { + success(response); + } + } + }; + + var failedRefresh = function(error) { + return function(response) { + data = undefined; + if (error) { + error(response); + } + } + }; + var refresh = function(success, error) { if (host) { - var config = { - method: 'GET', - url: baseUrl + '/apis/overview', - params: {host: host} - }; - $http(config). - success(function(response) { - data = response; - if (success) { - success(response); - } - }). - error(function(response) { - data = undefined; - if (error) { - error(response); - } - }); + request('/apis/overview', {}, successfulRefresh(success), failedRefresh(error)); } else { $location.path("/connect"); } -- GitLab