mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-11 23:47:42 +00:00
#268: Implement user update service call.
This commit is contained in:
@@ -191,6 +191,64 @@ GuacamoleService.Users = {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the user having the given username.
|
||||||
|
*
|
||||||
|
* @param {String} username The username of the user to create.
|
||||||
|
* @param {String} password The password to assign to the user.
|
||||||
|
* @param {GuacamoleService.PermissionSet} permissions The permissions to
|
||||||
|
* assign.
|
||||||
|
* @param {String} parameters Any parameters which should be passed to the
|
||||||
|
* server for the sake of authentication
|
||||||
|
* (optional).
|
||||||
|
*/
|
||||||
|
"update" : function(username, password, permissions, parameters) {
|
||||||
|
|
||||||
|
// Construct request URL
|
||||||
|
var users_url = "users/update?name=" + encodeURIComponent(username);
|
||||||
|
if (parameters) users_url += "&" + parameters;
|
||||||
|
|
||||||
|
// Init POST data
|
||||||
|
var data = "password=" + encodeURIComponent(password);
|
||||||
|
|
||||||
|
// Creation permissions
|
||||||
|
if (permissions.create_user) data += "&user=create";
|
||||||
|
if (permissions.create_connection) data += "&connection=create";
|
||||||
|
|
||||||
|
var name;
|
||||||
|
|
||||||
|
// User permissions
|
||||||
|
for (name in permissions.read_user)
|
||||||
|
data += "&user=read:" + encodeURIComponent(name);
|
||||||
|
for (name in permissions.administer_user)
|
||||||
|
data += "&user=admin:" + encodeURIComponent(name);
|
||||||
|
for (name in permissions.update_user)
|
||||||
|
data += "&user=update:" + encodeURIComponent(name);
|
||||||
|
for (name in permissions.remove_user)
|
||||||
|
data += "&user=delete:" + encodeURIComponent(name);
|
||||||
|
|
||||||
|
// Connection permissions
|
||||||
|
for (name in permissions.read_connection)
|
||||||
|
data += "&connection=read:" + encodeURIComponent(name);
|
||||||
|
for (name in permissions.administer_connection)
|
||||||
|
data += "&connection=admin:" + encodeURIComponent(name);
|
||||||
|
for (name in permissions.update_connection)
|
||||||
|
data += "&connection=update:" + encodeURIComponent(name);
|
||||||
|
for (name in permissions.remove_connection)
|
||||||
|
data += "&connection=delete:" + encodeURIComponent(name);
|
||||||
|
|
||||||
|
// Update user
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
xhr.open("POST", users_url, false);
|
||||||
|
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||||
|
xhr.send(data);
|
||||||
|
|
||||||
|
// If fail, throw error
|
||||||
|
if (xhr.status != 200)
|
||||||
|
throw new Error(xhr.statusText);
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new user having the given username.
|
* Creates a new user having the given username.
|
||||||
*
|
*
|
||||||
@@ -215,7 +273,6 @@ GuacamoleService.Users = {
|
|||||||
throw new Error(xhr.statusText);
|
throw new Error(xhr.statusText);
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deletes the user having the given username.
|
* Deletes the user having the given username.
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user