path => '',
method => 'GET',
description => "User index.",
- permissions => { user => 'all' },
+ permissions => {
+ description => "The returned list is restricted to users where you have 'User.Modify' or 'User.Allocate' permissions on '/access' or on a group the user belongs too. But it always includes the current (authenticated) user.",
+ user => 'all',
+ },
parameters => {
additionalProperties => 0,
properties => {
my $res = [];
- my $privs = [ 'User.Modify', 'User.Delete' ];
+ my $privs = [ 'User.Modify', 'User.Allocate' ];
my $canUserMod = $rpcenv->check_any($authuser, "/access", $privs, 1);
my $groups = $rpcenv->filter_groups($authuser, $privs, 1);
protected => 1,
path => '',
method => 'POST',
+ permissions => {
+ description => "You need 'User.Allocate' permissions to '/access/groups/<group>' for any group specified, or 'User.Allocate' on '/access' if you pass no groups.",
+ check => ['userid-group', ['User.Allocate'], groups_param => 1],
+ },
description => "Create new user.",
parameters => {
additionalProperties => 0,
path => '{userid}',
method => 'GET',
description => "Get user configuration.",
+ permissions => {
+ check => ['userid-group', ['User.Modify']],
+ },
parameters => {
additionalProperties => 0,
properties => {
protected => 1,
path => '{userid}',
method => 'PUT',
+ permissions => {
+ check => ['userid-group', ['User.Modify'], groups_param => 1 ],
+ },
description => "Update user configuration.",
parameters => {
additionalProperties => 0,
method => 'DELETE',
description => "Delete user.",
permissions => {
- check => ['userid-group', ['User.Delete']],
+ check => ['userid-group', ['User.Allocate']],
},
parameters => {
additionalProperties => 0,