Class: Files::User

Inherits:
Object
  • Object
show all
Defined in:
lib/files.com/models/user.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}, options = {}) ⇒ User

Returns a new instance of User.



7
8
9
10
# File 'lib/files.com/models/user.rb', line 7

def initialize(attributes = {}, options = {})
  @attributes = attributes || {}
  @options = options || {}
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



5
6
7
# File 'lib/files.com/models/user.rb', line 5

def attributes
  @attributes
end

#optionsObject (readonly)

Returns the value of attribute options.



5
6
7
# File 'lib/files.com/models/user.rb', line 5

def options
  @options
end

Class Method Details

.all(params = {}, options = {}) ⇒ Object



848
849
850
# File 'lib/files.com/models/user.rb', line 848

def self.all(params = {}, options = {})
  list(params, options)
end

.create(params = {}, options = {}) ⇒ Object

Parameters:

avatar_file - file - An image file for your user avatar.
avatar_delete - boolean - If true, the avatar will be deleted.
change_password - string - Used for changing a password on an existing user.
change_password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `change_password`.
email - string - User's email.
grant_permission - string - Permission to grant on the user root.  Can be blank or `full`, `read`, `write`, `list`, `read+write`, or `list+write`
group_id - int64 - Group ID to associate this user with.
group_ids - string - A list of group ids to associate this user with.  Comma delimited.
imported_password_hash - string - Pre-calculated hash of the user's password. If supplied, this will be used to authenticate the user on first login. Supported hash methods are MD5, SHA1, and SHA256.
password - string - User password.
password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `password`.
announcements_read - boolean - Signifies that the user has read all the announcements in the UI.
allowed_ips - string - A list of allowed IPs if applicable.  Newline delimited
attachments_permission - boolean - DEPRECATED: If `true`, the user can user create Bundles (aka Share Links). Use the bundle permission instead.
authenticate_until - string - Scheduled Date/Time at which user will be deactivated
authentication_method - string - How is this user authenticated?
billing_permission - boolean - Allow this user to perform operations on the account, payments, and invoices?
bypass_inactive_disable - boolean - Exempt this user from being disabled based on inactivity?
bypass_site_allowed_ips - boolean - Allow this user to skip site-wide IP blacklists?
dav_permission - boolean - Can the user connect with WebDAV?
disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.
ftp_permission - boolean - Can the user access with FTP/FTPS?
header_text - string - Text to display to the user in the header of the UI
language - string - Preferred language
notification_daily_send_time - int64 - Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
name - string - User's full name
company - string - User's company
notes - string - Any internal notes on the user
office_integration_enabled - boolean - Enable integration with Office for the web?
password_validity_days - int64 - Number of days to allow user to use the same password
readonly_site_admin - boolean - Is the user an allowed to view all (non-billing) site configuration for this site?
receive_admin_alerts - boolean - Should the user receive admin alerts such a certificate expiration notifications and overages?
require_login_by - string - Require user to login by specified date otherwise it will be disabled.
require_password_change - boolean - Is a password change required upon next user login?
restapi_permission - boolean - Can this user access the Web app, Desktop app, SDKs, or REST API?  (All of these tools use the API internally, so this is one unified permission set.)
self_managed - boolean - Does this user manage it's own credentials or is it a shared/bot user?
sftp_permission - boolean - Can the user access with SFTP?
site_admin - boolean - Is the user an administrator for this site?
skip_welcome_screen - boolean - Skip Welcome page in the UI?
ssl_required - string - SSL required setting
sso_strategy_id - int64 - SSO (Single Sign On) strategy ID for the user, if applicable.
subscribe_to_newsletter - boolean - Is the user subscribed to the newsletter?
require_2fa - string - 2FA required setting
time_zone - string - User time zone
user_root - string - Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set).  Note that this is not used for API, Desktop, or Web interface.
user_home - string - Home folder for FTP/SFTP.  Note that this is not used for API, Desktop, or Web interface.
username (required) - string - User's username


916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
# File 'lib/files.com/models/user.rb', line 916

def self.create(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: change_password must be an String") if params[:change_password] and !params[:change_password].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: change_password_confirmation must be an String") if params[:change_password_confirmation] and !params[:change_password_confirmation].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: email must be an String") if params[:email] and !params[:email].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: grant_permission must be an String") if params[:grant_permission] and !params[:grant_permission].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: group_id must be an Integer") if params[:group_id] and !params[:group_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: group_ids must be an String") if params[:group_ids] and !params[:group_ids].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: imported_password_hash must be an String") if params[:imported_password_hash] and !params[:imported_password_hash].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: password must be an String") if params[:password] and !params[:password].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: password_confirmation must be an String") if params[:password_confirmation] and !params[:password_confirmation].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: allowed_ips must be an String") if params[:allowed_ips] and !params[:allowed_ips].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: authenticate_until must be an String") if params[:authenticate_until] and !params[:authenticate_until].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: authentication_method must be an String") if params[:authentication_method] and !params[:authentication_method].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: header_text must be an String") if params[:header_text] and !params[:header_text].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: language must be an String") if params[:language] and !params[:language].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: notification_daily_send_time must be an Integer") if params[:notification_daily_send_time] and !params[:notification_daily_send_time].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: company must be an String") if params[:company] and !params[:company].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: notes must be an String") if params[:notes] and !params[:notes].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: password_validity_days must be an Integer") if params[:password_validity_days] and !params[:password_validity_days].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: require_login_by must be an String") if params[:require_login_by] and !params[:require_login_by].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: ssl_required must be an String") if params[:ssl_required] and !params[:ssl_required].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: sso_strategy_id must be an Integer") if params[:sso_strategy_id] and !params[:sso_strategy_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: require_2fa must be an String") if params[:require_2fa] and !params[:require_2fa].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: time_zone must be an String") if params[:time_zone] and !params[:time_zone].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: user_root must be an String") if params[:user_root] and !params[:user_root].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: user_home must be an String") if params[:user_home] and !params[:user_home].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: username must be an String") if params[:username] and !params[:username].is_a?(String)
  raise MissingParameterError.new("Parameter missing: username") unless params[:username]

  response, options = Api.send_request("/users", :post, params, options)
  User.new(response.data, options)
end

.delete(id, params = {}, options = {}) ⇒ Object



1068
1069
1070
1071
1072
1073
1074
1075
1076
# File 'lib/files.com/models/user.rb', line 1068

