# "cmd": "command or all", -> if empty, set default privileges
# "privileges": "priv" -> 'r', 'rw' or ''
# }
#
# * *Returns* :
# 200 - Updated
put"/user/:user"do
check_headers:accept,:content_type
check_privileges("user","w")
data=create_object_from_json_body
user=BaseRoutes.mongo.userparams[:user]
cmd=check_string(data["cmd"],"Parameter 'cmd' should be a not empty string",true)||""
privileges=check_string(data["privileges"],"Parameter 'privileges' should be a not empty string",true)||""
user.grant(cmd,privileges)
BaseRoutes.mongo.user_updateuser
create_response("Updated")
end
# Change user email/password
#
# * *Request*
# - method : PUT
# - headers :
# - Accept: application/json
# - Content-Type: application/json
# - body :
# {
# "email/password": "new user email/password",
# }
#
# * *Returns* :
# 200 - Updated
put%r{\A/user/[\w]+/(email|password)\z}do
check_headers:accept,:content_type
action=File.basename(request.path)
u=File.basename(File.dirname(request.path))
raiseInvalidPrivileges.new("Access denied for '#{request.env['REMOTE_USER']}'")ifu==User::ROOT_USER_NAMEandrequest.env['REMOTE_USER']!=User::ROOT_USER_NAME