class GroupDocs::User

Attributes

active[RW]

@attr [Boolean] active

alerts_eanbled[RW]

@attr [Boolean] alerts_eanbled

annotation_background_color[RW]

@attr [Integer] annotation_background_color

annotation_branded[RW]

@attr [Boolean] annotation_branded

annotation_header_options[RW]

@attr [Integer] annotation_header_options

annotation_navigation_icons[RW]
annotation_tool_icons[RW]

@attr [List] annotation_tool_icons

apps[RW]

@attr [String] apps

avatar[RW]

added in release 1.5.8 @attr [List] avatar

claimed_id[RW]

@attr [Integer] claimed_id

color[RW]

@attr [Integer] color

customEmailMessage[RW]

@attr [String] customEmailMessage

firstname[RW]

@attr [String] firstname

guid[RW]

@attr [String] guid

id[RW]

@attr [Integer] id

is_annotation_document_name_shown[RW]
is_annotation_download_widget_enabled[RW]
is_annotation_help_widget_enabled[RW]
is_annotation_navigation_widget_enabled[RW]
is_annotation_print_widget_enabled[RW]
is_annotation_zoom_widget_enabled[RW]
is_arrow_annotation_button_enabled[RW]
is_distance_annotation_button_enabled[RW]
is_point_annotation_button_enabled[RW]
is_polyline_annotation_button_enabled[RW]
is_real_time_broadcast_enabled[RW]
is_rectangle_annotation_button_enabled[RW]
is_resource_redaction_annotation_button_enabled[RW]
is_right_panel_enabled[RW]

@attr [Boolean] is_right_panel_enabled

is_scroll_broadcast_enabled[RW]

@attr [Boolean] is_scroll_broadcast_enabled

is_standard_header_always_shown[RW]
is_strikeout_annotation_button_enabled[RW]
is_text_annotation_button_enabled[RW]
is_text_redaction_annotation_button_enabled[RW]
is_text_replacement_annotation_button_enabled[RW]

added in release 1.9.0 @attr [Boolean] is_text_replacement_annotation_button_enabled

is_text_underline_annotation_button_enabled[RW]
is_thumbnails_panel_enabled[RW]

@attr [Boolean] is_thumbnails_panel_enabled

is_toolbar_enabled[RW]

@attr [Boolean] is_toolbar_enabled

is_typewriter_annotation_button_enabled[RW]
is_viewer_document_name_shown[RW]
is_viewer_download_widget_enabled[RW]
is_viewer_help_widget_enabled[RW]
is_viewer_navigation_widget_enabled[RW]
is_viewer_print_widget_enabled[RW]
is_viewer_search_widget_enabled[RW]

added in release 2.3.0 @attr [Boolean] is_viewer_search_widget_enabled

is_viewer_zoom_widget_enabled[RW]
is_watermark_annotation_button_enabled[RW]
is_zoom_broadcast_enabled[RW]

@attr [Boolean] is_zoom_broadcast_enabled

isviewer_right_mouse_button_menu_enabled[RW]
lastname[RW]

@attr [String] lastname

news_eanbled[RW]

@attr [Boolean] news_eanbled

news_enabled[RW]

@attr [Boolean] news_enabled

nickname[RW]

@attr [String] nickname

password_salt[RW]

@attr [String] password_salt

photo[RW]

@attr [String] photo

pkey=[RW]

@attr [String] private_key

pointer_tool_cursor[RW]

@attr [List] pointer_tool_cursor

primary_email[RW]

@attr [String] primary_email

private_key[RW]

@attr [String] private_key

pswd_salt=[RW]

@attr [String] password_salt

roles[RW]

@attr [Array] roles

signature_color[RW]

@attr [String] signature_color

signature_desktop_notifications[RW]
signature_enable_envelope_comment[RW]
signature_enable_form_comment[RW]
signature_enable_typed_signature[RW]
signature_enable_uploaded_signature[RW]
signature_envelope_cancelled_template[RW]
signature_envelope_completed_template[RW]
signature_envelope_declined_template[RW]
signature_envelope_expired_template[RW]
signature_envelope_failed_template[RW]
signature_envelope_recipient_reminder_template[RW]
signature_envelope_request_user_auth_by_photo[RW]
signature_envelope_require_user_auth_for_sign[RW]
signature_envelope_sent_other_template[RW]
signature_envelope_sent_owner_template[RW]
signature_envelope_signed_template[RW]
signature_envelope_step_expired_template[RW]
signature_form_request_user_auth_by_photo[RW]
signature_form_require_user_auth_for_sign[RW]
signature_form_require_user_identity_validation[RW]
signature_form_signed_template[RW]
signature_save_field_changes_automatically[RW]
signature_use_custom_email_templates[RW]
signature_watermark_enabled[RW]

@attr [Boolean] signature_watermark_enabled

signed_up_on[RW]

@attr [Time] signed_up_on

signedinOn[RW]