def self.delete(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/users/#{params[:id]}", :delete, params, options)
  nil
end

.destroy(id, params = {}, options = {}) ⇒ Object



1078
1079
1080
1081
# File 'lib/files.com/models/user.rb', line 1078

def self.destroy(id, params = {}, options = {})
  delete(id, params, options)
  nil
end

.find(id, params = {}, options = {}) ⇒ Object

Parameters:

id (required) - int64 - User ID.


854
855
856
857
858
859
860
861
862
# File 'lib/files.com/models/user.rb', line 854

def self.find(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  response, options = Api.send_request("/users/#{params[:id]}", :get, params, options)
  User.new(response.data, options)
end

.get(id, params = {}, options = {}) ⇒ Object



864
865
866
# File 'lib/files.com/models/user.rb', line 864

def self.get(id, params = {}, options = {})
  find(id, params, options)
end

.list(params = {}, options = {}) ⇒ Object

Parameters:

cursor - string - Used for pagination.  When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`.  Send one of those cursor value here to resume an existing list from the next available record.  Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
per_page - int64 - Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).
sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `authenticate_until`, `email`, `last_desktop_login_at`, `last_login_at`, `username`, `company`, `name`, `site_admin`, `receive_admin_alerts`, `password_validity_days`, `ssl_required` or `not_site_admin`.
filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `username`, `email`, `company`, `site_admin`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`. Valid field combinations are `[ username, not_site_admin ]`.
filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`.
filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`.
filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `username`, `email` or `company`.
filter_lt - object - If set, return records where the specified field is less than the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`.
filter_lteq - object - If set, return records where the specified field is less than or equal the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`.
ids - string - comma-separated list of User IDs
search - string - Searches for partial matches of name, username, or email.


830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
# File 'lib/files.com/models/user.rb', line 830

def self.list(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter_gt must be an Hash") if params[:filter_gt] and !params[:filter_gt].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter_gteq must be an Hash") if params[:filter_gteq] and !params[:filter_gteq].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter_prefix must be an Hash") if params[:filter_prefix] and !params[:filter_prefix].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params[:filter_lt] and !params[:filter_lt].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params[:filter_lteq] and !params[:filter_lteq].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: ids must be an String") if params[:ids] and !params[:ids].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: search must be an String") if params[:search] and !params[:search].is_a?(String)

  List.new(User, params) do
    Api.send_request("/users", :get, params, options)
  end
end

.resend_welcome_email(id, params = {}, options = {}) ⇒ Object

Resend user welcome email



962
963
964
965
966
967
968
969
970
# File 'lib/files.com/models/user.rb', line 962

def self.resend_welcome_email(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/users/#{params[:id]}/resend_welcome_email", :post, params, options)
  nil
end

.unlock(id, params = {}, options = {}) ⇒ Object

Unlock user who has been locked out due to failed logins



951
952
953
954
955
956
957
958
959
# File 'lib/files.com/models/user.rb', line 951

def self.unlock(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/users/#{params[:id]}/unlock", :post, params, options)
  nil
end

.update(id, params = {}, options = {}) ⇒ Object

Parameters:

avatar_file - file - An image file for your user avatar.
avatar_delete - boolean - If true, the avatar will be deleted.
change_password - string - Used for changing a password on an existing user.
change_password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `change_password`.
email - string - User's email.
grant_permission - string - Permission to grant on the user root.  Can be blank or `full`, `read`, `write`, `list`, `read+write`, or `list+write`
group_id - int64 - Group ID to associate this user with.
group_ids - string - A list of group ids to associate this user with.  Comma delimited.
imported_password_hash - string - Pre-calculated hash of the user's password. If supplied, this will be used to authenticate the user on first login. Supported hash methods are MD5, SHA1, and SHA256.
password - string - User password.
password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `password`.
announcements_read - boolean - Signifies that the user has read all the announcements in the UI.
allowed_ips - string - A list of allowed IPs if applicable.  Newline delimited
attachments_permission - boolean - DEPRECATED: If `true`, the user can user create Bundles (aka Share Links). Use the bundle permission instead.
authenticate_until - string - Scheduled Date/Time at which user will be deactivated
authentication_method - string - How is this user authenticated?
billing_permission - boolean - Allow this user to perform operations on the account, payments, and invoices?
bypass_inactive_disable - boolean - Exempt this user from being disabled based on inactivity?
bypass_site_allowed_ips - boolean - Allow this user to skip site-wide IP blacklists?
dav_permission - boolean - Can the user connect with WebDAV?
disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.
ftp_permission - boolean - Can the user access with FTP/FTPS?
header_text - string - Text to display to the user in the header of the UI
language - string - Preferred language
notification_daily_send_time - int64 - Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
name - string - User's full name
company - string - User's company
notes - string - Any internal notes on the user
office_integration_enabled - boolean - Enable integration with Office for the web?
password_validity_days - int64 - Number of days to allow user to use the same password
readonly_site_admin - boolean - Is the user an allowed to view all (non-billing) site configuration for this site?
receive_admin_alerts - boolean - Should the user receive admin alerts such a certificate expiration notifications and overages?
require_login_by - string - Require user to login by specified date otherwise it will be disabled.
require_password_change - boolean - Is a password change required upon next user login?
restapi_permission - boolean - Can this user access the Web app, Desktop app, SDKs, or REST API?  (All of these tools use the API internally, so this is one unified permission set.)
self_managed - boolean - Does this user manage it's own credentials or is it a shared/bot user?
sftp_permission - boolean - Can the user access with SFTP?
site_admin - boolean - Is the user an administrator for this site?
skip_welcome_screen - boolean - Skip Welcome page in the UI?
ssl_required - string - SSL required setting
sso_strategy_id - int64 - SSO (Single Sign On) strategy ID for the user, if applicable.
subscribe_to_newsletter - boolean - Is the user subscribed to the newsletter?
require_2fa - string - 2FA required setting
time_zone - string - User time zone
user_root - string - Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set).  Note that this is not used for API, Desktop, or Web interface.
user_home - string - Home folder for FTP/SFTP.  Note that this is not used for API, Desktop, or Web interface.
username - string - User's username


1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
# File 'lib/files.com/models/user.rb', line 1031

def self.update(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: change_password must be an String") if params[:change_password] and !params[:change_password].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: change_password_confirmation must be an String") if params[:change_password_confirmation] and !params[:change_password_confirmation].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: email must be an String") if params[:email] and !params[:email].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: grant_permission must be an String") if params[:grant_permission] and !params[:grant_permission].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: group_id must be an Integer") if params[:group_id] and !params[:group_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: group_ids must be an String") if params[:group_ids] and !params[:group_ids].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: imported_password_hash must be an String") if params[:imported_password_hash] and !params[:imported_password_hash].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: password must be an String") if params[:password] and !params[:password].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: password_confirmation must be an String") if params[:password_confirmation] and !params[:password_confirmation].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: allowed_ips must be an String") if params[:allowed_ips] and !params[:allowed_ips].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: authenticate_until must be an String") if params[:authenticate_until] and !params[:authenticate_until].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: authentication_method must be an String") if params[:authentication_method] and !params[:authentication_method].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: header_text must be an String") if params[:header_text] and !params[:header_text].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: language must be an String") if params[:language] and !params[:language].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: notification_daily_send_time must be an Integer") if params[:notification_daily_send_time] and !params[:notification_daily_send_time].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: company must be an String") if params[:company] and !params[:company].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: notes must be an String") if params[:notes] and !params[:notes].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: password_validity_days must be an Integer") if params[:password_validity_days] and !params[:password_validity_days].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: require_login_by must be an String") if params[:require_login_by] and !params[:require_login_by].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: ssl_required must be an String") if params[:ssl_required] and !params[:ssl_required].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: sso_strategy_id must be an Integer") if params[:sso_strategy_id] and !params[:sso_strategy_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: require_2fa must be an String") if params[:require_2fa] and !params[:require_2fa].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: time_zone must be an String") if params[:time_zone] and !params[:time_zone].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: user_root must be an String") if params[:user_root] and !params[:user_root].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: user_home must be an String") if params[:user_home] and !params[:user_home].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: username must be an String") if params[:username] and !params[:username].is_a?(String)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  response, options = Api.send_request("/users/#{params[:id]}", :patch, params, options)
  User.new(response.data, options)
