Class: GroupDocs::User

Inherits:
Api::Entity show all
Includes:
Api::Helpers::AccessRights
Defined in:
lib/groupdocs/user.rb

Constant Summary

Constants included from Api::Helpers::AccessRights

Api::Helpers::AccessRights::ACCESS_RIGHTS

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Api::Helpers::ByteFlag

#array_from_byte, #byte_from_array

Methods inherited from Api::Entity

#initialize, #inspect, #to_hash

Methods included from Api::Helpers::Accessor

#alias_accessor

Constructor Details

This class inherits a constructor from GroupDocs::Api::Entity

Instance Attribute Details

#activeObject



370
371
372
# File 'lib/groupdocs/user.rb', line 370

def active
  @active
end

#alerts_eanbledObject



392
393
394
# File 'lib/groupdocs/user.rb', line 392

def alerts_eanbled
  @alerts_eanbled
end

#annotation_background_colorObject



454
455
456
# File 'lib/groupdocs/user.rb', line 454

def annotation_background_color
  @annotation_background_color
end

#annotation_brandedObject



400
401
402
# File 'lib/groupdocs/user.rb', line 400

def annotation_branded
  @annotation_branded
end

#annotation_header_optionsObject



414
415
416
# File 'lib/groupdocs/user.rb', line 414

def annotation_header_options
  @annotation_header_options
end

#annotation_logoObject



410
411
412
# File 'lib/groupdocs/user.rb', line 410

def 
  @annotation_logo
end

#annotation_navigation_iconsObject



450
451
452
# File 'lib/groupdocs/user.rb', line 450

def annotation_navigation_icons
  @annotation_navigation_icons
end

#annotation_tool_iconsObject



452
453
454
# File 'lib/groupdocs/user.rb', line 452

def annotation_tool_icons
  @annotation_tool_icons
end

#appsObject



398
399
400
# File 'lib/groupdocs/user.rb', line 398

def apps
  @apps
end

#avatarObject

added in release 1.5.8



384
385
386
# File 'lib/groupdocs/user.rb', line 384

def avatar
  @avatar
end

#claimed_idObject



362
363
364
# File 'lib/groupdocs/user.rb', line 362

def claimed_id
  @claimed_id
end

#colorObject



376
377
378
# File 'lib/groupdocs/user.rb', line 376

def color
  @color
end

#customEmailMessageObject



378
379
380
# File 'lib/groupdocs/user.rb', line 378

def customEmailMessage
  @customEmailMessage
end

#firstnameObject



352
353
354
# File 'lib/groupdocs/user.rb', line 352

def firstname
  @firstname
end

#guidObject



348
349
350
# File 'lib/groupdocs/user.rb', line 348

def guid
  @guid
end

#idObject



346
347
348
# File 'lib/groupdocs/user.rb', line 346

def id
  @id
end

#is_annotation_document_name_shownObject



448
449
450
# File 'lib/groupdocs/user.rb', line 448

def is_annotation_document_name_shown
  @is_annotation_document_name_shown
end

#is_annotation_download_widget_enabledObject



420
421
422
# File 'lib/groupdocs/user.rb', line 420

def is_annotation_download_widget_enabled
  @is_annotation_download_widget_enabled
end

#is_annotation_help_widget_enabledObject



424
425
426
# File 'lib/groupdocs/user.rb', line 424

def is_annotation_help_widget_enabled
  @is_annotation_help_widget_enabled
end

#is_annotation_navigation_widget_enabledObject



416
417
418
# File 'lib/groupdocs/user.rb', line 416

def is_annotation_navigation_widget_enabled
  @is_annotation_navigation_widget_enabled
end

#is_annotation_print_widget_enabledObject



422
423
424
# File 'lib/groupdocs/user.rb', line 422

def is_annotation_print_widget_enabled
  @is_annotation_print_widget_enabled
end

#is_annotation_zoom_widget_enabledObject



418
419
420
# File 'lib/groupdocs/user.rb', line 418

def is_annotation_zoom_widget_enabled
  @is_annotation_zoom_widget_enabled
end

#is_arrow_annotation_button_enabledObject



536
537
538
# File 'lib/groupdocs/user.rb', line 536

def is_arrow_annotation_button_enabled
  @is_arrow_annotation_button_enabled
end

#is_distance_annotation_button_enabledObject



544
545
546
# File 'lib/groupdocs/user.rb', line 544

