X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=skyquake%2Fplugins%2Fconfig%2Fapi%2Fro.js;fp=skyquake%2Fplugins%2Fconfig%2Fapi%2Fro.js;h=99fb1d73c6f3d91779736efa8f3a41c51d579b02;hb=dfe972ff7c9f7b6b1d730e66b0b2aa8df2ce329b;hp=0000000000000000000000000000000000000000;hpb=e8b63f1993b397787576bdd884366a6640a5adea;p=osm%2FUI.git diff --git a/skyquake/plugins/config/api/ro.js b/skyquake/plugins/config/api/ro.js new file mode 100644 index 000000000..99fb1d73c --- /dev/null +++ b/skyquake/plugins/config/api/ro.js @@ -0,0 +1,94 @@ +/* + * STANDARD_RIFT_IO_COPYRIGHT + */ + +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 RO = {} +RO.get = function(req) { +return new Promise(function(resolve, reject) { + var self = this; + var api_server = req.query["api_server"]; + var requestHeaders = {}; + var url = utils.confdPort(api_server) + '/api/running/resource-orchestrator'; + _.extend( + requestHeaders, + id ? constants.HTTP_HEADERS.accept.data : constants.HTTP_HEADERS.accept.collection, { + 'Authorization': req.get('Authorization') + } + ); + + request({ + url: url + '?deep', + type: 'GET', + headers: requestHeaders, + forever: constants.FOREVER_ON, + rejectUnauthorized: false + }, + function(error, response, body) { + var data; + if (utils.validateResponse('RO.get', error, response, body, resolve, reject)) { + try { + data = JSON.parse(response.body); + if (!id) { + data = data.collection; + } + + data = data[objKey] + } catch (e) { + console.log('Problem with "' + type.toUpperCase() + '.get"', e); + var err = {}; + err.statusCode = 500; + err.errorMessage = { + error: 'Problem with "' + type.toUpperCase() + '.get": ' + e + } + return reject(err); + } + return resolve({ + statusCode: response.statusCode, + data: data + }); + }; + }); + }); +} + +RO.update = updateAccount; + +function updateAccount(req) { + var self = this; + var api_server = req.query["api_server"]; + var data = req.body; + var requestHeaders = {}; + var url = utils.confdPort(api_server) + '/api/config/resource-orchestrator'; + var method = 'PUT' + + return new Promise(function(resolve, reject) { + _.extend(requestHeaders, + constants.HTTP_HEADERS.accept.data, + constants.HTTP_HEADERS.content_type.data, { + 'Authorization': req.get('Authorization') + }); + request({ + url: url, + method: method, + headers: requestHeaders, + forever: constants.FOREVER_ON, + rejectUnauthorized: false, + json: data, + }, function(error, response, body) { + if (utils.validateResponse('RO.update', error, response, body, resolve, reject)) { + return resolve({ + statusCode: response.statusCode, + data: JSON.stringify(response.body) + }); + }; + }); + }) +} + +module.exports = RO;