end

.user_2fa_reset(id, params = {}, options = {}) ⇒ Object

Trigger 2FA Reset process for user who has lost access to their existing 2FA methods



973
974
975
976
977
978
979
980
981
# File 'lib/files.com/models/user.rb', line 973

def self.user_2fa_reset(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/users/#{params[:id]}/2fa/reset", :post, params, options)
  nil
end

Instance Method Details

#active_2faObject

boolean - Is 2fa active for the user?



405
406
407
# File 'lib/files.com/models/user.rb', line 405

def active_2fa
  @attributes[:active_2fa]
end

#active_2fa=(value) ⇒ Object



409
410
411
# File 'lib/files.com/models/user.rb', line 409

def active_2fa=(value)
  @attributes[:active_2fa] = value
end

#admin_group_idsObject

array(int64) - List of group IDs of which this user is an administrator



31
32
33
# File 'lib/files.com/models/user.rb', line 31

def admin_group_ids
  @attributes[:admin_group_ids]
end

#admin_group_ids=(value) ⇒ Object



35
36
37
# File 'lib/files.com/models/user.rb', line 35

def admin_group_ids=(value)
  @attributes[:admin_group_ids] = value
end

#allowed_ipsObject

string - A list of allowed IPs if applicable. Newline delimited



40
41
42
# File 'lib/files.com/models/user.rb', line 40

def allowed_ips
  @attributes[:allowed_ips]
end

#allowed_ips=(value) ⇒ Object



44
45
46
# File 'lib/files.com/models/user.rb', line 44

def allowed_ips=(value)
  @attributes[:allowed_ips] = value
end

#announcements_readObject

boolean - Signifies that the user has read all the announcements in the UI.



666
667
668
# File 'lib/files.com/models/user.rb', line 666

def announcements_read
  @attributes[:announcements_read]
end

#announcements_read=(value) ⇒ Object



670
671
672
# File 'lib/files.com/models/user.rb', line 670

def announcements_read=(value)
  @attributes[:announcements_read] = value
end

#api_keys_countObject

int64 - Number of API keys associated with this user



58
59
60
# File 'lib/files.com/models/user.rb', line 58

def api_keys_count
  @attributes[:api_keys_count]
end

#api_keys_count=(value) ⇒ Object



62
63
64
# File 'lib/files.com/models/user.rb', line 62

def api_keys_count=(value)
  @attributes[:api_keys_count] = value
end

#attachments_permissionObject

boolean - If ‘true`, the user can user create Bundles (aka Share Links). Use the bundle permission instead.



49
50
51
# File 'lib/files.com/models/user.rb', line 49

def attachments_permission
  @attributes[:attachments_permission]
end

#attachments_permission=(value) ⇒ Object



53
54
55
# File 'lib/files.com/models/user.rb', line 53

def attachments_permission=(value)
  @attributes[:attachments_permission] = value
end

#authenticate_untilObject

date-time - Scheduled Date/Time at which user will be deactivated



67
68
69
# File 'lib/files.com/models/user.rb', line 67

def authenticate_until
  @attributes[:authenticate_until]
end

#authenticate_until=(value) ⇒ Object



71
72
73
# File 'lib/files.com/models/user.rb', line 71

def authenticate_until=(value)
  @attributes[:authenticate_until] = value
end

#authentication_methodObject

string - How is this user authenticated?



76
77
78
# File 'lib/files.com/models/user.rb', line 76

def authentication_method
  @attributes[:authentication_method]
end

#authentication_method=(value) ⇒ Object



80
81
82
# File 'lib/files.com/models/user.rb', line 80

def authentication_method=(value)
  @attributes[:authentication_method] = value
end

#avatar_deleteObject

boolean - If true, the avatar will be deleted.



594
595
596
# File 'lib/files.com/models/user.rb', line 594

def avatar_delete
  @attributes[:avatar_delete]
end

#avatar_delete=(value) ⇒ Object



598
599
600
# File 'lib/files.com/models/user.rb', line 598

def avatar_delete=(value)
  @attributes[:avatar_delete] = value
end

#avatar_fileObject

file - An image file for your user avatar.



585
586
587
# File 'lib/files.com/models/user.rb', line 585

def avatar_file
  @attributes[:avatar_file]
end

#avatar_file=(value) ⇒ Object



589
590
591
# File 'lib/files.com/models/user.rb', line 589

def avatar_file=(value)
  @attributes[:avatar_file] = value
end

#avatar_urlObject

string - URL holding the user’s avatar



85
86
87
# File 'lib/files.com/models/user.rb', line 85

def avatar_url
  @attributes[:avatar_url]
end

#avatar_url=(value) ⇒ Object



89
90
91
# File 'lib/files.com/models/user.rb', line 89

def avatar_url=(value)
  @attributes[:avatar_url] = value
end

#billing_permissionObject

boolean - Allow this user to perform operations on the account, payments, and invoices?



94
95
96
# File 'lib/files.com/models/user.rb', line 94

def billing_permission
  @attributes[:billing_permission]
end

#billing_permission=(value) ⇒ Object



98
99
100
# File 'lib/files.com/models/user.rb', line 98

def billing_permission=(value)
  @attributes[:billing_permission] = value
end

#bypass_inactive_disableObject

boolean - Exempt this user from being disabled based on inactivity?



112
113
114
# File 'lib/files.com/models/user.rb', line 112

def bypass_inactive_disable
  @attributes[:bypass_inactive_disable]
end

#bypass_inactive_disable=(value) ⇒ Object



116
117
118
# File 'lib/files.com/models/user.rb', line 116

def bypass_inactive_disable=(value)
  @attributes[:bypass_inactive_disable] = value
end

#bypass_site_allowed_ipsObject

boolean - Allow this user to skip site-wide IP blacklists?



103
104
105
# File 'lib/files.com/models/user.rb', line 103

def bypass_site_allowed_ips
  @attributes[:bypass_site_allowed_ips]
end

#bypass_site_allowed_ips=(value) ⇒ Object



107
108
109
# File 'lib/files.com/models/user.rb', line 107

def bypass_site_allowed_ips=(value)
  @attributes[:bypass_site_allowed_ips] = value
end

#change_passwordObject

string - Used for changing a password on an existing user.



603
604
605
# File 'lib/files.com/models/user.rb', line 603

def change_password
  @attributes[:change_password]
end

#change_password=(value) ⇒ Object



607
608
609
# File 'lib/files.com/models/user.rb', line 607

def change_password=(value)
  @attributes[:change_password] = value
end

#change_password_confirmationObject

string - Optional, but if provided, we will ensure that it matches the value sent in ‘change_password`.



612
613
614
# File 'lib/files.com/models/user.rb', line 612

def change_password_confirmation
  @attributes[:change_password_confirmation]
end

#change_password_confirmation=(value) ⇒ Object



616
617
618
# File 'lib/files.com/models/user.rb', line 616

def change_password_confirmation=(value)
  @attributes[:change_password_confirmation] = value
end

#companyObject

string - User’s company



315
316
317
# File 'lib/files.com/models/user.rb', line 315

def company
  @attributes[:company]
end

#company=(value) ⇒ Object



319
320
321
# File 'lib/files.com/models/user.rb', line 319

def company=(value)
  @attributes[:company] = value
end

#created_atObject

date-time - When this user was created



121
122
123
# File 'lib/files.com/models/user.rb', line 121

def created_at
  @attributes[:created_at]
end

#dav_permissionObject

boolean - Can the user connect with WebDAV?



126
127
128
# File 'lib/files.com/models/user.rb', line 126

def dav_permission
  @attributes[:dav_permission]
end

#dav_permission=(value) ⇒ Object



130
131
132
# File 'lib/files.com/models/user.rb', line 130

def dav_permission=(value)
  @attributes[:dav_permission] = value
end

#days_remaining_until_password_expireObject

int64 - Number of days remaining until password expires



567
568
569
# File 'lib/files.com/models/user.rb', line 567

def days_remaining_until_password_expire
  @attributes[:days_remaining_until_password_expire]
end

#days_remaining_until_password_expire=(value) ⇒ Object



571
572
573
# File 'lib/files.com/models/user.rb', line 571

def days_remaining_until_password_expire=(value)
  @attributes[:days_remaining_until_password_expire] = value
end

#delete(params = {}) ⇒ Object



792
793
794
795
796
797
798
799
800
# File 'lib/files.com/models/user.rb', line 792

def delete(params = {})
  params ||= {}
  params[:id] = @attributes[:id]
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/users/#{@attributes[:id]}", :delete, params, @options)
end

#destroy(params = {}) ⇒ Object



802
803
804
805
# File 'lib/files.com/models/user.rb', line 802

def destroy(params = {})
  delete(params)
  nil
end

#disabledObject

boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.



135
136
137
# File 'lib/files.com/models/user.rb', line 135

def disabled
  @attributes[:disabled]
end

#disabled=(value) ⇒ Object



139
140
141
# File 'lib/files.com/models/user.rb', line 139

def disabled=(value)
  @attributes[:disabled] = value
end

#disabled_expired_or_inactiveObject

boolean - Computed property that returns true if user disabled or expired or inactive.



144
145
146
# File 'lib/files.com/models/user.rb', line 144

def disabled_expired_or_inactive
  @attributes[:disabled_expired_or_inactive]
end

#disabled_expired_or_inactive=(value) ⇒ Object



148
149
150
# File 'lib/files.com/models/user.rb', line 148

def disabled_expired_or_inactive=(value)
  @attributes[:disabled_expired_or_inactive] = value
end

#emailObject

email - User email address



153
154
155
# File 'lib/files.com/models/user.rb', line 153

def email
  @attributes[:email]
end

#email=(value) ⇒ Object



157
158
159
# File 'lib/files.com/models/user.rb', line 157

def email=(value)
  @attributes[:email] = value
end

#externally_managedObject

boolean - Is this user managed by a SsoStrategy?



513
514
515
# File 'lib/files.com/models/user.rb', line 513

def externally_managed
  @attributes[:externally_managed]
end

#externally_managed=(value) ⇒ Object



517
518
519
# File 'lib/files.com/models/user.rb', line 517

def externally_managed=(value)
  @attributes[:externally_managed] = value
end

#first_login_atObject

date-time - User’s first login time



162
163
164
# File 'lib/files.com/models/user.rb', line 162

def 
  @attributes[:first_login_at]
end

#first_login_at=(value) ⇒ Object



166
167
168
# File 'lib/files.com/models/user.rb', line 166

def (value)
  @attributes[:first_login_at] = value
end

#ftp_permissionObject

boolean - Can the user access with FTP/FTPS?



171
172
173
# File 'lib/files.com/models/user.rb', line 171

def ftp_permission
  @attributes[:ftp_permission]
end

#ftp_permission=(value) ⇒ Object



175
176
177
# File 'lib/files.com/models/user.rb', line 175

def ftp_permission=(value)
  @attributes[:ftp_permission] = value
end

#grant_permissionObject

string - Permission to grant on the user root. Can be blank or ‘full`, `read`, `write`, `list`, `read+write`, or `list+write`



621
622
623
# File 'lib/files.com/models/user.rb', line 621

def grant_permission
  @attributes[:grant_permission]
end

#grant_permission=(value) ⇒ Object



625
626
627
# File 'lib/files.com/models/user.rb', line 625

def grant_permission=(value)
  @attributes[:grant_permission] = value
end

#group_idObject

int64 - Group ID to associate this user with.



630
631
632
# File 'lib/files.com/models/user.rb', line 630

def group_id
  @attributes[:group_id]
end

#group_id=(value) ⇒ Object



634
635
636
# File 'lib/files.com/models/user.rb', line 634

def group_id=(value)
  @attributes[:group_id] = value
end

#group_idsObject

string - Comma-separated list of group IDs of which this user is a member



180
181
182
# File 'lib/files.com/models/user.rb', line 180

def group_ids
  @attributes[:group_ids]
end

#group_ids=(value) ⇒ Object



184
185
186
# File 'lib/files.com/models/user.rb', line 184

def group_ids=(value)
  @attributes[:group_ids] = value
end

#header_textObject

string - Text to display to the user in the header of the UI



189
190
191
# File 'lib/files.com/models/user.rb', line 189

def header_text
  @attributes[:header_text]
end

#header_text=(value) ⇒ Object



193
194
195
# File 'lib/files.com/models/user.rb', line 193

def header_text=(value)
  @attributes[:header_text] = value
end

#idObject

int64 - User ID



13
14
15
# File 'lib/files.com/models/user.rb', line 13

def id
  @attributes[:id]
end

#id=(value) ⇒ Object



17
18
19
# File 'lib/files.com/models/user.rb', line 17

def id=(value)
  @attributes[:id] = value
end

#imported_password_hashObject

string - Pre-calculated hash of the user’s password. If supplied, this will be used to authenticate the user on first login. Supported hash methods are MD5, SHA1, and SHA256.



639
640
641
# File 'lib/files.com/models/user.rb', line 639

def imported_password_hash
  @attributes[:imported_password_hash]
end

#imported_password_hash=(value) ⇒ Object



643
644
645
# File 'lib/files.com/models/user.rb', line 643

def imported_password_hash=(value)
  @attributes[:imported_password_hash] = value
end

#languageObject

string - Preferred language



198
199
200
# File 'lib/files.com/models/user.rb', line 198

def language
  @attributes[:language]
end

#language=(value) ⇒ Object



202
203
204
# File 'lib/files.com/models/user.rb', line 202

def language=(value)
  @attributes[:language] = value
end

#last_active_atObject

date-time - User’s most recent activity time, which is the latest of most recent login, most recent API use, enablement, or creation



279
280
281
# File 'lib/files.com/models/user.rb', line 279

def last_active_at
  @attributes[:last_active_at]
end

#last_active_at=(value) ⇒ Object



283
284
285
# File 'lib/files.com/models/user.rb', line 283

def last_active_at=(value)
  @attributes[:last_active_at] = value
end

#last_api_use_atObject

date-time - User’s most recent API use time



270
271
272
# File 'lib/files.com/models/user.rb', line 270

def last_api_use_at
  @attributes[:last_api_use_at]
end

#last_api_use_at=(value) ⇒ Object



274
275
276
# File 'lib/files.com/models/user.rb', line 274

def last_api_use_at=(value)
  @attributes[:last_api_use_at] = value
end

#last_dav_login_atObject

date-time - User’s most recent login time via WebDAV



243
244
245
# File 'lib/files.com/models/user.rb', line 243

def 
  @attributes[:last_dav_login_at]
end

#last_dav_login_at=(value) ⇒ Object



247
248
249
# File 'lib/files.com/models/user.rb', line 247

def (value)
  @attributes[:last_dav_login_at] = value
end

#last_desktop_login_atObject

date-time - User’s most recent login time via Desktop app



252
253
254
# File 'lib/files.com/models/user.rb', line 252

def 
  @attributes[:last_desktop_login_at]
end

#last_desktop_login_at=(value) ⇒ Object



256
257
258
# File 'lib/files.com/models/user.rb', line 256

def (value)
  @attributes[:last_desktop_login_at] = value
end

#last_ftp_login_atObject

date-time - User’s most recent login time via FTP



225
226
227
# File 'lib/files.com/models/user.rb', line 225

def 
  @attributes[:last_ftp_login_at]
end

#last_ftp_login_at=(value) ⇒ Object



229
230
231
# File 'lib/files.com/models/user.rb', line 229

def (value)
  @attributes[:last_ftp_login_at] = value
end

#last_login_atObject

date-time - User’s most recent login time via any protocol



207
208
209
# File 'lib/files.com/models/user.rb', line 207

def 
  @attributes[:last_login_at]
end

#last_login_at=(value) ⇒ Object



211
212
213
# File 'lib/files.com/models/user.rb', line 211

def (value)
  @attributes[:last_login_at] = value
end

#last_protocol_cipherObject

string - The most recent protocol and cipher used



288
289
290
# File 'lib/files.com/models/user.rb', line 288

def last_protocol_cipher
  @attributes[:last_protocol_cipher]
end

#last_protocol_cipher=(value) ⇒ Object



292
293
294
# File 'lib/files.com/models/user.rb', line 292

def last_protocol_cipher=(value)
  @attributes[:last_protocol_cipher] = value
end

#last_restapi_login_atObject

date-time - User’s most recent login time via Rest API



261
262
263
# File 'lib/files.com/models/user.rb', line 261

def 
  @attributes[:last_restapi_login_at]
end

#last_restapi_login_at=(value) ⇒ Object



265
266
267
# File 'lib/files.com/models/user.rb', line 265

def (value)
  @attributes[:last_restapi_login_at] = value
end

#last_sftp_login_atObject

date-time - User’s most recent login time via SFTP



234
235
236
# File 'lib/files.com/models/user.rb', line 234

def 
  @attributes[:last_sftp_login_at]
end

#last_sftp_login_at=(value) ⇒ Object



238
239
240
# File 'lib/files.com/models/user.rb', line 238

def (value)
  @attributes[:last_sftp_login_at] = value
end

#last_web_login_atObject

date-time - User’s most recent login time via web



216
217
218
# File 'lib/files.com/models/user.rb', line 216

def 
  @attributes[:last_web_login_at]
end

#last_web_login_at=(value) ⇒ Object



220
221
222
# File 'lib/files.com/models/user.rb', line 220

def (value)
  @attributes[:last_web_login_at] = value
end

#lockout_expiresObject

date-time - Time in the future that the user will no longer be locked out if applicable



297
298
299
# File 'lib/files.com/models/user.rb', line 297

def lockout_expires
  @attributes[:lockout_expires]
end

#lockout_expires=(value) ⇒ Object



301
302
303
# File 'lib/files.com/models/user.rb', line 301

def lockout_expires=(value)
  @attributes[:lockout_expires] = value
end

#nameObject

string - User’s full name



306
307
308
# File 'lib/files.com/models/user.rb', line 306

def name
  @attributes[:name]
end

#name=(value) ⇒ Object



310
311
312
# File 'lib/files.com/models/user.rb', line 310

def name=(value)
  @attributes[:name] = value
end

#notesObject

string - Any internal notes on the user



324
325
326
# File 'lib/files.com/models/user.rb', line 324

def notes
  @attributes[:notes]
end

#notes=(value) ⇒ Object



328
329
330
# File 'lib/files.com/models/user.rb', line 328

def notes=(value)
  @attributes[:notes] = value
end

#notification_daily_send_timeObject

int64 - Hour of the day at which daily notifications should be sent. Can be in range 0 to 23



333
334
335
# File 'lib/files.com/models/user.rb', line 333

def notification_daily_send_time
  @attributes[:notification_daily_send_time]
end

#notification_daily_send_time=(value) ⇒ Object



337
338
339
# File 'lib/files.com/models/user.rb', line 337

def notification_daily_send_time=(value)
  @attributes[:notification_daily_send_time] = value
end

#office_integration_enabledObject

boolean - Enable integration with Office for the web?



342
343
344
# File 'lib/files.com/models/user.rb', line 342

def office_integration_enabled
  @attributes[:office_integration_enabled]
end

#office_integration_enabled=(value) ⇒ Object



346
347
348
# File 'lib/files.com/models/user.rb', line 346

def office_integration_enabled=(value)
  @attributes[:office_integration_enabled] = value
end

#passwordObject

string - User password.



648
649
650
# File 'lib/files.com/models/user.rb', line 648

def password
  @attributes[:password]
end

#password=(value) ⇒ Object



652
653
654
# File 'lib/files.com/models/user.rb', line 652

def password=(value)
  @attributes[:password] = value
end

#password_confirmationObject

string - Optional, but if provided, we will ensure that it matches the value sent in ‘password`.



657
658
659
# File 'lib/files.com/models/user.rb', line 657

def password_confirmation
  @attributes[:password_confirmation]
end

#password_confirmation=(value) ⇒ Object



661
662
663
# File 'lib/files.com/models/user.rb', line 661

def password_confirmation=(value)
  @attributes[:password_confirmation] = value
end

#password_expire_atObject

date-time - Password expiration datetime



576
577
578
# File 'lib/files.com/models/user.rb', line 576

def password_expire_at
  @attributes[:password_expire_at]
end

#password_expire_at=(value) ⇒ Object



580
581
582
# File 'lib/files.com/models/user.rb', line 580

def password_expire_at=(value)
  @attributes[:password_expire_at] = value
end

#password_expiredObject

boolean - Is user’s password expired?



423
424
425
# File 'lib/files.com/models/user.rb', line 423

def password_expired
  @attributes[:password_expired]
end

#password_expired=(value) ⇒ Object



427
428
429
# File 'lib/files.com/models/user.rb', line 427

def password_expired=(value)
  @attributes[:password_expired] = value
end

#password_set_atObject

date-time - Last time the user’s password was set



351
352
353
# File 'lib/files.com/models/user.rb', line 351

def password_set_at
  @attributes[:password_set_at]
end

#password_set_at=(value) ⇒ Object



355
356
357
# File 'lib/files.com/models/user.rb', line 355

def password_set_at=(value)
  @attributes[:password_set_at] = value
end

#password_validity_daysObject

int64 - Number of days to allow user to use the same password



360
361
362
# File 'lib/files.com/models/user.rb', line 360

def password_validity_days
  @attributes[:password_validity_days]
end

#password_validity_days=(value) ⇒ Object



364
365
366
# File 'lib/files.com/models/user.rb', line 364

def password_validity_days=(value)
  @attributes[:password_validity_days] = value
end

#public_keys_countObject

int64 - Number of public keys associated with this user



369
370
371
# File 'lib/files.com/models/user.rb', line 369

def public_keys_count
  @attributes[:public_keys_count]
end

#public_keys_count=(value) ⇒ Object



373
374
375
# File 'lib/files.com/models/user.rb', line 373

def public_keys_count=(value)
  @attributes[:public_keys_count] = value
end

#readonly_site_adminObject

boolean - Is the user an allowed to view all (non-billing) site configuration for this site?



432
433
434
# File 'lib/files.com/models/user.rb', line 432

def readonly_site_admin
  @attributes[:readonly_site_admin]
end

#readonly_site_admin=(value) ⇒ Object



436
437
438
# File 'lib/files.com/models/user.rb', line 436

def readonly_site_admin=(value)
  @attributes[:readonly_site_admin] = value
end

#receive_admin_alertsObject

boolean - Should the user receive admin alerts such a certificate expiration notifications and overages?



378
379
380
# File 'lib/files.com/models/user.rb', line 378

def receive_admin_alerts
  @attributes[:receive_admin_alerts]
end

#receive_admin_alerts=(value) ⇒ Object



382
383
384
# File 'lib/files.com/models/user.rb', line 382

def receive_admin_alerts=(value)
  @attributes[:receive_admin_alerts] = value
end

#require_2faObject

string - 2FA required setting



387
388
389
# File 'lib/files.com/models/user.rb', line 387

def require_2fa
  @attributes[:require_2fa]
end

#require_2fa=(value) ⇒ Object



391
392
393
# File 'lib/files.com/models/user.rb', line 391

def require_2fa=(value)
  @attributes[:require_2fa] = value
end

#require_login_byObject

date-time - Require user to login by specified date otherwise it will be disabled.



396
397
398
# File 'lib/files.com/models/user.rb', line 396

def 
  @attributes[:require_login_by]
end

#require_login_by=(value) ⇒ Object



400
401
402
# File 'lib/files.com/models/user.rb', line 400

def (value)
  @attributes[:require_login_by] = value
end

#require_password_changeObject

boolean - Is a password change required upon next user login?



414
415
416
# File 'lib/files.com/models/user.rb', line 414

def require_password_change
  @attributes[:require_password_change]
end

#require_password_change=(value) ⇒ Object



418
419
420
# File 'lib/files.com/models/user.rb', line 418

def require_password_change=(value)
  @attributes[:require_password_change] = value
end

#resend_welcome_email(params = {}) ⇒ Object

Resend user welcome email



686
687
688
689
690
691
692
693
694
# File 'lib/files.com/models/user.rb', line 686

def resend_welcome_email(params = {})
  params ||= {}
  params[:id] = @attributes[:id]
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/users/#{@attributes[:id]}/resend_welcome_email", :post, params, @options)
end

#restapi_permissionObject

boolean - Can this user access the Web app, Desktop app, SDKs, or REST API? (All of these tools use the API internally, so this is one unified permission set.)



441
442
443
# File 'lib/files.com/models/user.rb', line 441

def restapi_permission
  @attributes[:restapi_permission]
end

#restapi_permission=(value) ⇒ Object



445
446
447
# File 'lib/files.com/models/user.rb', line 445

def restapi_permission=(value)
  @attributes[:restapi_permission] = value
end

#saveObject



807
808
809
810
811
812
813
814
815
816
# File 'lib/files.com/models/user.rb', line 807

def save
  if @attributes[:id]
    new_obj = update(@attributes)
  else
    new_obj = User.create(@attributes, @options)
  end

  @attributes = new_obj.attributes
  true
end

#self_managedObject

boolean - Does this user manage it’s own credentials or is it a shared/bot user?



450
451
452
# File 'lib/files.com/models/user.rb', line 450

def self_managed
  @attributes[:self_managed]
end

#self_managed=(value) ⇒ Object



454
455
456
# File 'lib/files.com/models/user.rb', line 454

def self_managed=(value)
  @attributes[:self_managed] = value
end

#sftp_permissionObject

boolean - Can the user access with SFTP?



459
460
461
# File 'lib/files.com/models/user.rb', line 459

def sftp_permission
  @attributes[:sftp_permission]
end

#sftp_permission=(value) ⇒ Object



463
464
465
# File 'lib/files.com/models/user.rb', line 463

def sftp_permission=(value)
  @attributes[:sftp_permission] = value
end

#site_adminObject

boolean - Is the user an administrator for this site?



468
469
470
# File 'lib/files.com/models/user.rb', line 468

def site_admin
  @attributes[:site_admin]
end

#site_admin=(value) ⇒ Object



472
473
474
# File 'lib/files.com/models/user.rb', line 472

def site_admin=(value)
  @attributes[:site_admin] = value
end

#skip_welcome_screenObject

boolean - Skip Welcome page in the UI?



477
478
479
# File 'lib/files.com/models/user.rb', line 477

def skip_welcome_screen
  @attributes[:skip_welcome_screen]
end

#skip_welcome_screen=(value) ⇒ Object



481
482
483
# File 'lib/files.com/models/user.rb', line 481

def skip_welcome_screen=(value)
  @attributes[:skip_welcome_screen] = value
end

#ssl_requiredObject

string - SSL required setting



486
487
488
# File 'lib/files.com/models/user.rb', line 486

def ssl_required
  @attributes[:ssl_required]
end

#ssl_required=(value) ⇒ Object



490
491
492
# File 'lib/files.com/models/user.rb', line 490

def ssl_required=(value)
  @attributes[:ssl_required] = value
end

#sso_strategy_idObject

int64 - SSO (Single Sign On) strategy ID for the user, if applicable.



495
496
497
# File 'lib/files.com/models/user.rb', line 495

def sso_strategy_id
  @attributes[:sso_strategy_id]
end

#sso_strategy_id=(value) ⇒ Object



499
500
501
# File 'lib/files.com/models/user.rb', line 499

def sso_strategy_id=(value)
  @attributes[:sso_strategy_id] = value
end

#subscribe_to_newsletterObject

boolean - Is the user subscribed to the newsletter?



504
505
506
# File 'lib/files.com/models/user.rb', line 504

def subscribe_to_newsletter
  @attributes[:subscribe_to_newsletter]
end

#subscribe_to_newsletter=(value) ⇒ Object



508
509
510
# File 'lib/files.com/models/user.rb', line 508

def subscribe_to_newsletter=(value)
  @attributes[:subscribe_to_newsletter] = value
end

#time_zoneObject

string - User time zone



522
523
524
# File 'lib/files.com/models/user.rb', line 522

def time_zone
  @attributes[:time_zone]
end

#time_zone=(value) ⇒ Object



526
527
528
# File 'lib/files.com/models/user.rb', line 526

def time_zone=(value)
  @attributes[:time_zone] = value
end

#type_of_2faObject

string - Type(s) of 2FA methods in use, for programmatic use. Will be either ‘sms`, `totp`, `webauthn`, `yubi`, `email`, or multiple values sorted alphabetically and joined by an underscore. Does not specify whether user has more than one of a given method.



531
532
533
# File 'lib/files.com/models/user.rb', line 531

def type_of_2fa
  @attributes[:type_of_2fa]
end

#type_of_2fa=(value) ⇒ Object



535
536
537
# File 'lib/files.com/models/user.rb', line 535

def type_of_2fa=(value)
  @attributes[:type_of_2fa] = value
end

#type_of_2fa_for_displayObject

string - Type(s) of 2FA methods in use, formatted for displaying in the UI. Unlike ‘type_of_2fa`, this value will make clear when a user has more than 1 of the same type of method.



540
541
542
# File 'lib/files.com/models/user.rb', line 540

def type_of_2fa_for_display
  @attributes[:type_of_2fa_for_display]
end

#type_of_2fa_for_display=(value) ⇒ Object



544
545
546
# File 'lib/files.com/models/user.rb', line 544

def type_of_2fa_for_display=(value)
  @attributes[:type_of_2fa_for_display] = value
end

#unlock(params = {}) ⇒ Object

Unlock user who has been locked out due to failed logins



675
676
677
678
679
680
681
682
683
# File 'lib/files.com/models/user.rb', line 675

def unlock(params = {})
  params ||= {}
  params[:id] = @attributes[:id]
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/users/#{@attributes[:id]}/unlock", :post, params, @options)
end

#update(params = {}) ⇒ Object

Parameters:

avatar_file - file - An image file for your user avatar.
avatar_delete - boolean - If true, the avatar will be deleted.
change_password - string - Used for changing a password on an existing user.
change_password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `change_password`.
email - string - User's email.
grant_permission - string - Permission to grant on the user root.  Can be blank or `full`, `read`, `write`, `list`, `read+write`, or `list+write`
group_id - int64 - Group ID to associate this user with.
group_ids - string - A list of group ids to associate this user with.  Comma delimited.
imported_password_hash - string - Pre-calculated hash of the user's password. If supplied, this will be used to authenticate the user on first login. Supported hash methods are MD5, SHA1, and SHA256.
password - string - User password.
password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `password`.
announcements_read - boolean - Signifies that the user has read all the announcements in the UI.
allowed_ips - string - A list of allowed IPs if applicable.  Newline delimited
attachments_permission - boolean - DEPRECATED: If `true`, the user can user create Bundles (aka Share Links). Use the bundle permission instead.
authenticate_until - string - Scheduled Date/Time at which user will be deactivated
authentication_method - string - How is this user authenticated?
billing_permission - boolean - Allow this user to perform operations on the account, payments, and invoices?
bypass_inactive_disable - boolean - Exempt this user from being disabled based on inactivity?
bypass_site_allowed_ips - boolean - Allow this user to skip site-wide IP blacklists?
dav_permission - boolean - Can the user connect with WebDAV?
disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting or schedule to be deactivated after specific date.
ftp_permission - boolean - Can the user access with FTP/FTPS?
header_text - string - Text to display to the user in the header of the UI
language - string - Preferred language
notification_daily_send_time - int64 - Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
name - string - User's full name
company - string - User's company
notes - string - Any internal notes on the user
office_integration_enabled - boolean - Enable integration with Office for the web?
password_validity_days - int64 - Number of days to allow user to use the same password
readonly_site_admin - boolean - Is the user an allowed to view all (non-billing) site configuration for this site?
receive_admin_alerts - boolean - Should the user receive admin alerts such a certificate expiration notifications and overages?
require_login_by - string - Require user to login by specified date otherwise it will be disabled.
require_password_change - boolean - Is a password change required upon next user login?
restapi_permission - boolean - Can this user access the Web app, Desktop app, SDKs, or REST API?  (All of these tools use the API internally, so this is one unified permission set.)
self_managed - boolean - Does this user manage it's own credentials or is it a shared/bot user?
sftp_permission - boolean - Can the user access with SFTP?
site_admin - boolean - Is the user an administrator for this site?
skip_welcome_screen - boolean - Skip Welcome page in the UI?
ssl_required - string - SSL required setting
sso_strategy_id - int64 - SSO (Single Sign On) strategy ID for the user, if applicable.
subscribe_to_newsletter - boolean - Is the user subscribed to the newsletter?
require_2fa - string - 2FA required setting
time_zone - string - User time zone
user_root - string - Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set).  Note that this is not used for API, Desktop, or Web interface.
user_home - string - Home folder for FTP/SFTP.  Note that this is not used for API, Desktop, or Web interface.
username - string - User's username


