class GroupDocs::User
Attributes
@attr [Boolean] active
@attr [Boolean] alerts_eanbled
@attr [Integer] annotation_background_color
@attr [Boolean] annotation_branded
@attr [Integer] annotation_header_options
@attr [List] annotation_logo
@attr [List] annotation_tool_icons
@attr [String] apps
added in release 1.5.8 @attr [List] avatar
@attr [Integer] claimed_id
@attr [Integer] color
@attr [String] customEmailMessage
@attr [String] firstname
@attr [String] guid
@attr [Integer] id
@attr [Boolean] is_annotation_document_name_shown
@attr [Boolean] is_annotation_download_widget_enabled
@attr [Boolean] is_annotation_help_widget_enabled
@attr [Boolean] is_annotation_print_widget_enabled
@attr [Boolean] is_annotation_zoom_widget_enabled
@attr [Boolean] is_real_time_broadcast_enabled
@attr [Boolean] is_right_panel_enabled
@attr [Boolean] is_scroll_broadcast_enabled
@attr [Boolean] is_standard_header_always_shown
@attr [Boolean] is_thumbnails_panel_enabled
@attr [Boolean] is_toolbar_enabled
@attr [Boolean] is_viewer_document_name_shown
@attr [Boolean] is_viewer_download_widget_enabled
@attr [Boolean] is_viewer_help_widget_enabled
@attr [Boolean] is_viewer_print_widget_enabled
added in release 2.3.0 @attr [Boolean] is_viewer_search_widget_enabled
@attr [Boolean] is_viewer_zoom_widget_enabled
@attr [Boolean] is_zoom_broadcast_enabled
@attr [String] lastname
@attr [Boolean] news_eanbled
@attr [Boolean] news_enabled
@attr [String] nickname
@attr [String] password_salt
@attr [String] photo
@attr [String] private_key
@attr [List] pointer_tool_cursor
@attr [String] primary_email
@attr [String] private_key
@attr [String] password_salt
@attr [Array] roles
@attr [String] signature_color
@attr [Boolean] signature_desktop_notifications
@attr [Boolean] signature_enable_envelope_comment
@attr [Boolean] signature_enable_form_comment
@attr [Boolean] signature_enable_typed_signature
@attr [Boolean] signature_enable_uploaded_signature
@attr [String] signature_envelope_cancelled_template
@attr [String] signature_envelope_completed_template
@attr [String] signature_envelope_declined_template
@attr [String] signature_envelope_expired_template
@attr [String] signature_envelope_failed_template
@attr [String] signature_envelope_recipient_reminder_template
@attr [Boolean] signature_envelope_request_user_auth_by_photo
@attr [Boolean] signature_envelope_require_user_auth_for_sign
@attr [String] signature_envelope_sent_other_template
@attr [String] signature_envelope_sent_owner_template
@attr [String] signature_envelope_signed_template
@attr [String] signature_envelope_step_expired_template
@attr [Boolean] signature_form_request_user_auth_by_photo
@attr [Boolean] signature_form_require_user_auth_for_sign
@attr [Boolean] signature_form_require_user_identity_validation
@attr [String] signature_form_signed_template
@attr [Boolean] signature_save_field_changes_automatically
@attr [Boolean] signature_use_custom_email_templates
@attr [Boolean] signature_watermark_enabled
@attr [Time] signed_up_on
@attr [Time] signedinOn
@attr [Time] signed_up_on
@attr [Integer] signin_count
@attr [String] storage
@attr [Boolean] support_eanbled
@attr [Boolean] support_email
@attr [String] token
added in release 1.7.0 @attr [Boolean] trial
@attr [Boolean] viewer_branded
@attr [Integer] viewer_logo
@attr [Integer] viewer_options
@attr [String] webhook_notification_failed_recipients
@attr [Integer] webhook_notification_retries
Public Class Methods
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
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 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 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
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
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
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
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
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 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 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 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 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
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
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 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
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
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.
@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.
@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
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
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
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
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
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
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
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
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 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 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
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
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 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
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
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