Class: JSS::Account

Inherits:
APIObject show all
Defined in:
lib/jss.rb,
lib/jss/api_object/account.rb

Overview

A User in the JSS.

See Also:

Constant Summary collapse

RSRC_BASE =

The base for REST resources of this class

"accounts"
RSRC_LIST_KEY =

the hash key used for the JSON list output of all objects in the JSS

:accounts
RSRC_OBJECT_KEY =

The hash key used for the JSON object output. It’s also used in various error messages

:account

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Account

See JSS::APIObject#initialize



142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'lib/jss/api_object/account.rb', line 142

def initialize (args = {})
  super args, [:userid, :username, :groupid, :groupname]

  # check to see if a user has been specified, haven't built groups yet
  is_user = [:userid, :username].any? { |key| args.keys.include? key }

  if is_user
    @user_name = @init_data[:name]
    @full_name = @init_data[:full_name]
    @email = @init_data[:email]
    @access_level = @init_data[:access_level]
    @privilege_set = @init_data[:privilege_set]
    @privileges = @init_data[:privileges]
  end

end

Instance Attribute Details

#access_levelString (readonly)

Returns The user’s access level.

Returns:

  • (String)

    The user’s access level



114
115
116
# File 'lib/jss/api_object/account.rb', line 114

def access_level
  @access_level
end

#emailString (readonly)

Returns The user’s email address.

Returns:

  • (String)

    The user’s email address



111
112
113
# File 'lib/jss/api_object/account.rb', line 111

def email
  @email
end

#full_nameString (readonly)

Returns The user’s full name.

Returns:

  • (String)

    The user’s full name



108
109
110
# File 'lib/jss/api_object/account.rb', line 108

def full_name
  @full_name
end

#privilege_setString (readonly)

Returns The user’s privilege set.

Returns:

  • (String)

    The user’s privilege set



117
118
119
# File 'lib/jss/api_object/account.rb', line 117

def privilege_set
  @privilege_set
end

#privilegesHash (readonly)

Info about the privileges assigned to the user

Note: these arrays may be empty, they always exist

The Hash keys are:

  • :jss_objects => An array of jss_object privileges

  • :jss_settings => An array of jss_settings privileges

  • :jss_actions => An array of jss_actions privileges

  • :recon => An array of Casper Recon privileges

  • :casper_admin => An array of Casper Admin privileges

  • :casper_remote => An array of Casper Remote privileges

  • :casper_imaging => An array of Casper Imaging privileges

Returns:



133
134
135
# File 'lib/jss/api_object/account.rb', line 133

def privileges
  @privileges
end

Class Method Details

.all_group_ids(refresh = false) ⇒ Array<Hash>

Returns all JSS account group ids.

Returns:

  • (Array<Hash>)

    all JSS account group ids



80
81
82
# File 'lib/jss/api_object/account.rb', line 80

def self.all_group_ids(refresh = false)
  self.all(refresh)[:groups].map{|i| i[:id]}
end

.all_group_names(refresh = false) ⇒ Array<Hash>

Returns all JSS account group names.

Returns:

  • (Array<Hash>)

    all JSS account group names



85
86
87
# File 'lib/jss/api_object/account.rb', line 85

def self.all_group_names(refresh = false)
  self.all(refresh)[:groups].map{|i| i[:name]}
end

.all_groups(refresh = false) ⇒ Array<Hash>

Returns all JSS account groups.

Returns:



75
76
77
# File 'lib/jss/api_object/account.rb', line 75

def self.all_groups(refresh = false)
  self.all(refresh)[:groups]
end

.all_user_ids(refresh = false) ⇒ Array<Hash>

Returns all JSS account user ids.

Returns:



65
66
67
# File 'lib/jss/api_object/account.rb', line 65

def self.all_user_ids(refresh = false)
  self.all(refresh)[:users].map{|i| i[:id]}
end

.all_user_names(refresh = false) ⇒ Array<Hash>

Returns all JSS account user names.

Returns:

  • (Array<Hash>)

    all JSS account user names



70
71
72
# File 'lib/jss/api_object/account.rb', line 70

def self.all_user_names(refresh = false)
  self.all(refresh)[:users].map{|i| i[:name]}
end

.all_users(refresh = false) ⇒ Array<Hash>

Returns all JSS account users.

Returns:



60
61
62
# File 'lib/jss/api_object/account.rb', line 60

def self.all_users(refresh = false)
  self.all(refresh)[:users]
end