Method: App42::User::UserService#assign_roles

Defined in:
lib/user/UserService.rb

#assign_roles(user_name, role_list) ⇒ Object

Add Role for the App

Parameters:

  • uName
    • UserName which should be unique for the App

  • roleList
    • list of roles to be added to User

Returns:

  • The created User Object.

Raises:

  • App42Exception



1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
# File 'lib/user/UserService.rb', line 1115

def assign_roles(user_name, role_list)
  puts "assignRoles Called "
  puts "Base url #{@base_url}"
  response, usr = nil
  usr, util = User.new, Util.new
  util.throwExceptionIfNullOrBlank(user_name, "UserName")
  util.throwExceptionIfNullOrBlank(role_list, "RoleList")
  raise App42Exception.new("RoleList cannot be empty.Please assign at least one role") if role_list.size == 0
  begin
    connection = App42::Connection::RESTConnection.new(@base_url)
    body = {'app42' => {"user"=> {
      "userName" => user_name, "roles" => {
      "role" => role_list
      }}}}.to_json
    puts "Body #{body}"
    query_params = {}
    params = {
      'apiKey'=> @api_key,
      'version' => @version,
      'timeStamp' => util.get_timestamp_utc,
    }
    query_params = params.clone
    params.store("body", body)
    puts query_params
    signature = util.sign(@secret_key, params)
    resource_url = "#{@version}/#{@resource}/assignrole"
    response = connection.post(signature, resource_url, query_params, body)
    user = UserResponseBuilder.new()
    usr = user.buildResponse(response)
  rescue  App42Exception =>e
    raise e
  rescue  Exception => e
    raise App42Exception.new(e)
  end
  return usr
end