public. Modify an existing group
Input:
<group id="{int}">
<permissions.group>
<role>{text}</role>
</permissions.group>
</group> Output:
<group id="{int}" href="{uri}">
<name>{text}</name>
<service.authentication id="{int}" href="{uri}" />
<users count="{int}" href="{uri}" />
<permissions.group>
<operations mask="{int}">{text}</operations>
<role id="{int}" href="{uri}">{text}</role>
</permissions.group>
</group>Note that this feature only updates the group role. Use PUT:groups/{groupid}/users to add and remove users from a group.
The role name must match one of the roles defined by GET:site/roles.
The following code example updates group with ID 2 to have the Contributor role:
Plug p = Plug.New("http://deki-hayes/@api/deki");
p.At("users", "authenticate").WithCredentials("admin", "password").Get();
XDoc groupDoc = new XDoc("group")
.Start("permissions.group")
.Elem("role", "Contributor")
.End();
p.At("groups", "2").Put(groupDoc); Sample response indicating that the group was successfully updated:
<group id="2" href="http://deki-hayes/@api/deki/groups/2">
<name>My Contributors Group</name>
<service.authentication id="1" href="http://deki-hayes/@api/deki/site/services/1" />
<users count="2" href="http://deki-hayes/@api/deki/groups/2/users" />
<permissions.group>
<operations mask="1343">LOGIN,BROWSE,READ,SUBSCRIBE,UPDATE,CREATE,DELETE,CHANGEPERMISSIONS</operations>
<role id="4" href="http://deki-hayes/@api/deki/site/roles/4">Contributor</role>
</permissions.group>
</group>