Class: Comet::UserProfileConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/comet/models/user_profile_config.rb

Overview

UserProfileConfig is a typed class wrapper around the underlying Comet Server API data structure. This is the main data structure for a user’s profile.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeUserProfileConfig

Returns a new instance of UserProfileConfig.



114
115
116
# File 'lib/comet/models/user_profile_config.rb', line 114

def initialize
  clear
end

Instance Attribute Details

#account_nameObject

Returns the value of attribute account_name.



20
21
22
# File 'lib/comet/models/user_profile_config.rb', line 20

def 
  @account_name
end

#all_protected_items_quota_bytesObject

Returns the value of attribute all_protected_items_quota_bytes.



62
63
64
# File 'lib/comet/models/user_profile_config.rb', line 62

def all_protected_items_quota_bytes
  @all_protected_items_quota_bytes
end

#all_protected_items_quota_enabledObject

Returns the value of attribute all_protected_items_quota_enabled.



59
60
61
# File 'lib/comet/models/user_profile_config.rb', line 59

def all_protected_items_quota_enabled
  @all_protected_items_quota_enabled
end

#allow_password_and_totploginObject

Returns the value of attribute allow_password_and_totplogin.



91
92
93
# File 'lib/comet/models/user_profile_config.rb', line 91

def allow_password_and_totplogin
  @allow_password_and_totplogin
end

#allow_password_loginObject

Returns the value of attribute allow_password_login.



88
89
90
# File 'lib/comet/models/user_profile_config.rb', line 88

def 
  @allow_password_login
end

#backup_rulesObject

Returns the value of attribute backup_rules.



50
51
52
# File 'lib/comet/models/user_profile_config.rb', line 50

def backup_rules
  @backup_rules
end

#create_timeObject

Returns the value of attribute create_time.



103
104
105
# File 'lib/comet/models/user_profile_config.rb', line 103

def create_time
  @create_time
end

#creation_guidObject

Returns the value of attribute creation_guid.



106
107
108
# File 'lib/comet/models/user_profile_config.rb', line 106

def creation_guid
  @creation_guid
end

#destinationsObject

Storage Vaults



43
44
45
# File 'lib/comet/models/user_profile_config.rb', line 43

def destinations
  @destinations
end

#devicesObject

Returns the value of attribute devices.



53
54
55
# File 'lib/comet/models/user_profile_config.rb', line 53

def devices
  @devices
end

#emailsObject

Returns the value of attribute emails.



33
34
35
# File 'lib/comet/models/user_profile_config.rb', line 33

def emails
  @emails
end

#is_suspendedObject

Returns the value of attribute is_suspended.



56
57
58
# File 'lib/comet/models/user_profile_config.rb', line 56

def is_suspended
  @is_suspended
end

#language_codeObject

Returns the value of attribute language_code.



26
27
28
# File 'lib/comet/models/user_profile_config.rb', line 26

def language_code
  @language_code
end

#local_timezoneObject

Returns the value of attribute local_timezone.



23
24
25
# File 'lib/comet/models/user_profile_config.rb', line 23

def local_timezone
  @local_timezone
end

#maximum_devicesObject

Returns the value of attribute maximum_devices.



65
66
67
# File 'lib/comet/models/user_profile_config.rb', line 65

def maximum_devices
  @maximum_devices
end

#organization_idObject

Tenant



30
31
32
# File 'lib/comet/models/user_profile_config.rb', line 30

def organization_id
  @organization_id
end

#override_email_settingsObject

Returns the value of attribute override_email_settings.



36
37
38
# File 'lib/comet/models/user_profile_config.rb', line 36

def override_email_settings
  @override_email_settings
end

#password_formatObject

To change the user’s password, use the AdminResetUserPassword API instead of accessing these fields directly. Otherwise, other encrypted fields in the user profile may become corrupted.



79
80
81
# File 'lib/comet/models/user_profile_config.rb', line 79

def password_format
  @password_format
end

#password_hashObject

Returns the value of attribute password_hash.



82
83
84
# File 'lib/comet/models/user_profile_config.rb', line 82

def password_hash
  @password_hash
end

#password_recoveryObject

Returns the value of attribute password_recovery.



85
86
87
# File 'lib/comet/models/user_profile_config.rb', line 85

def password_recovery
  @password_recovery
end

#policyObject

Returns the value of attribute policy.