def is_distance_annotation_button_enabled
  @is_distance_annotation_button_enabled
end

#is_point_annotation_button_enabledObject



438
439
440
# File 'lib/groupdocs/user.rb', line 438

def is_point_annotation_button_enabled
  @is_point_annotation_button_enabled
end

#is_polyline_annotation_button_enabledObject



442
443
444
# File 'lib/groupdocs/user.rb', line 442

def is_polyline_annotation_button_enabled
  @is_polyline_annotation_button_enabled
end

#is_real_time_broadcast_enabledObject



404
405
406
# File 'lib/groupdocs/user.rb', line 404

def is_real_time_broadcast_enabled
  @is_real_time_broadcast_enabled
end

#is_rectangle_annotation_button_enabledObject



436
437
438
# File 'lib/groupdocs/user.rb', line 436

def is_rectangle_annotation_button_enabled
  @is_rectangle_annotation_button_enabled
end

#is_resource_redaction_annotation_button_enabledObject



540
541
542
# File 'lib/groupdocs/user.rb', line 540

def is_resource_redaction_annotation_button_enabled
  @is_resource_redaction_annotation_button_enabled
end

#is_right_panel_enabledObject



426
427
428
# File 'lib/groupdocs/user.rb', line 426

def is_right_panel_enabled
  @is_right_panel_enabled
end

#is_scroll_broadcast_enabledObject



406
407
408
# File 'lib/groupdocs/user.rb', line 406

def is_scroll_broadcast_enabled
  @is_scroll_broadcast_enabled
end

#is_standard_header_always_shownObject



430
431
432
# File 'lib/groupdocs/user.rb', line 430

def is_standard_header_always_shown
  @is_standard_header_always_shown
end

#is_strikeout_annotation_button_enabledObject



440
441
442
# File 'lib/groupdocs/user.rb', line 440

def is_strikeout_annotation_button_enabled
  @is_strikeout_annotation_button_enabled
end

#is_text_annotation_button_enabledObject



434
435
436
# File 'lib/groupdocs/user.rb', line 434

def is_text_annotation_button_enabled
  @is_text_annotation_button_enabled
end

#is_text_redaction_annotation_button_enabledObject



538
539
540
# File 'lib/groupdocs/user.rb', line 538

def is_text_redaction_annotation_button_enabled
  @is_text_redaction_annotation_button_enabled
end

#is_text_replacement_annotation_button_enabledObject

added in release 1.9.0



534
535
536
# File 'lib/groupdocs/user.rb', line 534

def is_text_replacement_annotation_button_enabled
  @is_text_replacement_annotation_button_enabled
end

#is_text_underline_annotation_button_enabledObject



542
543
544
# File 'lib/groupdocs/user.rb', line 542

def is_text_underline_annotation_button_enabled
  @is_text_underline_annotation_button_enabled
end

#is_thumbnails_panel_enabledObject



428
429
430
# File 'lib/groupdocs/user.rb', line 428

def is_thumbnails_panel_enabled
  @is_thumbnails_panel_enabled
end

#is_toolbar_enabledObject



432
433
434
# File 'lib/groupdocs/user.rb', line 432

def is_toolbar_enabled
  @is_toolbar_enabled
end

#is_typewriter_annotation_button_enabledObject



444
445
446
# File 'lib/groupdocs/user.rb', line 444

def is_typewriter_annotation_button_enabled
  @is_typewriter_annotation_button_enabled
end

#is_viewer_document_name_shownObject



470
471
472
# File 'lib/groupdocs/user.rb', line 470

def is_viewer_document_name_shown
  @is_viewer_document_name_shown
end

#is_viewer_download_widget_enabledObject



464
465
466
# File 'lib/groupdocs/user.rb', line 464

def is_viewer_download_widget_enabled
  @is_viewer_download_widget_enabled
end

#is_viewer_help_widget_enabledObject



468
469
470
# File 'lib/groupdocs/user.rb', line 468

def is_viewer_help_widget_enabled
  @is_viewer_help_widget_enabled
end

#is_viewer_navigation_widget_enabledObject



460
461
462
# File 'lib/groupdocs/user.rb', line 460

def is_viewer_navigation_widget_enabled
  @is_viewer_navigation_widget_enabled
end

#is_viewer_print_widget_enabledObject



466
467
468
# File 'lib/groupdocs/user.rb', line 466

def is_viewer_print_widget_enabled
  @is_viewer_print_widget_enabled
