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



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

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



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

def access_level
  @access_level
end

#emailString (readonly)

Returns The user’s email address.

Returns:

  • (String)

    The user’s email address



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

def email
  @email
end

#full_nameString (readonly)

Returns The user’s full name.

Returns:

  • (String)

    The user’s full name



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

def full_name
  @full_name
end

#privilege_setString (readonly)

Returns The user’s privilege set.

Returns:

  • (String)

    The user’s privilege set



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

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:



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

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



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

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



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

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:



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

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:



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

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



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

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:



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

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