Project UI updates and bug fixes
[osm/UI.git] / skyquake / framework / core / api_utils / utils.js
index bd99fe1..488cd9e 100644 (file)
@@ -49,6 +49,14 @@ var confdPort = function(api_server) {
        return api_server + ':' + CONFD_PORT;
 };
 
+var projectContextUrl = function(req, url) {
+       if (req.session && req.session.projectId) {
+               return url.replace(/(\/api\/operational\/|\/api\/config\/|\/api\/operations\/)(.*)/, '$1project/pname/$2');
+
+       }
+       return url;
+}
+
 
 var validateResponse = function(callerName, error, response, body, resolve, reject) {
        var res = {};
@@ -95,7 +103,7 @@ var validateResponse = function(callerName, error, response, body, resolve, reje
 
 var checkAuthorizationHeader = function(req) {
        return new Promise(function(resolve, reject) {
-               if (req.get('Authorization') == null) {
+               if (req.session && req.session.authorization == null) {
                        reject();
                } else {
                        resolve();
@@ -197,10 +205,10 @@ var passThroughConstructor = function(app) {
                }
                new Promise(function(resolve, reject) {
                        request({
-                               uri: uri,
+                               uri: projectContextUrl(req, uri),
                                method: 'GET',
                                headers: _.extend({}, CONSTANTS.HTTP_HEADERS.accept[type], {
-                                       'Authorization': req.get('Authorization'),
+                                       'Authorization': req.session && req.session.authorization,
                                        forever: CONSTANTS.FOREVER_ON,
                                        rejectUnauthorized: false,
                                })
@@ -217,32 +225,13 @@ var passThroughConstructor = function(app) {
        });
 }
 
-
-var testAuthentication = function(app) {
-    app.get('/check-auth', function(req, res) {
-        console.log('testing auth')
-        var api_server = req.query["api_server"];
-        var uri = confdPort(api_server) + '/api/config/';
-                new Promise(function(resolve, reject) {
-            request({
-                uri: uri,
-                method: 'GET',
-                headers: _.extend({}, CONSTANTS.HTTP_HEADERS.accept[type], {
-                    'Authorization': req.get('Authorization'),
-                    forever: CONSTANTS.FOREVER_ON,
-                    rejectUnauthorized: false,
-                })
-            }, function(error, response, body) {
-                if (validateResponse('Passthrough: ' + url, error, response, body, resolve, reject)) {
-                    resolve(JSON.parse(response.body))
-                };
-            });
-        }).then(function(data) {
-            res.send(data);
-        }, function(error) {
-                       res.send({'error': error, uri: uri})
-        });;
-    })
+var getPortForProtocol = function(protocol) {
+  switch (protocol) {
+    case 'http':
+      return 8000;
+    case 'https':
+      return 8443;
+  }
 }
 
 module.exports = {
@@ -263,5 +252,7 @@ module.exports = {
 
     passThroughConstructor: passThroughConstructor,
 
-    testAuthentication: testAuthentication
+    getPortForProtocol: getPortForProtocol,
+
+    projectContextUrl: projectContextUrl
 };