end

#is_viewer_search_widget_enabledObject

added in release 2.3.0



548
549
550
# File 'lib/groupdocs/user.rb', line 548

def is_viewer_search_widget_enabled
  @is_viewer_search_widget_enabled
end

#is_viewer_zoom_widget_enabledObject



462
463
464
# File 'lib/groupdocs/user.rb', line 462

def is_viewer_zoom_widget_enabled
  @is_viewer_zoom_widget_enabled
end

#is_watermark_annotation_button_enabledObject



446
447
448
# File 'lib/groupdocs/user.rb', line 446

def is_watermark_annotation_button_enabled
  @is_watermark_annotation_button_enabled
end

#is_zoom_broadcast_enabledObject



408
409
410
# File 'lib/groupdocs/user.rb', line 408

def is_zoom_broadcast_enabled
  @is_zoom_broadcast_enabled
end

#isviewer_right_mouse_button_menu_enabledObject



472
473
474
# File 'lib/groupdocs/user.rb', line 472

def isviewer_right_mouse_button_menu_enabled
  @isviewer_right_mouse_button_menu_enabled
end

#lastnameObject



354
355
356
# File 'lib/groupdocs/user.rb', line 354

def lastname
  @lastname
end

#news_eanbledObject



390
391
392
# File 'lib/groupdocs/user.rb', line 390

def news_eanbled
  @news_eanbled
end

#news_enabledObject



372
373
374
# File 'lib/groupdocs/user.rb', line 372

def news_enabled
  @news_enabled
end

#nicknameObject



350
351
352
# File 'lib/groupdocs/user.rb', line 350

def nickname
  @nickname
end

#password_saltObject



360
361
362
# File 'lib/groupdocs/user.rb', line 360

def password_salt
  @password_salt
end

#photoObject



368
369
370
# File 'lib/groupdocs/user.rb', line 368

def photo
  @photo
end

#pointer_tool_cursorObject



412
413
414
# File 'lib/groupdocs/user.rb', line 412

def pointer_tool_cursor
  @pointer_tool_cursor
end

#primary_emailObject



356
357
358
# File 'lib/groupdocs/user.rb', line 356

def primary_email
  @primary_email
end

#private_keyObject



358
359
360
# File 'lib/groupdocs/user.rb', line 358

def private_key
  @private_key
end

#rolesObject



380
381
382
# File 'lib/groupdocs/user.rb', line 380

def roles
  @roles
end

#signature_colorObject



486
487
488
# File 'lib/groupdocs/user.rb', line 486

def signature_color
  @signature_color
end

#signature_desktop_notificationsObject



480
481
482
# File 'lib/groupdocs/user.rb', line 480

def signature_desktop_notifications
  @signature_desktop_notifications
end

#signature_enable_envelope_commentObject



528
529
530
# File 'lib/groupdocs/user.rb', line 528

def signature_enable_envelope_comment
  @signature_enable_envelope_comment
end

#signature_enable_form_commentObject



530
531
532
# File 'lib/groupdocs/user.rb', line 530

def signature_enable_form_comment
  @signature_enable_form_comment
end

#signature_enable_typed_signatureObject



526
527
528
# File 'lib/groupdocs/user.rb', line 526

def signature_enable_typed_signature
  @signature_enable_typed_signature
end

#signature_enable_uploaded_signatureObject



524
525
526
# File 'lib/groupdocs/user.rb', line 524

def signature_enable_uploaded_signature
  @signature_enable_uploaded_signature
end

#signature_envelope_cancelled_templateObject



504
505
506
# File 'lib/groupdocs/user.rb', line 504

def signature_envelope_cancelled_template
  @signature_envelope_cancelled_template
end

#signature_envelope_completed_templateObject



496
497
498
# File 'lib/groupdocs/user.rb', line 496

def signature_envelope_completed_template
  @signature_envelope_completed_template
end

#signature_envelope_declined_templateObject



500
501
502
# File 'lib/groupdocs/user.rb', line 500

def signature_envelope_declined_template
  @signature_envelope_declined_template
end

#signature_envelope_expired_templateObject



506
507
508
# File 'lib/groupdocs/user.rb', line 506

def signature_envelope_expired_template
  @signature_envelope_expired_template
end

#signature_envelope_failed_templateObject



502
503
504
# File 'lib/groupdocs/user.rb', line 502