74
75
76
# File 'lib/comet/models/user_profile_config.rb', line 74

def policy
  @policy
end

#policy_idObject

If the PolicyID field is set to a non-empty string, the Comet Server will enforce the contents of the Policy field based on the matching server’s policy. Otherwise if the PolicyID field is set to an empty string, the administrator may configure any custom values in the Policy field.



71
72
73
# File 'lib/comet/models/user_profile_config.rb', line 71

def policy_id
  @policy_id
end

#require_password_changeObject

Returns the value of attribute require_password_change.



100
101
102
# File 'lib/comet/models/user_profile_config.rb', line 100

def require_password_change
  @require_password_change
end

#send_email_reportsObject

Returns the value of attribute send_email_reports.



39
40
41
# File 'lib/comet/models/user_profile_config.rb', line 39

def send_email_reports
  @send_email_reports
end

#server_configObject

Returns the value of attribute server_config.



109
110
111
# File 'lib/comet/models/user_profile_config.rb', line 109

def server_config
  @server_config
end

#sourcesObject

Protected Items



47
48
49
# File 'lib/comet/models/user_profile_config.rb', line 47

def sources
  @sources
end

#totpkeyObject

Returns the value of attribute totpkey.



97
98
99
# File 'lib/comet/models/user_profile_config.rb', line 97

def totpkey
  @totpkey
end

#totpkey_encryption_formatObject

Returns the value of attribute totpkey_encryption_format.



94
95
96
# File 'lib/comet/models/user_profile_config.rb', line 94

def totpkey_encryption_format
  @totpkey_encryption_format
end

#unknown_json_fieldsObject

Returns the value of attribute unknown_json_fields.



112
113
114
# File 'lib/comet/models/user_profile_config.rb', line 112

def unknown_json_fields
  @unknown_json_fields
end

#usernameObject

Returns the value of attribute username.



17
18
19
# File 'lib/comet/models/user_profile_config.rb', line 17

def username
  @username
end

Instance Method Details

#clearObject



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/comet/models/user_profile_config.rb', line 118

def clear
  @username = ''
  @account_name = ''
  @local_timezone = ''
  @language_code = ''
  @organization_id = ''
  @emails = []
  @override_email_settings = {}
  @destinations = {}
  @sources = {}
  @backup_rules = {}
  @devices = {}
  @all_protected_items_quota_bytes = 0
  @maximum_devices = 0
  @policy_id = ''
  @policy = Comet::UserPolicy.new
  @password_format = 0
  @password_hash = ''
  @password_recovery = ''
  @totpkey_encryption_format = 0
  @totpkey = ''
  @create_time = 0
  @creation_guid = ''
  @server_config = Comet::UserServerConfig.new
  @unknown_json_fields = {}
end

#from_hash(obj) ⇒ Object

Parameters:

  • obj (Hash)

    The complete object as a Ruby hash

Raises:

  • (TypeError)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# File 'lib/comet/models/user_profile_config.rb', line 153

