X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=skyquake%2Fframework%2Fcore%2Fmodules%2Fapi%2FuserManagementAPI.js;h=0608c5db614ced4639c1f97ffc82c97a90b47f01;hb=98ede33d3f1b2c7c05db14c00400bbde49f3fe9c;hp=cf33313ef7f8f1e7a8303c60a10c4f1d938e8308;hpb=ba19ffdfd442c7ebe66f482b90f6bc65a0e9b8be;p=osm%2FUI.git diff --git a/skyquake/framework/core/modules/api/userManagementAPI.js b/skyquake/framework/core/modules/api/userManagementAPI.js index cf33313ef..0608c5db6 100644 --- a/skyquake/framework/core/modules/api/userManagementAPI.js +++ b/skyquake/framework/core/modules/api/userManagementAPI.js @@ -33,10 +33,10 @@ UserManagement.get = function(req) { return new Promise(function(resolve, reject) { Promise.all([ rp({ - uri: utils.confdPort(api_server) + '/api/operational/user-config/users', + uri: utils.confdPort(api_server) + '/api/operational/user-config/user', 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, @@ -46,7 +46,7 @@ UserManagement.get = function(req) { var response = {}; response['data'] = {}; if (result[0].body) { - response['data']['users'] = JSON.parse(result[0].body)['rw-user:users']; + response['data']['user'] = JSON.parse(result[0].body)['rw-user:user']; } response.statusCode = constants.HTTP_RESPONSE_CODES.SUCCESS.OK @@ -62,12 +62,27 @@ UserManagement.get = function(req) { }); }); }; + +UserManagement.getProfile = function(req) { + var self = this; + var api_server = req.query['api_server']; + return new Promise(function(resolve, reject) { + var response = {}; + response['data'] = { + userId: req.session.userdata.username, + projectId: req.session.projectId + }; + response.statusCode = constants.HTTP_RESPONSE_CODES.SUCCESS.OK + + resolve(response); + }); +}; UserManagement.create = function(req) { var self = this; var api_server = req.query['api_server']; var data = req.body; data = { - "users":[data] + "user":[data] } return new Promise(function(resolve, reject) { Promise.all([ @@ -75,7 +90,7 @@ UserManagement.create = function(req) { uri: utils.confdPort(api_server) + '/api/config/user-config', method: 'POST', headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { - 'Authorization': req.get('Authorization') + 'Authorization': req.session && req.session.authorization }), forever: constants.FOREVER_ON, json: data, @@ -102,6 +117,71 @@ UserManagement.create = function(req) { }); }); }; +UserManagement.update = function(req) { + var self = this; + var api_server = req.query['api_server']; + var bodyData = req.body; + data = { + "user":[bodyData] + } + var updateTasks = []; + if(bodyData.hasOwnProperty('old-password')) { + var changePW = rp({ + uri: utils.confdPort(api_server) + '/api/operations/change-password', + method: 'POST', + headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { + 'Authorization': req.session && req.session.authorization + }), + forever: constants.FOREVER_ON, + json: { + "input": { + 'user-name' : bodyData['user-name'], + 'user-domain' : bodyData['user-domain'], + 'old-password' : bodyData['old-password'], + 'new-password' : bodyData['new-password'], + 'confirm-password' : bodyData['confirm-password'], + } + }, + rejectUnauthorized: false, + resolveWithFullResponse: true + }); + updateTasks.push(changePW); + }; + var updateUser = rp({ + uri: utils.confdPort(api_server) + '/api/config/user-config', + method: 'PUT', + headers: _.extend({}, constants.HTTP_HEADERS.accept.data, { + 'Authorization': req.session && req.session.authorization + }), + forever: constants.FOREVER_ON, + json: data, + rejectUnauthorized: false, + resolveWithFullResponse: true + }); + updateTasks.push(updateUser) + return new Promise(function(resolve, reject) { + Promise.all([ + updateTasks + ]).then(function(result) { + var response = {}; + response['data'] = {}; + if (result[0].body) { + response['data'] = result[0].body; + } + response.statusCode = constants.HTTP_RESPONSE_CODES.SUCCESS.OK + + resolve(response); + }).catch(function(error) { + var response = {}; + console.log('Problem with UserManagement.passwordChange', error); + response.statusCode = error.statusCode || 500; + response.errorMessage = { + error: 'Failed to passwordChange user' + error + }; + reject(response); + }); + }); +}; UserManagement.delete = function(req) { var self = this; @@ -109,12 +189,12 @@ UserManagement.delete = function(req) { var domain = req.params.domain; var api_server = req.query["api_server"]; var requestHeaders = {}; - var url = `${utils.confdPort(api_server)}/api/config/user-config/users/${username},${domain}` + var url = `${utils.confdPort(api_server)}/api/config/user-config/user/${username},${domain}` return new Promise(function(resolve, reject) { _.extend(requestHeaders, constants.HTTP_HEADERS.accept.data, constants.HTTP_HEADERS.content_type.data, { - 'Authorization': req.get('Authorization') + 'Authorization': req.session && req.session.authorization }); rp({ url: url,