def signature_envelope_failed_template
  @signature_envelope_failed_template
end

#signature_envelope_recipient_reminder_templateObject



510
511
512
# File 'lib/groupdocs/user.rb', line 510

def signature_envelope_recipient_reminder_template
  @signature_envelope_recipient_reminder_template
end

#signature_envelope_request_user_auth_by_photoObject



522
523
524
# File 'lib/groupdocs/user.rb', line 522

def signature_envelope_request_user_auth_by_photo
  @signature_envelope_request_user_auth_by_photo
end

#signature_envelope_require_user_auth_for_signObject



520
521
522
# File 'lib/groupdocs/user.rb', line 520

def signature_envelope_require_user_auth_for_sign
  @signature_envelope_require_user_auth_for_sign
end

#signature_envelope_sent_other_templateObject



494
495
496
# File 'lib/groupdocs/user.rb', line 494

def signature_envelope_sent_other_template
  @signature_envelope_sent_other_template
end

#signature_envelope_sent_owner_templateObject



492
493
494
# File 'lib/groupdocs/user.rb', line 492

def signature_envelope_sent_owner_template
  @signature_envelope_sent_owner_template
end

#signature_envelope_signed_templateObject



498
499
500
# File 'lib/groupdocs/user.rb', line 498

def signature_envelope_signed_template
  @signature_envelope_signed_template
end

#signature_envelope_step_expired_templateObject



508
509
510
# File 'lib/groupdocs/user.rb', line 508

def signature_envelope_step_expired_template
  @signature_envelope_step_expired_template
end

#signature_form_request_user_auth_by_photoObject



516
517
518
# File 'lib/groupdocs/user.rb', line 516

def signature_form_request_user_auth_by_photo
  @signature_form_request_user_auth_by_photo
end

#signature_form_require_user_auth_for_signObject



514
515
516
# File 'lib/groupdocs/user.rb', line 514

def signature_form_require_user_auth_for_sign
  @signature_form_require_user_auth_for_sign
end

#signature_form_require_user_identity_validationObject



518
519
520
# File 'lib/groupdocs/user.rb', line 518

def signature_form_require_user_identity_validation
  @signature_form_require_user_identity_validation
end

#signature_form_signed_templateObject



512
513
514
# File 'lib/groupdocs/user.rb', line 512

def signature_form_signed_template
  @signature_form_signed_template
end

#signature_save_field_changes_automaticallyObject



488
489
490
# File 'lib/groupdocs/user.rb', line 488

def signature_save_field_changes_automatically
  @signature_save_field_changes_automatically
end

#signature_use_custom_email_templatesObject



490
491
492
# File 'lib/groupdocs/user.rb', line 490

def signature_use_custom_email_templates
  @signature_use_custom_email_templates
end

#signature_watermark_enabledObject



478
479
480
# File 'lib/groupdocs/user.rb', line 478

def signature_watermark_enabled
  @signature_watermark_enabled
end

#signed_up_onTime

Converts timestamp which is return by API server to Time object.

Returns:

  • (Time)


374
375
376
# File 'lib/groupdocs/user.rb', line 374

def signed_up_on
  @signed_up_on
end

#signedinOnObject



474
475
476
# File 'lib/groupdocs/user.rb', line 474

def signedinOn
  @signedinOn
end

#signin_countObject



476
477
478
# File 'lib/groupdocs/user.rb', line 476

def 
  @signin_count
end

#storageObject



366
367
368
# File 'lib/groupdocs/user.rb', line 366

def storage
  @storage
end

#support_eanbledObject



394
395
396
# File 'lib/groupdocs/user.rb', line 394

def support_eanbled
  @support_eanbled
end

#support_emailObject



396
397
398
# File 'lib/groupdocs/user.rb', line 396

def support_email
  @support_email
end

#tokenObject



364
365
366
# File 'lib/groupdocs/user.rb', line 364

def token
  @token
end

#trialObject

added in release 1.7.0



388
389
390
# File 'lib/groupdocs/user.rb', line 388

def trial
  @trial
end

#viewer_brandedObject



402
403
404
# File 'lib/groupdocs/user.rb', line 402

def viewer_branded
  @viewer_branded
end

#viewer_logoObject



456
457
458
# File 'lib/groupdocs/user.rb', line 456

def 
  @viewer_logo
end

#viewer_optionsObject



458
459
460
# File 'lib/groupdocs/user.rb', line 458

