var api_server = req.query['api_server'];
return new Promise(function(resolve, reject) {
- Promise.all([
- rp({
+ var userConfig = rp({
uri: utils.confdPort(api_server) + '/api/operational/user-config/user',
method: 'GET',
headers: _.extend({}, constants.HTTP_HEADERS.accept.data, {
forever: constants.FOREVER_ON,
rejectUnauthorized: false,
resolveWithFullResponse: true
+ });
+ var userOp = rp({
+ uri: utils.confdPort(api_server) + '/api/operational/user-state/user',
+ method: 'GET',
+ headers: _.extend({}, constants.HTTP_HEADERS.accept.data, {
+ 'Authorization': req.session && req.session.authorization
+ }),
+ forever: constants.FOREVER_ON,
+ rejectUnauthorized: false,
+ resolveWithFullResponse: true
})
+ Promise.all([
+ userConfig,
+ userOp
]).then(function(result) {
var response = {};
response['data'] = {};
+ var resultData = [];
if (result[0].body) {
- response['data']['user'] = JSON.parse(result[0].body)['rw-user:user'];
+ resultData.push(JSON.parse(result[0].body)['rw-user:user'].sort());
+ }
+ if (result[1].body) {
+ resultData.push(JSON.parse(result[1].body)['rw-user:user'].sort());
}
response.statusCode = constants.HTTP_RESPONSE_CODES.SUCCESS.OK
-
+ response['data']['user'] = resultData[0].map(function(d,i) {
+ var mergedData = _.merge(d, resultData[1][i]);
+ mergedData.projects = {
+ ids: [],
+ data: {}
+ };
+ var projects = mergedData.projects;
+ mergedData.role && mergedData.role.map(function(r) {
+ if ((r.role != "rw-project:user-self" )&& (r.role != "rw-rbac-platform:user-self")) {
+ var projectId = r.keys.split(';')[0];
+ if (projectId == "") {
+ projectId = "platform"
+ }
+ if (!projects.data[projectId]) {
+ projects.ids.push(projectId);
+ projects.data[projectId] = [];
+ }
+ projects.data[projectId].push(r.role);
+ }
+ })
+ return mergedData;
+ })
resolve(response);
}).catch(function(error) {
var response = {};
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) {
}
},
+ //id/key values for each project
+ projectId:[],
project: {
/**
* [projectId] : {
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] = {
u.role && u.role.map(function(r) {
userData.project[p.name].role[r.role] = true
});
+ u["rw-project-mano:mano-role"] && u["rw-project-mano:mano-role"] .map(function(r) {
+ userData.project[p.name].role[r.role] = true
+ });
}
})
});
var api_server = req.query['api_server'];
var bodyData = req.body;
data = {
- "user":[bodyData]
+ "rw-user:user": bodyData
}
var updateTasks = [];
if(bodyData.hasOwnProperty('old-password')) {
updateTasks.push(changePW);
};
var updateUser = rp({
- uri: utils.confdPort(api_server) + '/api/config/user-config',
+ uri: utils.confdPort(api_server) + '/api/config/user-config/user/' + bodyData['user-name'] + ',' + bodyData['user-domain'],
method: 'PUT',
headers: _.extend({}, constants.HTTP_HEADERS.accept.data, {
'Authorization': req.session && req.session.authorization