diff options
Diffstat (limited to 'app/assets/javascripts/monitoring/services/monitoring_service.js')
-rw-r--r-- | app/assets/javascripts/monitoring/services/monitoring_service.js | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/app/assets/javascripts/monitoring/services/monitoring_service.js b/app/assets/javascripts/monitoring/services/monitoring_service.js index 6fcca36d2fa..260d424378e 100644 --- a/app/assets/javascripts/monitoring/services/monitoring_service.js +++ b/app/assets/javascripts/monitoring/services/monitoring_service.js @@ -1,6 +1,7 @@ import axios from '../../lib/utils/axios_utils'; import statusCodes from '../../lib/utils/http_status'; import { backOff } from '../../lib/utils/common_utils'; +import { s__ } from '../../locale'; const MAX_REQUESTS = 3; @@ -23,9 +24,10 @@ function backOffRequest(makeRequestCallback) { } export default class MonitoringService { - constructor({ metricsEndpoint, deploymentEndpoint }) { + constructor({ metricsEndpoint, deploymentEndpoint, environmentsEndpoint }) { this.metricsEndpoint = metricsEndpoint; this.deploymentEndpoint = deploymentEndpoint; + this.environmentsEndpoint = environmentsEndpoint; } getGraphsData() { @@ -33,7 +35,7 @@ export default class MonitoringService { .then(resp => resp.data) .then((response) => { if (!response || !response.data) { - throw new Error('Unexpected metrics data response from prometheus endpoint'); + throw new Error(s__('Metrics|Unexpected metrics data response from prometheus endpoint')); } return response.data; }); @@ -47,9 +49,20 @@ export default class MonitoringService { .then(resp => resp.data) .then((response) => { if (!response || !response.deployments) { - throw new Error('Unexpected deployment data response from prometheus endpoint'); + throw new Error(s__('Metrics|Unexpected deployment data response from prometheus endpoint')); } return response.deployments; }); } + + getEnvironmentsData() { + return axios.get(this.environmentsEndpoint) + .then(resp => resp.data) + .then((response) => { + if (!response || !response.environments) { + throw new Error(s__('Metrics|There was an error fetching the environments data, please try again')); + } + return response.environments; + }); + } } |