def viewer_options
  @viewer_options
end

#webhook_notification_failed_recipientsObject



484
485
486
# File 'lib/groupdocs/user.rb', line 484

def webhook_notification_failed_recipients
  @webhook_notification_failed_recipients
end

#webhook_notification_retriesObject



482
483
484
# File 'lib/groupdocs/user.rb', line 482

def webhook_notification_retries
  @webhook_notification_retries
end

Class Method Details

.area!(embed_key, access = {}) ⇒ String

Get area name by embed key.

Examples:

GroupDocs::User.area!('60a06eg8f23a49cf807977f1444fbdd8')
#=> "test-area"

Parameters:

  • embed_key (String)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)


151
152
153
154
155
156
157
158
159
# File 'lib/groupdocs/user.rb', line 151

def self.area!(embed_key, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/mgmt/{{client_id}}/embedkey/guid/#{embed_key}"
  end.execute!

  json[:key][:area]
end

.claimed_token!(caller_id, options = {}, access = {}) ⇒ String

Get user profile by claimed token

Parameters:

  • callerId (String)
  • options (Array) (defaults to: {})
  • access (Hash) (defaults to: {})

    Access credentials

  • [Hash] (Hash)

    a customizable set of options

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)


708
709
710
711
712
713
714
715
716
717
# File 'lib/groupdocs/user.rb', line 708

def self.claimed_token!(caller_id, options ={}, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/mgmt/#{caller_id}/claimed-tokens"
  end
  api.add_params(options)
  api.execute!

end

.create_login!(caller_id, options = {}, access = {}) ⇒ GroupDocs::User

Create new login

Parameters:

  • callerId (String)
  • options (Hash) (defaults to: {})
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (options):

  • :password (String)

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



788
789
790
791
792
793
794
795
796
797
# File 'lib/groupdocs/user.rb', line 788

def self.create_login!(caller_id, options = {}, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/mgmt/#{caller_id}/user/{{client_id}}/logins"
  end
  api.add_params(options)
  api.execute!

end

.delete!(user, access = {}) ⇒ String

Delete account user.

Examples:

user = GroupDocs::User.get!
GroupDocs::User.delete!(user.users!.last)
#=> "826e3b54e009ce51"

Parameters:

  • user (GroupDocs::User)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)

Raises:

  • (ArgumentError)

    if user is not GroupDocs::User object



79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/groupdocs/user.rb', line 79

def self.delete!(user, access = {})
  user.is_a?(GroupDocs::User) or raise ArgumentError,
    "User should be GroupDocs::User object, received: #{user.inspect}"

  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DELETE
    request[:path] = "/mgmt/{{client_id}}/account/users/#{user.primary_email}"
  end.execute!

  json[:guid]
end

.delete_account!(email, nonce, access = {}) ⇒ String

added in release 2.3.0

Remove account by request.

Parameters:

  • email (String)

    User email

  • nonce (String)

    Removal nonce

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)


944
945
946
947
948
949
950
951
952
# File 'lib/groupdocs/user.rb', line 944

def self.delete_account!(email, nonce, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DELETE
    request[:path] = "/mgmt/{{client_id}}/account/users/removeaccount/#{email}"
  end
  api.add_params(nonce)
  api.execute!
end

.download!(path, name, guid, options = {}) ⇒ Object

Logins user using user name and password.

Parameters:

  • guid (String)
  • options (Hash) (defaults to: {})
  • [String] (Hash)

    a customizable set of options

  • [Boolean] (Hash)

    a customizable set of options



269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
# File 'lib/groupdocs/user.rb', line 269

def self.download!(path, name, guid, options = {})
  api = Api::Request.new do |request|
    request[:sign] = false
    request[:method] = :DOWNLOAD
    request[:path] = "/shared/files/#{guid}"
  end
  api.add_params(options)
  response = api.execute!

  filepath = "#{path}/#{name}"
  Object::File.open(filepath, 'wb') do |file|
    file.write(response)
  end

  filepath
end

.generate_embed_key!(area, access = {}) ⇒ String

Generates new user embed key.

Examples:

GroupDocs::User.generate_embed_key!('test-area')
#=> "60a06ef8f23a49cf807977f1444fbdd8"

Parameters:

  • area (String)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)


105
106
107
108
109
110
111
112
113
# File 'lib/groupdocs/user.rb', line 105