755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
# File 'lib/files.com/models/user.rb', line 755

def update(params = {})
  params ||= {}
  params[:id] = @attributes[:id]
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: change_password must be an String") if params[:change_password] and !params[:change_password].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: change_password_confirmation must be an String") if params[:change_password_confirmation] and !params[:change_password_confirmation].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: email must be an String") if params[:email] and !params[:email].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: grant_permission must be an String") if params[:grant_permission] and !params[:grant_permission].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: group_id must be an Integer") if params[:group_id] and !params[:group_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: group_ids must be an String") if params[:group_ids] and !params[:group_ids].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: imported_password_hash must be an String") if params[:imported_password_hash] and !params[:imported_password_hash].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: password must be an String") if params[:password] and !params[:password].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: password_confirmation must be an String") if params[:password_confirmation] and !params[:password_confirmation].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: allowed_ips must be an String") if params[:allowed_ips] and !params[:allowed_ips].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: authenticate_until must be an String") if params[:authenticate_until] and !params[:authenticate_until].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: authentication_method must be an String") if params[:authentication_method] and !params[:authentication_method].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: header_text must be an String") if params[:header_text] and !params[:header_text].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: language must be an String") if params[:language] and !params[:language].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: notification_daily_send_time must be an Integer") if params[:notification_daily_send_time] and !params[:notification_daily_send_time].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: company must be an String") if params[:company] and !params[:company].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: notes must be an String") if params[:notes] and !params[:notes].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: password_validity_days must be an Integer") if params[:password_validity_days] and !params[:password_validity_days].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: require_login_by must be an String") if params[:require_login_by] and !params[:require_login_by].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: ssl_required must be an String") if params[:ssl_required] and !params[:ssl_required].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: sso_strategy_id must be an Integer") if params[:sso_strategy_id] and !params[:sso_strategy_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: require_2fa must be an String") if params[:require_2fa] and !params[:require_2fa].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: time_zone must be an String") if params[:time_zone] and !params[:time_zone].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: user_root must be an String") if params[:user_root] and !params[:user_root].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: user_home must be an String") if params[:user_home] and !params[:user_home].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: username must be an String") if params[:username] and !params[:username].is_a?(String)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/users/#{@attributes[:id]}", :patch, params, @options)
end

