X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=skyquake%2Fframework%2Fcore%2Fmodules%2Fapi%2FuserManagementAPI.js;h=b2f55c36f4f865b8a1677596a342fb03d23afc7f;hb=35a47d156c0d1b62567ffd4380141b31568d426c;hp=873ab19331efeefaa9242640d897a7bba9fd0ad4;hpb=bb11c05914869028a39a685cf5bf2ec347f299a1;p=osm%2FUI.git diff --git a/skyquake/framework/core/modules/api/userManagementAPI.js b/skyquake/framework/core/modules/api/userManagementAPI.js index 873ab1933..b2f55c36f 100644 --- a/skyquake/framework/core/modules/api/userManagementAPI.js +++ b/skyquake/framework/core/modules/api/userManagementAPI.js @@ -70,21 +70,27 @@ UserManagement.getProfile = function(req) { var api_server = req.query['api_server']; return new Promise(function(resolve, reject) { var response = {}; - var userId = req.session.userdata.username - response['data'] = { - userId: userId, - projectId: req.session.projectId - }; - UserManagement.getUserInfo(req, userId).then(function(result) { - response.statusCode = constants.HTTP_RESPONSE_CODES.SUCCESS.OK; - response.data.data =result.data - resolve(response); - }, function(error) { - console.log('Error retrieving getUserInfo'); + try { + var userId = req.session.userdata.username + response['data'] = { + userId: userId, + projectId: req.session.projectId + }; + UserManagement.getUserInfo(req, userId).then(function(result) { + response.statusCode = constants.HTTP_RESPONSE_CODES.SUCCESS.OK; + response.data.data = result.data + resolve(response); + }, function(error) { + console.log('Error retrieving getUserInfo'); + response.statusCode = constants.HTTP_RESPONSE_CODES.ERROR.INTERNAL_SERVER_ERROR; + reject(response); + }) + } catch (e) { + response.data.data = e; response.statusCode = constants.HTTP_RESPONSE_CODES.ERROR.INTERNAL_SERVER_ERROR; reject(response); - }) - + reject() + } }); }; UserManagement.getUserInfo = function(req, userId, domain) { @@ -107,6 +113,8 @@ UserManagement.getUserInfo = function(req, userId, domain) { } }, + //id/key values for each project + projectId:[], project: { /** * [projectId] : { @@ -123,13 +131,14 @@ UserManagement.getUserInfo = function(req, userId, domain) { var userProjects = []; projects && projects.map(function(p, i) { var users = p['project-config'] && p['project-config'].user; + userData.projectId.push(p.name); users && users.map(function(u) { if(u['user-name'] == id) { userData.project[p.name] = { data: p, role: {} } - u.role.map(function(r) { + u.role && u.role.map(function(r) { userData.project[p.name].role[r.role] = true }); }