@attr [Time] signedinOn

signedupOn=[RW]

@attr [Time] signed_up_on

signin_count[RW]

@attr [Integer] signin_count

storage[RW]

@attr [String] storage

support_eanbled[RW]

@attr [Boolean] support_eanbled

support_email[RW]

@attr [Boolean] support_email

token[RW]

@attr [String] token

trial[RW]

added in release 1.7.0 @attr [Boolean] trial

viewer_branded[RW]

@attr [Boolean] viewer_branded

viewer_options[RW]

@attr [Integer] viewer_options

webhook_notification_failed_recipients[RW]
webhook_notification_retries[RW]

Public Class Methods

area!(embed_key, access = {}) click to toggle source

Get area name by embed key.

@example

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

@param [String] embed_key @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String]

# 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 = {}) click to toggle source

Get user profile by claimed token

@param [String] callerId @param [Array] options @option [Hash] :token @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String]

# 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 = {}) click to toggle source

Create new login

@param [String] callerId @param [Hash] options @option options [String] :password @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::User]

# 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 = {}) click to toggle source

Delete account user.

@example

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

@param [GroupDocs::User] user @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String]

@raise [ArgumentError] if user is not GroupDocs::User object

# 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 = {}) click to toggle source

added in release 2.3.0

Remove account by request.

@param [String] email User email @param [String] nonce Removal nonce @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String]

# 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 = {}) click to toggle source

Logins user using user name and password.

@param [String]guid @param [Hash] options @option [String] :filename File name @option [Boolean] :render Render

# 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 = {}) click to toggle source

Generates new user embed key.

@example

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

@param [String] area @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String]

# 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 = {}) click to toggle source

Returns current user profile.

@example

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

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::User]

# 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 = {}) click to toggle source

Returns an account information

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array]

# 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 = {}) click to toggle source

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

@example

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

@param [String] area @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String]

# 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) click to toggle source
Get file in html.

@param [String] guid

# 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 = {}) click to toggle source

Get alien user profile

@param [String] callerId @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String]

# 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) click to toggle source
Get file in xml.

@param [String] guid

# 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) click to toggle source

Logins user using user name and password.

@example

user = GroupDocs::User.login!('doe@john.com', 'password')
user.first_name
#=> "John"

@return [GroupDocs::User]

# 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 = {}) click to toggle source

Returns an array of storage providers.

@example

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

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array<GroupDocs::Storage::Provider>]

# 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 = {}) click to toggle source

Remove account user.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String]

# 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 = {}) click to toggle source

Change alien user password.

@param [String] callerId @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# 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 = {}) click to toggle source

Get user profile by reset token

@param [String] callerId @param [Array] options @option [Hash] :token @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String]

# 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 = {}) click to toggle source

Revoke.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# 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 = {}) click to toggle source

Set user roles.

@param [String] callerId @param [Hash] role_info (:id, :name) @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array]

# 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 = {}) click to toggle source

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

@example

user = GroupDocs::User.new
user.primary_email = 'john@smith.com'
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)

@param [GroupDocs::User] user @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::User]

# 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 = {}) click to toggle source

Change alien user password.

@example

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

@param [String] callerId @param [Array] pas_info ([old_password, new_password, reset_token]) @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# 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 = {}) click to toggle source

Updates user profile.

@example

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

@param [Array] pas_info ([old_password, new_password, reset_token]) @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# 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 = {}) click to toggle source

Returns an array of roles.

# @param [String] callerId @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array]

# 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 = {}) click to toggle source

Get user profile by reset token

@param [String] callerId @param [Array] options @option [Hash] :token @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String]

# 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

Public Instance Methods

access_rights() click to toggle source

Converts access rights to human-readable format flag. @return [Array<Symbol>]

# File lib/groupdocs/user.rb, line 560
def access_rights
  convert_byte_to_access_rights @access_rights if @access_rights
end
access_rights=(rights) click to toggle source

Converts access rights to machine-readable format flag. @param [Array<Symbol>] rights

# 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 = {}) click to toggle source

Adds a new storage provider configuration.

@param [String] provider Storage provider name @param [Hash] access Access credentials @param [Array] provider_info @option access [String] :client_id @option access [String] :private_key

# 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 = {}) click to toggle source

Create new user

@param [String] callerId @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [GroupDocs::User]

# 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) click to toggle source
Get file in html.

@param [String] path

# 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 = {}) click to toggle source

Returns an array of roles.

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array]

# 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 = {}) click to toggle source

Updates user profile.

@example

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

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key

# 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 = {}) click to toggle source

Update alien user profile

@param [String] callerId @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [String]

# 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 = {}) click to toggle source

Updates user’s storage provider configuration.

@param [String] provider Storage provider name @param [Hash] access Access credentials @param [Array] provider_info @option access [String] :client_id @option access [String] :private_key

# 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 = {}) click to toggle source

Get user profile by verif token

@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array<GroupDocs::User>]

# 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