def self.generate_embed_key!(area, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/mgmt/{{client_id}}/embedkey/new/#{area}"
  end.execute!

  json[:key][:guid]
end

.get!(access = {}) ⇒ GroupDocs::User

Returns current user profile.

Examples:

user = GroupDocs::User.get!
user.first_name
#=> "John"

Parameters:

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



19
20
21
22
23
24
25
26
27
# File 'lib/groupdocs/user.rb', line 19

def self.get!(access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/mgmt/{{client_id}}/profile'
  end.execute!

  new(json[:user])
end

.get_account!(access = {}) ⇒ Array

Returns an account information

Parameters:

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


908
909
910
911
912
913
914
# File 'lib/groupdocs/user.rb', line 908

def self.get_account!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/mgmt/{{client_id}}/account"
  end.execute!
end

.get_embed_key!(area, access = {}) ⇒ String

Get user embed key. Generate new embed key if area not exists.

Examples:

GroupDocs::User.get_embed_key!('test-area')
#=> "60a06ef8f23a49cf807977f1444fbdd8"

Parameters:

  • area (String)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)


128
129
130
131
132
133
134
135
136
# File 'lib/groupdocs/user.rb', line 128

def self.get_embed_key!(area, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/mgmt/{{client_id}}/embedkey/#{area}"
  end.execute!

  json[:key][:guid]
end

.get_html!(path, name, guid) ⇒ Object

Get file in html.

Parameters:

  • guid (String)


311
312
313
314
315
316
317
318
319
320
321
322
323
324
# File 'lib/groupdocs/user.rb', line 311

def self.get_html!(path, name, guid)
  response = Api::Request.new do |request|
    request[:sign] = false
    request[:method] = :DOWNLOAD
    request[:path] = "/shared/files/#{guid}/html"
  end.execute!

  filepath = "#{path}/#{name}"
  Object::File.open(filepath, 'wb') do |file|
    file.write(response)
  end

  filepath
end

.get_profile!(caller_id, access = {}) ⇒ String

Get alien user profile

Parameters:

  • callerId (String)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)


728
729
730
731
732
733
734
735
736
# File 'lib/groupdocs/user.rb', line 728

def self.get_profile!(caller_id, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/mgmt/#{caller_id}/user/{{client_id}}/profile"
  end.execute!

  json[:user]
end

.get_xml!(path, name, guid) ⇒ Object

Get file in xml.

Parameters:

  • guid (String)


291
292
293
294
295
296
297
298
299
300
301
302
303
304
# File 'lib/groupdocs/user.rb', line 291

def self.get_xml!(path, name, guid)
  response = Api::Request.new do |request|
    request[:sign] = false
    request[:method] = :DOWNLOAD
    request[:path] = "/shared/files/#{guid}/xml"
  end.execute!

  filepath = "#{path}/#{name}"
  Object::File.open(filepath, 'wb') do |file|
    file.write(response)
  end

  filepath
end

.login!(email, password) ⇒ GroupDocs::User

Logins user using user name and password.

Examples:

user = GroupDocs::User.login!('[email protected]', 'password')
user.first_name
#=> "John"

Returns:



250
251
252
253
254
255
256
257
258
259
# File 'lib/groupdocs/user.rb', line 250

def self.login!(email, password)
  json = Api::Request.new do |request|
    request[:sign] = false
    request[:method] = :POST
    request[:path] = "/shared/users/#{email}/logins"
    request[:request_body] = password
  end.execute!

  new(json[:user])
end

.providers!(access = {}) ⇒ Array<GroupDocs::Storage::Provider>

Returns an array of storage providers.

Examples:

providers = GroupDocs::User.providers!
providers.first.provider
#=> "Dropbox"

Parameters:

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



174
175
176
177
178
179
180
181
182
183
184
# File 'lib/groupdocs/user.rb', line 174

def self.providers!(access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/mgmt/{{client_id}}/storages'
  end.execute!

  json[:providers].map do |provider|
    Storage::Provider.new(provider)
  end
end

.remove_account!(access = {}) ⇒ String

Remove account user.

Parameters:

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)


924
925
926
927
928
929
930
# File 'lib/groupdocs/user.rb', line 924

def self.remove_account!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DELETE
    request[:path] = "/mgmt/{{client_id}}/account"
  end.execute!
end

.reset_alien_password!(caller_id, access = {}) ⇒ Object

Change alien user password.

Parameters:

  • callerId (String)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


833
834
835
836
837
838
839
840
841
# File 'lib/groupdocs/user.rb', line 833

def self.reset_alien_password!(caller_id, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DELETE
    request[:path] = "/mgmt/#{caller_id}/users/{{client_id}}password"
  end.execute!

  json[:user_name]
end

.reset_token!(caller_id, options = {}, access = {}) ⇒ String

Get user profile by reset token

Parameters:

  • callerId (String)
  • options (Array) (defaults to: {})
  • access (Hash) (defaults to: {})

    Access credentials

  • [Hash] (Hash)

    a customizable set of options

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)


644
645
646
647
648
649
650
651
652
653
# File 'lib/groupdocs/user.rb', line 644

def self.reset_token!(caller_id, options ={}, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/mgmt/#{caller_id}/reset-tokens"
  end
  api.add_params(options)
  api.execute!

end

.revoke!(access = {}) ⇒ Object

Revoke.

Parameters:

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


232
233
234
235
236
237
238
239
# File 'lib/groupdocs/user.rb', line 232

def self.revoke!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/mgmt/{{client_id}}/revoke"
  end.execute!

end

.set_user_roles!(caller_id, role_info = {}, access = {}) ⇒ Array

Set user roles.

Parameters:

  • callerId (String)
  • role_info (Hash) (defaults to: {})

    (:id, :name)

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


890
891
892
893
894
895
896
897
898
# File 'lib/groupdocs/user.rb', line 890

def self.set_user_roles!(caller_id, role_info = {}, access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/mgmt/#{caller_id}/users/{{client_id}}/roles"
    request[:request_body] = role_info
  end.execute!

end

.update_account!(user, access = {}) ⇒ GroupDocs::User

Updates user account if it’s created, otherwise creates new.

Examples:

user = GroupDocs::User.new
user.primary_email = '[email protected]'
user.nickname = 'johnsmith'
user.first_name = 'John'
user.last_name = 'Smith'
# make sure to save user as it has updated attributes
user = GroupDocs::User.update_account!(user)

Parameters:

  • user (GroupDocs::User)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/groupdocs/user.rb', line 47

def self.update_account!(user, access = {})
  user.is_a?(GroupDocs::User) or raise ArgumentError,
    "User should be GroupDocs::User object, received: #{user.inspect}"

  data = user.to_hash

  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/mgmt/{{client_id}}/account/users/#{user.nickname}"
    request[:request_body] = data
  end.execute!

  GroupDocs::User.new data.merge(json)
end

.update_alien_password!(caller_id, pas_info = {}, access = {}) ⇒ Object

Change alien user password.

Examples:

user = GroupDocs::User.get!
old_password = user.password_salt
new_password = 'Smith'
user.update_password!

Parameters:

  • callerId (String)
  • pas_info (Array) (defaults to: {})

    ([old_password, new_password, reset_token])

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


814
815
816
817
818
819
820
821
822
823
# File 'lib/groupdocs/user.rb', line 814

def self.update_alien_password!(caller_id, pas_info = {}, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/mgmt/#{caller_id}/users/{{client_id}}password"
    request[:request_body] = pas_info
  end.execute!

  json[:user_guid]
end

.update_password!(pas_info = {}, access = {}) ⇒ Object

Updates user profile.

Examples:

user = GroupDocs::User.get!
old_password = user.password_salt
new_password = 'Smith'
user.update_password!

Parameters:

  • pas_info (Array) (defaults to: {})

    ([old_password, new_password, reset_token])

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


624
625
626
627
628
629
630
631
# File 'lib/groupdocs/user.rb', line 624

def self.update_password!(pas_info = {}, access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = '/mgmt/{{client_id}}/profile/password'
    request[:request_body] = pas_info
  end.execute!
end

.user_roles!(caller_id, access = {}) ⇒ Array

Returns an array of roles.

# @param [String] callerId

Parameters:

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


870
871
872
873
874
875
876
877
878
# File 'lib/groupdocs/user.rb', line 870

def self.user_roles!(caller_id, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/mgmt/#{caller_id}/users/{{client_id}}/roles"
  end.execute!

  json[:roles]
end

.verif_token!(caller_id, options = {}, access = {}) ⇒ String

Get user profile by reset token

Parameters:

  • callerId (String)
  • options (Array) (defaults to: {})
  • access (Hash) (defaults to: {})

    Access credentials

  • [Hash] (Hash)

    a customizable set of options

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)


666
667
668
669
670
671
672
673
674
675
# File 'lib/groupdocs/user.rb', line 666

def self.verif_token!(caller_id, options ={}, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = "/mgmt/#{caller_id}/verif-tokens"
  end
  api.add_params(options)
  api.execute!

end

Instance Method Details

#access_rightsArray<Symbol>

Converts access rights to human-readable format flag.

Returns:

  • (Array<Symbol>)


560
561
562
# File 'lib/groupdocs/user.rb', line 560

def access_rights
  convert_byte_to_access_rights @access_rights if @access_rights
end

#access_rights=(rights) ⇒ Object

Converts access rights to machine-readable format flag.

Parameters:

  • rights (Array<Symbol>)


568
569
570
571
572
573
# File 'lib/groupdocs/user.rb', line 568

def access_rights=(rights)
  if rights.is_a?(Array)
    rights = convert_access_rights_to_byte(rights)
  end
  @access_rights = rights
end

#add_provider!(provider, provider_info = {}, access = {}) ⇒ Object

Adds a new storage provider configuration.

Parameters:

  • provider (String)

    Storage provider name

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

    Access credentials

  • provider_info (Array) (defaults to: {})

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


195
196
197
198
199
200
201
202
203
# File 'lib/groupdocs/user.rb', line 195

def add_provider!(provider, provider_info = {}, access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/mgmt/{{client_id}}/storages/#{provider}"
    request[:request_body] = provider_info
  end.execute!

end

#create_user!(caller_id, access = {}) ⇒ GroupDocs::User

Create new user

Parameters:

  • callerId (String)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



767
768
769
770
771
772
773
774
775
# File 'lib/groupdocs/user.rb', line 767

def create_user!(caller_id, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/mgmt/#{caller_id}/user"
    request[:request_body] = to_hash
  end.execute!

end

#get_packages!(path) ⇒ Object

Get file in html.

Parameters:

  • path (String)


331
332
333
334
335
336
337
338
339
340
341
342
343
# File 'lib/groupdocs/user.rb', line 331

def get_packages!(path)
  response = Api::Request.new do |request|
    request[:sign] = false
    request[:method] = :GET
    request[:path] = "/shared/packages/#{path}"
  end.execute!

  Object::File.open(path, 'wb') do |file|
    file.write(response)
  end

  path
end

#roles!(access = {}) ⇒ Array

Returns an array of roles.

Parameters:

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (Array)


851
852
853
854
855
856
857
858
859
# File 'lib/groupdocs/user.rb', line 851

def roles!(access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/mgmt/{{client_id}}/roles'
  end.execute!

  json[:roles]
end

#update!(access = {}) ⇒ Object

Updates user profile.

Examples:

user = GroupDocs::User.get!
user.first_name = 'John'
user.last_name = 'Smith'
user.update!

Parameters:

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


602
603
604
605
606
607
608
609
# File 'lib/groupdocs/user.rb', line 602

def update!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = '/mgmt/{{client_id}}/profile'
    request[:request_body] = to_hash
  end.execute!
end

#update_profile!(caller_id, access = {}) ⇒ String

Update alien user profile

Parameters:

  • callerId (String)
  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:

  • (String)


747
748
749
750
751
752
753
754
755
756
# File 'lib/groupdocs/user.rb', line 747

def update_profile!(caller_id, access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/mgmt/#{caller_id}/user/{{client_id}}/profile"
    request[:request_body] = to_hash
  end.execute!

  json[:user_guid]
end

#update_provider!(provider, provider_info = {}, access = {}) ⇒ Object

Updates user’s storage provider configuration.

Parameters:

  • provider (String)

    Storage provider name

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

    Access credentials

  • provider_info (Array) (defaults to: {})

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


214
215
216
217
218
219
220
221
222
# File 'lib/groupdocs/user.rb', line 214

def update_provider!(provider, provider_info = {}, access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/mgmt/{{client_id}}/storages/#{provider}"
    request[:request_body] = provider_info
  end.execute!

end

#users!(access = {}) ⇒ Array<GroupDocs::User>

Get user profile by verif token

Parameters:

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

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



685
686
687
688
689
690
691
692
693
694
695
# File 'lib/groupdocs/user.rb', line 685

def users!(access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/mgmt/{{client_id}}/account/users'
  end.execute!

  json[:users].map do |user|
    GroupDocs::User.new(user)
  end
end