Module: Code42::API::User

Included in:
Client
Defined in:
lib/code42/api/user.rb

Instance Method Summary collapse

Instance Method Details

#activate_user(id) ⇒ Object



85
86
87
# File 'lib/code42/api/user.rb', line 85

def activate_user(id)
  delete("UserDeactivation/#{id}")
end

#block_user(id) ⇒ Object

Block a user from logging in

Returns:

  • true if blocked



70
71
72
# File 'lib/code42/api/user.rb', line 70

def block_user(id)
  put("UserBlock/#{id}")
end

#create_user(attrs = {}) ⇒ Code42::User

Creates a user

Examples:

client.create_user(:username => 'testuser', password: 'letmein', email: '[email protected]', org_id: 3)

Parameters:

  • attrs (Hash) (defaults to: {})

    A hash of attributes to assign to created user

Returns:



11
12
13
# File 'lib/code42/api/user.rb', line 11

def create_user(attrs = {})
  object_from_response(Code42::User, :post, "user", attrs)
end

#deactivate_user(id) ⇒ Object



81
82
83
# File 'lib/code42/api/user.rb', line 81

def deactivate_user(id)
  put("UserDeactivation/#{id}")
end

#find_user_by_channel_id(channel_id = 1) ⇒ Code42::User

Returns a user for a given channel id

Parameters:

  • channel_id (String, Integer) (defaults to: 1)

    A code42 User

Returns:



50
51
52
# File 'lib/code42/api/user.rb', line 50

def find_user_by_channel_id(channel_id = 1)
  object_from_response(Code42::User, :get, "userChannel?channelCustomerId=#{channel_id}")
end

#find_user_by_id(id = 'my', params = {}) ⇒ Object

Returns a user for a given id



37
38
39
# File 'lib/code42/api/user.rb', line 37

def find_user_by_id(id = 'my', params = {})
  object_from_response(Code42::User, :get, "user/#{id}", params)
end

#find_user_by_username(username, params = {}) ⇒ Object

Returns a user for a given username



42
43
44
45
# File 'lib/code42/api/user.rb', line 42

def find_user_by_username(username, params = {})
  params.merge!(username: username)
  users(params).first
end

#permissionsArray

Returns a list of permissions for the session user

Returns:

  • (Array)

    An array of matching permissions



91
92
93
# File 'lib/code42/api/user.rb', line 91

def permissions
  objects_from_response(Code42::Permission, :get, 'permission')
end

#unblock_user(id) ⇒ Object

Unblock a previously blocked user

Returns:

  • true if unblocked



77
78
79
# File 'lib/code42/api/user.rb', line 77

def unblock_user(id)
  delete("UserBlock/#{id}")
end

#update_user(id, attrs = {}) ⇒ Object

Updates a user

Examples:

client.update_user(2, email_promo: true, first_name: 'John')

Parameters:

  • id (integer)

    The user id to be updated

  • attrs (Hash) (defaults to: {})

    A hash of attributes to update



21
22
23
# File 'lib/code42/api/user.rb', line 21

def update_user(id, attrs = {})
  object_from_response(Code42::User, :put, "user/#{id}", attrs)
end

#user(id_or_username = "my", params = {}) ⇒ Code42::User

Returns information for a given user

Parameters:

  • id_or_username (String, Integer) (defaults to: "my")

    A code42 user ID or username

Returns:



28
29
30
31
32
33
34
# File 'lib/code42/api/user.rb', line 28

def user(id_or_username = "my", params = {})
  if id_or_username.is_a?(Fixnum) || id_or_username == 'my'
    find_user_by_id id_or_username, params
  else
    find_user_by_username id_or_username, params
  end
end

#user_exists?(username) ⇒ Boolean

Check if user exists with given username.

Returns:

  • (Boolean)


63
64
65
# File 'lib/code42/api/user.rb', line 63

def user_exists?(username)
  users(username: username).present?
end

#users(params = {}) ⇒ Array

Returns a list of up to 100 users

Parameters:

  • params (Hash) (defaults to: {})

    A hash of parameters to match results against

Returns:

  • (Array)

    An array of matching users



57
58
59
60
# File 'lib/code42/api/user.rb', line 57

def users(params = {})
  params.merge!(key: 'users')
  objects_from_response(Code42::User, :get, 'user', params)
end