Method: App42::User::UserService#change_user_password

Defined in:
lib/user/UserService.rb

#change_user_password(user_name, old_password, new_password) ⇒ Object

Change the password for user based on the userName.

Parameters:

  • uName
    • UserName which should be unique for the App

  • oldPwd
    • Old Password for the user for authentication

  • newPwd
    • New Password for the user to change

Returns:

  • App42Response Object if updated successfully

Raises:

  • App42Exception



665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
# File 'lib/user/UserService.rb', line 665

def change_user_password(user_name, old_password, new_password)
  puts "changeUserPassword Called "
  puts "Base url #{@base_url}"
  response = nil
  responseObj = App42Response.new()
  util = Util.new
  util.throwExceptionIfNullOrBlank(user_name, "UserName")
  util.throwExceptionIfNullOrBlank(old_password, "Old Password")
  util.throwExceptionIfNullOrBlank(new_password, "New Password")
  responseObj = App42Response.new
  if(old_password == new_password)
    raise App42Exception.new("Old password and new password are same")
  end
  begin
    connection = App42::Connection::RESTConnection.new(@base_url)
    body = {'app42' => {"user"=> {
      "userName" => user_name,
      "oldPassword" => old_password,
      "newPassword" => new_password
      }}}.to_json
    query_params = {}
    params = {
      'apiKey'=> @api_key,
      'version' => @version,
      'timeStamp' => util.get_timestamp_utc,
    }
    query_params = params.clone
    params.store("body", body)
    signature = util.sign(@secret_key, params)
    resource_url = "#{@version}/#{@resource}/changeUserPassword"
    response = connection.put(signature, resource_url, query_params, body)
    responseObj.strResponse=(response)
    responseObj.isResponseSuccess=(true)
  rescue  App42Exception =>e
    raise e
  rescue  Exception => e
    raise App42Exception.new(e)
  end
  return responseObj
end