From 0cd4a03618778534d2717c7000d67dd7033c91ad Mon Sep 17 00:00:00 2001 From: Petter Aas Date: Tue, 18 Feb 2014 22:47:45 +0100 Subject: [PATCH 1/2] Added /status/ping --- service/src/models/status.js | 13 +++++++++++++ service/src/routes.js | 3 +++ service/src/wrapper.js | 15 +++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 service/src/models/status.js diff --git a/service/src/models/status.js b/service/src/models/status.js new file mode 100644 index 0000000..76f0333 --- /dev/null +++ b/service/src/models/status.js @@ -0,0 +1,13 @@ +'use strict'; + +var db = require('../wrapper'); + +exports.ping = function (req, res) { + db.ping() + .then(function(status) { + res.json({'result': status}); + }) + .fail(function (err) { + res.json({'result': err}); + }); +}; diff --git a/service/src/routes.js b/service/src/routes.js index 08958cf..2d0cc14 100644 --- a/service/src/routes.js +++ b/service/src/routes.js @@ -2,6 +2,7 @@ var retrospectives = require('./models/retrospectives'), tickets = require('./models/tickets'), + status = require('./models/status'), allowCrossDomain = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); @@ -26,4 +27,6 @@ exports.setup = function (api) { api.delete('/retrospectives/:retroId/tickets/:ticketId', tickets.deleteTicket); api.get('/wordcloud', tickets.getTicketWords); + + api.get('/status/ping', status.ping); }; diff --git a/service/src/wrapper.js b/service/src/wrapper.js index 273b850..bc5ad2e 100644 --- a/service/src/wrapper.js +++ b/service/src/wrapper.js @@ -376,3 +376,18 @@ exports.createIndex = function (indexName) { return defer.promise; }; + +exports.ping = function (requestTimeout) { + var defer = q.defer(); + + client.ping({ + requestTimeout: requestTimeout + }, function (error) { + if (error) { + defer.reject('Cluster is down'); + } else { + defer.resolve('Cluster is up'); + } + }); + return defer.promise; +}; From 9376d7ee8b7c9e5b0dfd4c65f98bbbf80d4d65ce Mon Sep 17 00:00:00 2001 From: Petter Aas Date: Wed, 19 Feb 2014 00:39:42 +0100 Subject: [PATCH 2/2] status is reserved word, renamed to state --- service/src/models/{status.js => state.js} | 4 ++-- service/src/routes.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) rename service/src/models/{status.js => state.js} (72%) diff --git a/service/src/models/status.js b/service/src/models/state.js similarity index 72% rename from service/src/models/status.js rename to service/src/models/state.js index 76f0333..a19775f 100644 --- a/service/src/models/status.js +++ b/service/src/models/state.js @@ -4,8 +4,8 @@ var db = require('../wrapper'); exports.ping = function (req, res) { db.ping() - .then(function(status) { - res.json({'result': status}); + .then(function(state) { + res.json({'result': state}); }) .fail(function (err) { res.json({'result': err}); diff --git a/service/src/routes.js b/service/src/routes.js index 2d0cc14..fa695c1 100644 --- a/service/src/routes.js +++ b/service/src/routes.js @@ -2,7 +2,7 @@ var retrospectives = require('./models/retrospectives'), tickets = require('./models/tickets'), - status = require('./models/status'), + state = require('./models/state'), allowCrossDomain = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); @@ -28,5 +28,5 @@ exports.setup = function (api) { api.get('/wordcloud', tickets.getTicketWords); - api.get('/status/ping', status.ping); + api.get('/state/ping', state.ping); };