Class: JSS::Account

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

Overview

A User or group in the JSS.

See Also:

Constant Summary collapse

RSRC_BASE =

The base for REST resources of this class

'accounts'.freeze
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
OTHER_LOOKUP_KEYS =

these keys, as well as :id and :name, can be used to look up objects of this class in the JSS

{
  userid: {rsrc_key: :userid, list: :all_user_ids},
  username: {rsrc_key: :username, list: :all_user_names},
  groupid: {rsrc_key: :groupid, list: :all_group_ids},
  groupname: {rsrc_key: :groupname, list: :all_group_names}
}.freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Account

See JSS::APIObject#initialize



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

def initialize(args = {})
  super args

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

  return unless 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

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, api: JSS.api) ⇒ Array<Hash>

Returns all JSS account group ids.

Returns:

  • (Array<Hash>)

    all JSS account group ids



95
96
97
# File 'lib/jss/api_object/account.rb', line 95

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

.all_group_names(refresh = false, api: JSS.api) ⇒ Array<Hash>

Returns all JSS account group names.

Returns:

  • (Array<Hash>)

    all JSS account group names



100
101
102
# File 'lib/jss/api_object/account.rb', line 100

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

.all_groups(refresh = false, api: JSS.api) ⇒ Array<Hash>

Returns all JSS account groups.

Returns:



90
91
92
# File 'lib/jss/api_object/account.rb', line 90

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

.all_user_ids(refresh = false, api: JSS.api) ⇒ Array<Hash>

Returns all JSS account user ids.

Returns:



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

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

.all_user_names(refresh = false, api: JSS.api) ⇒ Array<Hash>

Returns all JSS account user names.

Returns:

  • (Array<Hash>)

    all JSS account user names



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

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

.all_users(refresh = false, api: JSS.api) ⇒ Array<Hash>

Returns all JSS account users.

Returns:



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

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