module Five9::UserManagement

Public Class Methods

connected?() click to toggle source
# File lib/five9/user_management.rb, line 11
def connected?
  @connected
end
create_user(user_info = {}) click to toggle source
# File lib/five9/user_management.rb, line 15
def create_user user_info = {}
  validate_connection do
    response = @client.call :create_user, { message: {
      userInfo: user_info } }
    process_return_hash response, :create_user_response
  end
end
delete_user(username) click to toggle source
# File lib/five9/user_management.rb, line 23
def delete_user username
  validate_connection do
    response = @client.call :delete_user, message: { user_name: username }
    process_return_hash response, :delete_user_response
  end
end
establish_connection(adminuser, password) click to toggle source
# File lib/five9/user_management.rb, line 4
def establish_connection adminuser, password
  @client = Base.new(adminuser, password,
    "https://api.five9.com/wsadmin/v2/AdminWebService?wsdl&user=")
      .instance_variable_get :@client
  @connected = true
end
get_users_general_info(username_pattern = nil) click to toggle source
# File lib/five9/user_management.rb, line 30
def get_users_general_info username_pattern = nil
  validate_connection do
    response = @client.call :get_users_general_info,
      message: { userNamePattern: username_pattern }
    process_return_hash response, :get_users_general_info_response
  end
end
get_users_info(username_pattern = nil) click to toggle source
# File lib/five9/user_management.rb, line 38
def get_users_info username_pattern = nil
  validate_connection do
    response = @client.call :get_users_info,
      message: { userNamePattern: username_pattern }      
    process_return_hash response, :get_users_info_response
  end
end
modify_user(args) click to toggle source
# File lib/five9/user_management.rb, line 46
def modify_user args
  validate_connection do
    response = @client.call :modify_user, message: args
    process_return_hash response, :modify_user_response
  end
end
user_skill_add(skill) click to toggle source
# File lib/five9/user_management.rb, line 53
def user_skill_add skill
  validate_connection do
    response = @client.call :user_skill_add, message: skill
    process_return_hash response, :user_skill_add_response
  end
end
user_skill_modify(skill) click to toggle source
# File lib/five9/user_management.rb, line 60
def user_skill_modify skill
  validate_connection do
    response = @client.call :user_skill_modify, message: skill
    process_return_hash response, :user_skill_modify_response
  end
end
user_skill_remove(skill) click to toggle source
# File lib/five9/user_management.rb, line 67
def user_skill_remove skill
  validate_connection do
    response = @client.call :user_skill_remove, message: skill
    process_return_hash response, :user_skill_remove_response
  end
end

Private Class Methods

process_return_hash(response, method_response_key) click to toggle source
# File lib/five9/user_management.rb, line 75
def process_return_hash response, method_response_key
  response_hash = response.to_hash
  if response_hash[method_response_key].class == Hash
    unless response_hash[method_response_key][:return].class == NilClass
      return response_hash[method_response_key][:return]
    else
      return response_hash[method_response_key]
    end
  else
    return response_hash
  end
end
validate_connection(&block) click to toggle source
# File lib/five9/user_management.rb, line 88
def validate_connection &block
  if @connected
    begin
      block.call if block
    rescue Wasabi::Resolver::HTTPError
      raise "Something went wrong! Please insure the connection is established with the proper credentials."
    end
  else
    raise "Connection to Five9 not established!"
  end
end