#user_2fa_reset(params = {}) ⇒ Object

Trigger 2FA Reset process for user who has lost access to their existing 2FA methods



697
698
699
700
701
702
703
704
705
# File 'lib/files.com/models/user.rb', line 697

def user_2fa_reset(params = {})
  params ||= {}
  params[:id] = @attributes[:id]
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/users/#{@attributes[:id]}/2fa/reset", :post, params, @options)
end

#user_homeObject

string - Home folder for FTP/SFTP. Note that this is not used for API, Desktop, or Web interface.



558
559
560
# File 'lib/files.com/models/user.rb', line 558

def user_home
  @attributes[:user_home]
end

#user_home=(value) ⇒ Object



562
563
564
# File 'lib/files.com/models/user.rb', line 562

def user_home=(value)
  @attributes[:user_home] = value
end

#user_rootObject

string - Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set). Note that this is not used for API, Desktop, or Web interface.



549
550
551
# File 'lib/files.com/models/user.rb', line 549

def user_root
  @attributes[:user_root]
end

#user_root=(value) ⇒ Object



553
554
555
# File 'lib/files.com/models/user.rb', line 553

def user_root=(value)
  @attributes[:user_root] = value
end

#usernameObject

string - User’s username



22
23
24
# File 'lib/files.com/models/user.rb', line 22

def username
  @attributes[:username]
end

#username=(value) ⇒ Object



26
27
28
# File 'lib/files.com/models/user.rb', line 26

def username=(value)
  @attributes[:username] = value
end