RBAC React Component, displays/hides components based on role
[osm/UI.git] / skyquake / framework / core / modules / api / projectManagementAPI.js
index 5ba3659..07e873d 100644 (file)
@@ -178,17 +178,21 @@ ProjectManagement.delete = function(req) {
 }
 
 
-ProjectManagement.getPlatform = function(req) {
+ProjectManagement.getPlatform = function(req, userId) {
     var self = this;
     var api_server = req.query['api_server'];
-
+    var user = req.params['userId'] || userId;
     return new Promise(function(resolve, reject) {
+        var url = utils.confdPort(api_server) + '/api/operational/rbac-platform-config';
+        if(user) {
+            url = url + '/user/' + user;
+        }
         Promise.all([
             rp({
-                uri: utils.confdPort(api_server) + '/api/operational/rbac-platform-config',
+                uri: url,
                 method: 'GET',
                 headers: _.extend({}, constants.HTTP_HEADERS.accept.data, {
-                    'Authorization': req.get('Authorization')
+                    'Authorization': req.session && req.session.authorization
                 }),
                 forever: constants.FOREVER_ON,
                 rejectUnauthorized: false,
@@ -198,7 +202,11 @@ ProjectManagement.getPlatform = function(req) {
             var response = {};
             response['data'] = {};
             if (result[0].body) {
-                response['data']['platform'] = JSON.parse(result[0].body)['rw-rbac-platform:rbac-platform-config'];
+                if(user) {
+                    response['data']['platform'] = JSON.parse(result[0].body)['rw-rbac-platform:user'];
+                } else {
+                    response['data']['platform'] = JSON.parse(result[0].body)['rw-rbac-platform:rbac-platform-config'];
+                }
             }
             response.statusCode = constants.HTTP_RESPONSE_CODES.SUCCESS.OK
 
@@ -226,7 +234,7 @@ ProjectManagement.updatePlatform = function(req) {
                 uri: utils.confdPort(api_server) + '/api/config/rbac-platform-config',
                 method: 'PUT',
                 headers: _.extend({}, constants.HTTP_HEADERS.accept.data, {
-                    'Authorization': req.get('Authorization')
+                    'Authorization': req.session && req.session.authorization
                 }),
                 forever: constants.FOREVER_ON,
                 json: data,