def from_hash(obj)
  raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash

  obj.each do |k, v|
    case k
    when 'Username'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @username = v
    when 'AccountName'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @account_name = v
    when 'LocalTimezone'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @local_timezone = v
    when 'LanguageCode'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @language_code = v
    when 'OrganizationID'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @organization_id = v
    when 'Emails'
      if v.nil?
        @emails = []
      else
        @emails = Array.new(v.length)
        v.each_with_index do |v1, i1|
          raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String

          @emails[i1] = v1
        end
      end
    when 'OverrideEmailSettings'
      @override_email_settings = {}
      if v.nil?
        @override_email_settings = {}
      else
        v.each do |k1, v1|
          @override_email_settings[k1] = Comet::UserCustomEmailSettings.new
          @override_email_settings[k1].from_hash(v1)
        end
      end
    when 'SendEmailReports'
      @send_email_reports = v
    when 'Destinations'
      @destinations = {}
      if v.nil?
        @destinations = {}
      else
        v.each do |k1, v1|
          @destinations[k1] = Comet::DestinationConfig.new
          @destinations[k1].from_hash(v1)
        end
      end
    when 'Sources'
      @sources = {}
      if v.nil?
        @sources = {}
      else
        v.each do |k1, v1|
          @sources[k1] = Comet::SourceConfig.new
          @sources[k1].from_hash(v1)
        end
      end
    when 'BackupRules'
      @backup_rules = {}
      if v.nil?
        @backup_rules = {}
      else
        v.each do |k1, v1|
          @backup_rules[k1] = Comet::BackupRuleConfig.new
          @backup_rules[k1].from_hash(v1)
        end
      end
    when 'Devices'
      @devices = {}
      if v.nil?
        @devices = {}
      else
        v.each do |k1, v1|
          @devices[k1] = Comet::DeviceConfig.new
          @devices[k1].from_hash(v1)
        end
      end
    when 'IsSuspended'
      @is_suspended = v
    when 'AllProtectedItemsQuotaEnabled'
      @all_protected_items_quota_enabled = v
    when 'AllProtectedItemsQuotaBytes'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @all_protected_items_quota_bytes = v
    when 'MaximumDevices'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @maximum_devices = v
    when 'PolicyID'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @policy_id = v
    when 'Policy'
      @policy = Comet::UserPolicy.new
      @policy.from_hash(v)
    when 'PasswordFormat'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @password_format = v
    when 'PasswordHash'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @password_hash = v
    when 'PasswordRecovery'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @password_recovery = v
    when 'AllowPasswordLogin'
      @allow_password_login = v
    when 'AllowPasswordAndTOTPLogin'
      @allow_password_and_totplogin = v
    when 'TOTPKeyEncryptionFormat'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @totpkey_encryption_format = v
    when 'TOTPKey'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @totpkey = v
    when 'RequirePasswordChange'
      @require_password_change = v
    when 'CreateTime'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @create_time = v
    when 'CreationGUID'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @creation_guid = v
    when 'ServerConfig'
      @server_config = Comet::UserServerConfig.new
      @server_config.from_hash(v)
    else
      @unknown_json_fields[k] = v
    end
  end
end

#from_json(json_string) ⇒ Object

Parameters:

  • json_string (String)

    The complete object in JSON format

Raises:

  • (TypeError)


146
147
148
149
150
# File 'lib/comet/models/user_profile_config.rb', line 146

def from_json(json_string)
  raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String

  from_hash(JSON.parse(json_string))
end

#to_hHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



348
349
350
# File 'lib/comet/models/user_profile_config.rb', line 348

def to_h
  to_hash
end

#to_hashHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
# File 'lib/comet/models/user_profile_config.rb', line 304

def to_hash
  ret = {}
  ret['Username'] = @username
  ret['AccountName'] = @account_name
  ret['LocalTimezone'] = @local_timezone
  ret['LanguageCode'] = @language_code
  unless @organization_id.nil?
    ret['OrganizationID'] = @organization_id
  end
  ret['Emails'] = @emails
  ret['OverrideEmailSettings'] = @override_email_settings
  ret['SendEmailReports'] = @send_email_reports
  ret['Destinations'] = @destinations
  ret['Sources'] = @sources
  ret['BackupRules'] = @backup_rules
  ret['Devices'] = @devices
  ret['IsSuspended'] = @is_suspended
  ret['AllProtectedItemsQuotaEnabled'] = @all_protected_items_quota_enabled
  ret['AllProtectedItemsQuotaBytes'] = @all_protected_items_quota_bytes
  ret['MaximumDevices'] = @maximum_devices
  ret['PolicyID'] = @policy_id
  ret['Policy'] = @policy
  ret['PasswordFormat'] = @password_format
  ret['PasswordHash'] = @password_hash
  unless @password_recovery.nil?
    ret['PasswordRecovery'] = @password_recovery
  end
  ret['AllowPasswordLogin'] = @allow_password_login
  ret['AllowPasswordAndTOTPLogin'] = @allow_password_and_totplogin
  ret['TOTPKeyEncryptionFormat'] = @totpkey_encryption_format
  ret['TOTPKey'] = @totpkey
  ret['RequirePasswordChange'] = @require_password_change
  ret['CreateTime'] = @create_time
  ret['CreationGUID'] = @creation_guid
  unless @server_config.nil?
    ret['ServerConfig'] = @server_config
  end
  @unknown_json_fields.each do |k, v|
    ret[k] = v
  end
  ret
end

#to_json(options = {}) ⇒ String

Returns The complete object as a JSON string.

Returns:

  • (String)

    The complete object as a JSON string



353
354
355
# File 'lib/comet/models/user_profile_config.rb', line 353

def to_json(options = {})
  to_hash.to_json(options)
end