X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Fadmin%2Fapi%2Fadmin.js;fp=skyquake%2Fplugins%2Fadmin%2Fapi%2Fadmin.js;h=82cbafb2f885975034d510cdffa05d4c7424c017;hp=0000000000000000000000000000000000000000;hb=03156e335275de1dafbc2a816e98006afdf249bf;hpb=f2dc2462571800e62cba969964de621dca09299c diff --git a/skyquake/plugins/admin/api/admin.js b/skyquake/plugins/admin/api/admin.js new file mode 100644 index 000000000..82cbafb2f --- /dev/null +++ b/skyquake/plugins/admin/api/admin.js @@ -0,0 +1,141 @@ +/* + * + * Copyright 2016 RIFT.IO Inc + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +var request = require('request'); +var Promise = require('bluebird'); +var rp = require('request-promise'); +var utils = require('../../../framework/core/api_utils/utils.js'); +var constants = require('../../../framework/core/api_utils/constants.js'); +var _ = require('underscore'); +var APIVersion = '/v1'; +var About = {}; + +About.getVCS = function(req) { + var api_server = req.query["api_server"]; + + return new Promise(function(resolve, reject) { + var requestHeaders = {}; + _.extend(requestHeaders, + constants.HTTP_HEADERS.accept.data, { + 'Authorization': req.session && req.session.authorization + }); + request({ + url: utils.confdPort(api_server) + APIVersion + '/api/operational/vcs/info?deep', + type: 'GET', + headers: requestHeaders, + forever: constants.FOREVER_ON, + rejectUnauthorized: false, + }, + function(error, response, body) { + var data; + console.log(error); + if (utils.validateResponse('About/vcs.get', error, response, body, resolve, reject)) { + try { + data = JSON.parse(response.body)["rw-base:info"] + } catch (e) { + return reject({}); + } + + return resolve(data); + } + }); + }); +} + +About.getVersion = function(req) { + var api_server = req.query["api_server"]; + + return new Promise(function(resolve, reject) { + var requestHeaders = {}; + _.extend(requestHeaders, + constants.HTTP_HEADERS.accept.data, { + 'Authorization': req.session && req.session.authorization + }); + request({ + url: utils.confdPort(api_server) + APIVersion + '/api/operational/version?deep', + type: 'GET', + headers: requestHeaders, + forever: constants.FOREVER_ON, + rejectUnauthorized: false, + }, + function(error, response, body) { + var data; + console.log(error); + if (utils.validateResponse('About/version.get', error, response, body, resolve, reject)) { + try { + data = JSON.parse(response.body)['rw-base:version'] + } catch (e) { + return reject({}); + } + + return resolve(data); + } + }); + }); +} + +About.get = function(req) { + + var api_server = req.query["api_server"]; + + return new Promise(function(resolve, reject) { + Promise.all([ + About.getVCS(req), + About.getVersion(req) + ]) + .then(function(results) { + var AboutObject = {}; + AboutObject.vcs = results[0]; + AboutObject.version = results[1]; + resolve(AboutObject); + }, function(error) { + console.log('error getting vcs data', error); + reject(error) + }); + }); +}; + +About.uptime = function(req) { + var api_server = req.query["api_server"]; + return new Promise(function(resolve, reject) { + var requestHeaders = {}; + _.extend(requestHeaders, + constants.HTTP_HEADERS.accept.data, { + 'Authorization': req.session && req.session.authorization + }); + request({ + url: utils.confdPort(api_server) + APIVersion + '/api/operational/uptime/uptime', + type: 'GET', + headers: requestHeaders, + forever: constants.FOREVER_ON, + rejectUnauthorized: false + }, + function(error, response, body) { + if (utils.validateResponse('About.uptime', error, response, body, resolve, reject)) { + try { + data = JSON.parse(response.body); + } catch (e) { + return reject({}); + } + return resolve(data) + + } + }) + }) +} +module.exports = About;