Class: Files::ApiKey
- Inherits:
-
Object
- Object
- Files::ApiKey
- Defined in:
- lib/files.com/models/api_key.rb
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Class Method Summary collapse
- .all(params = {}, options = {}) ⇒ Object
-
.create(params = {}, options = {}) ⇒ Object
Parameters: user_id - int64 - User ID.
- .delete(id, params = {}, options = {}) ⇒ Object
- .delete_current(params = {}, options = {}) ⇒ Object
- .destroy(id, params = {}, options = {}) ⇒ Object
-
.find(id, params = {}, options = {}) ⇒ Object
Parameters: id (required) - int64 - Api Key ID.
- .find_current(params = {}, options = {}) ⇒ Object
- .get(id, params = {}, options = {}) ⇒ Object
-
.list(params = {}, options = {}) ⇒ Object
Parameters: user_id - int64 - User ID.
-
.update(id, params = {}, options = {}) ⇒ Object
Parameters: description - string - User-supplied description of API key.
-
.update_current(params = {}, options = {}) ⇒ Object
Parameters: expires_at - string - API Key expiration date name - string - Internal name for the API Key.
Instance Method Summary collapse
-
#aws_access_key_id ⇒ Object
string - AWS Access Key ID to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.
- #aws_access_key_id=(value) ⇒ Object
-
#aws_secret_key ⇒ Object
string - AWS Secret Key to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.
- #aws_secret_key=(value) ⇒ Object
-
#aws_style_credentials ⇒ Object
boolean - If
true, this API key will be usable with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint. - #aws_style_credentials=(value) ⇒ Object
-
#created_at ⇒ Object
date-time - Time which API Key was created.
- #delete(params = {}) ⇒ Object
-
#description ⇒ Object
string - User-supplied description of API key.
- #description=(value) ⇒ Object
-
#descriptive_label ⇒ Object
string - Unique label that describes this API key.
- #descriptive_label=(value) ⇒ Object
- #destroy(params = {}) ⇒ Object
-
#expires_at ⇒ Object
date-time - API Key expiration date.
- #expires_at=(value) ⇒ Object
-
#id ⇒ Object
int64 - API Key ID.
- #id=(value) ⇒ Object
-
#initialize(attributes = {}, options = {}) ⇒ ApiKey
constructor
A new instance of ApiKey.
-
#key ⇒ Object
string - API Key actual key string.
- #key=(value) ⇒ Object
-
#last_use_at ⇒ Object
date-time - API Key last used - note this value is only updated once per 3 hour period, so the 'actual' time of last use may be up to 3 hours later than this timestamp.
- #last_use_at=(value) ⇒ Object
-
#name ⇒ Object
string - Internal name for the API Key.
- #name=(value) ⇒ Object
-
#path ⇒ Object
string - Folder path restriction for
office_integrationpermission set API keys. - #path=(value) ⇒ Object
-
#permission_set ⇒ Object
string - Permissions for this API Key.
- #permission_set=(value) ⇒ Object
-
#platform ⇒ Object
string - If this API key represents a Desktop app, what platform was it created on?.
- #platform=(value) ⇒ Object
- #save ⇒ Object
-
#site_id ⇒ Object
int64 - Site ID.
- #site_id=(value) ⇒ Object
-
#site_name ⇒ Object
string - Site Name.
- #site_name=(value) ⇒ Object
-
#update(params = {}) ⇒ Object
Parameters: description - string - User-supplied description of API key.
-
#url ⇒ Object
string - URL for API host.
- #url=(value) ⇒ Object
-
#user_id ⇒ Object
int64 - User ID for the owner of this API Key.
- #user_id=(value) ⇒ Object
-
#workspace_id ⇒ Object
int64 - Workspace ID for this API Key.
- #workspace_id=(value) ⇒ Object
Constructor Details
#initialize(attributes = {}, options = {}) ⇒ ApiKey
Returns a new instance of ApiKey.
7 8 9 10 |
# File 'lib/files.com/models/api_key.rb', line 7 def initialize(attributes = {}, = {}) @attributes = attributes || {} @options = || {} end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
5 6 7 |
# File 'lib/files.com/models/api_key.rb', line 5 def attributes @attributes end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
5 6 7 |
# File 'lib/files.com/models/api_key.rb', line 5 def @options end |
Class Method Details
.all(params = {}, options = {}) ⇒ Object
248 249 250 |
# File 'lib/files.com/models/api_key.rb', line 248 def self.all(params = {}, = {}) list(params, ) end |
.create(params = {}, options = {}) ⇒ Object
Parameters:
user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
description - string - User-supplied description of API key.
expires_at - string - API Key expiration date
name (required) - string - Internal name for the API Key. For your use.
aws_style_credentials - boolean - If `true`, this API key will be usable with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.
path - string - Folder path restriction for `office_integration` permission set API keys.
permission_set - string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can perform file operations as a full-access file user in the key's workspace scope, but cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user.
workspace_id - int64 - Workspace ID for this API Key. `0` means the default workspace.
282 283 284 285 286 287 288 289 290 291 292 293 294 |
# File 'lib/files.com/models/api_key.rb', line 282 def self.create(params = {}, = {}) raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params[:user_id] and !params[:user_id].is_a?(Integer) raise InvalidParameterError.new("Bad parameter: description must be an String") if params[:description] and !params[:description].is_a?(String) raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params[:expires_at] and !params[:expires_at].is_a?(String) raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String) raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String) raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params[:permission_set] and !params[:permission_set].is_a?(String) raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer) raise MissingParameterError.new("Parameter missing: name") unless params[:name] response, = Api.send_request("/api_keys", :post, params, ) ApiKey.new(response.data, ) end |
.delete(id, params = {}, options = {}) ⇒ Object
331 332 333 334 335 336 337 338 339 |
# File 'lib/files.com/models/api_key.rb', line 331 def self.delete(id, params = {}, = {}) 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("/api_keys/#{params[:id]}", :delete, params, ) nil end |
.delete_current(params = {}, options = {}) ⇒ Object
326 327 328 329 |
# File 'lib/files.com/models/api_key.rb', line 326 def self.delete_current(params = {}, = {}) Api.send_request("/api_key", :delete, params, ) nil end |
.destroy(id, params = {}, options = {}) ⇒ Object
341 342 343 344 |
# File 'lib/files.com/models/api_key.rb', line 341 def self.destroy(id, params = {}, = {}) delete(id, params, ) nil end |
.find(id, params = {}, options = {}) ⇒ Object
Parameters:
id (required) - int64 - Api Key ID.
259 260 261 262 263 264 265 266 267 |
# File 'lib/files.com/models/api_key.rb', line 259 def self.find(id, params = {}, = {}) 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, = Api.send_request("/api_keys/#{params[:id]}", :get, params, ) ApiKey.new(response.data, ) end |
.find_current(params = {}, options = {}) ⇒ Object
252 253 254 255 |
# File 'lib/files.com/models/api_key.rb', line 252 def self.find_current(params = {}, = {}) response, = Api.send_request("/api_key", :get, params, ) ApiKey.new(response.data, ) end |
.get(id, params = {}, options = {}) ⇒ Object
269 270 271 |
# File 'lib/files.com/models/api_key.rb', line 269 def self.get(id, params = {}, = {}) find(id, params, ) end |
.list(params = {}, options = {}) ⇒ Object
Parameters:
user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
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: 10000, 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 `site_id` and `workspace_id`.
filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `aws_style_credentials` and `expires_at`.
filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `expires_at`.
filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `expires_at`.
filter_lt - object - If set, return records where the specified field is less than the supplied value. Valid fields are `expires_at`.
filter_lteq - object - If set, return records where the specified field is less than or equal the supplied value. Valid fields are `expires_at`.
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 |
# File 'lib/files.com/models/api_key.rb', line 232 def self.list(params = {}, = {}) raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params[:user_id] and !params[:user_id].is_a?(Integer) 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_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) List.new(ApiKey, params) do Api.send_request("/api_keys", :get, params, ) end end |
.update(id, params = {}, options = {}) ⇒ Object
Parameters:
description - string - User-supplied description of API key.
expires_at - string - API Key expiration date
name - string - Internal name for the API Key. For your use.
313 314 315 316 317 318 319 320 321 322 323 324 |
# File 'lib/files.com/models/api_key.rb', line 313 def self.update(id, params = {}, = {}) 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: description must be an String") if params[:description] and !params[:description].is_a?(String) raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params[:expires_at] and !params[:expires_at].is_a?(String) raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String) raise MissingParameterError.new("Parameter missing: id") unless params[:id] response, = Api.send_request("/api_keys/#{params[:id]}", :patch, params, ) ApiKey.new(response.data, ) end |
.update_current(params = {}, options = {}) ⇒ Object
Parameters:
expires_at - string - API Key expiration date
name - string - Internal name for the API Key. For your use.
permission_set - string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the `files_only` permission set can perform file operations as a full-access file user in the key's workspace scope, but cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user.
300 301 302 303 304 305 306 307 |
# File 'lib/files.com/models/api_key.rb', line 300 def self.update_current(params = {}, = {}) raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params[:expires_at] and !params[:expires_at].is_a?(String) raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String) raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params[:permission_set] and !params[:permission_set].is_a?(String) response, = Api.send_request("/api_key", :patch, params, ) ApiKey.new(response.data, ) end |
Instance Method Details
#aws_access_key_id ⇒ Object
string - AWS Access Key ID to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.
72 73 74 |
# File 'lib/files.com/models/api_key.rb', line 72 def aws_access_key_id @attributes[:aws_access_key_id] end |
#aws_access_key_id=(value) ⇒ Object
76 77 78 |
# File 'lib/files.com/models/api_key.rb', line 76 def aws_access_key_id=(value) @attributes[:aws_access_key_id] = value end |
#aws_secret_key ⇒ Object
string - AWS Secret Key to use with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.
81 82 83 |
# File 'lib/files.com/models/api_key.rb', line 81 def aws_secret_key @attributes[:aws_secret_key] end |
#aws_secret_key=(value) ⇒ Object
85 86 87 |
# File 'lib/files.com/models/api_key.rb', line 85 def aws_secret_key=(value) @attributes[:aws_secret_key] = value end |
#aws_style_credentials ⇒ Object
boolean - If true, this API key will be usable with AWS-compatible endpoints, such as our Inbound S3-compatible endpoint.
63 64 65 |
# File 'lib/files.com/models/api_key.rb', line 63 def aws_style_credentials @attributes[:aws_style_credentials] end |
#aws_style_credentials=(value) ⇒ Object
67 68 69 |
# File 'lib/files.com/models/api_key.rb', line 67 def aws_style_credentials=(value) @attributes[:aws_style_credentials] = value end |
#created_at ⇒ Object
date-time - Time which API Key was created
40 41 42 |
# File 'lib/files.com/models/api_key.rb', line 40 def created_at @attributes[:created_at] end |
#delete(params = {}) ⇒ Object
196 197 198 199 200 201 202 203 204 |
# File 'lib/files.com/models/api_key.rb', line 196 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("/api_keys/#{@attributes[:id]}", :delete, params, @options) end |
#description ⇒ Object
string - User-supplied description of API key.
31 32 33 |
# File 'lib/files.com/models/api_key.rb', line 31 def description @attributes[:description] end |
#description=(value) ⇒ Object
35 36 37 |
# File 'lib/files.com/models/api_key.rb', line 35 def description=(value) @attributes[:description] = value end |
#descriptive_label ⇒ Object
string - Unique label that describes this API key. Useful for external systems where you may have API keys from multiple accounts and want a human-readable label for each key.
22 23 24 |
# File 'lib/files.com/models/api_key.rb', line 22 def descriptive_label @attributes[:descriptive_label] end |
#descriptive_label=(value) ⇒ Object
26 27 28 |
# File 'lib/files.com/models/api_key.rb', line 26 def descriptive_label=(value) @attributes[:descriptive_label] = value end |
#destroy(params = {}) ⇒ Object
206 207 208 209 |
# File 'lib/files.com/models/api_key.rb', line 206 def destroy(params = {}) delete(params) nil end |
#expires_at ⇒ Object
date-time - API Key expiration date
45 46 47 |
# File 'lib/files.com/models/api_key.rb', line 45 def expires_at @attributes[:expires_at] end |
#expires_at=(value) ⇒ Object
49 50 51 |
# File 'lib/files.com/models/api_key.rb', line 49 def expires_at=(value) @attributes[:expires_at] = value end |
#id ⇒ Object
int64 - API Key ID
13 14 15 |
# File 'lib/files.com/models/api_key.rb', line 13 def id @attributes[:id] end |
#id=(value) ⇒ Object
17 18 19 |
# File 'lib/files.com/models/api_key.rb', line 17 def id=(value) @attributes[:id] = value end |
#key ⇒ Object
string - API Key actual key string
54 55 56 |
# File 'lib/files.com/models/api_key.rb', line 54 def key @attributes[:key] end |
#key=(value) ⇒ Object
58 59 60 |
# File 'lib/files.com/models/api_key.rb', line 58 def key=(value) @attributes[:key] = value end |
#last_use_at ⇒ Object
date-time - API Key last used - note this value is only updated once per 3 hour period, so the 'actual' time of last use may be up to 3 hours later than this timestamp.
90 91 92 |
# File 'lib/files.com/models/api_key.rb', line 90 def last_use_at @attributes[:last_use_at] end |
#last_use_at=(value) ⇒ Object
94 95 96 |
# File 'lib/files.com/models/api_key.rb', line 94 def last_use_at=(value) @attributes[:last_use_at] = value end |
#name ⇒ Object
string - Internal name for the API Key. For your use.
99 100 101 |
# File 'lib/files.com/models/api_key.rb', line 99 def name @attributes[:name] end |
#name=(value) ⇒ Object
103 104 105 |
# File 'lib/files.com/models/api_key.rb', line 103 def name=(value) @attributes[:name] = value end |
#path ⇒ Object
string - Folder path restriction for office_integration permission set API keys.
171 172 173 |
# File 'lib/files.com/models/api_key.rb', line 171 def path @attributes[:path] end |
#path=(value) ⇒ Object
175 176 177 |
# File 'lib/files.com/models/api_key.rb', line 175 def path=(value) @attributes[:path] = value end |
#permission_set ⇒ Object
string - Permissions for this API Key. Keys with the desktop_app permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the office_integration permission set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Keys with the files_only permission set can perform file operations as a full-access file user in the key's workspace scope, but cannot use site admin, workspace admin, folder admin, group admin, partner admin, or billing privileges from the owning user.
108 109 110 |
# File 'lib/files.com/models/api_key.rb', line 108 def @attributes[:permission_set] end |
#permission_set=(value) ⇒ Object
112 113 114 |
# File 'lib/files.com/models/api_key.rb', line 112 def (value) @attributes[:permission_set] = value end |
#platform ⇒ Object
string - If this API key represents a Desktop app, what platform was it created on?
117 118 119 |
# File 'lib/files.com/models/api_key.rb', line 117 def platform @attributes[:platform] end |
#platform=(value) ⇒ Object
121 122 123 |
# File 'lib/files.com/models/api_key.rb', line 121 def platform=(value) @attributes[:platform] = value end |
#save ⇒ Object
211 212 213 214 215 216 217 218 219 220 |
# File 'lib/files.com/models/api_key.rb', line 211 def save if @attributes[:id] new_obj = update(@attributes) else new_obj = ApiKey.create(@attributes, @options) end @attributes = new_obj.attributes true end |
#site_id ⇒ Object
int64 - Site ID
126 127 128 |
# File 'lib/files.com/models/api_key.rb', line 126 def site_id @attributes[:site_id] end |
#site_id=(value) ⇒ Object
130 131 132 |
# File 'lib/files.com/models/api_key.rb', line 130 def site_id=(value) @attributes[:site_id] = value end |
#site_name ⇒ Object
string - Site Name
135 136 137 |
# File 'lib/files.com/models/api_key.rb', line 135 def site_name @attributes[:site_name] end |
#site_name=(value) ⇒ Object
139 140 141 |
# File 'lib/files.com/models/api_key.rb', line 139 def site_name=(value) @attributes[:site_name] = value end |
#update(params = {}) ⇒ Object
Parameters:
description - string - User-supplied description of API key.
expires_at - string - API Key expiration date
name - string - Internal name for the API Key. For your use.
183 184 185 186 187 188 189 190 191 192 193 194 |
# File 'lib/files.com/models/api_key.rb', line 183 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: description must be an String") if params[:description] and !params[:description].is_a?(String) raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params[:expires_at] and !params[:expires_at].is_a?(String) raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String) raise MissingParameterError.new("Parameter missing: id") unless params[:id] Api.send_request("/api_keys/#{@attributes[:id]}", :patch, params, @options) end |
#url ⇒ Object
string - URL for API host.
144 145 146 |
# File 'lib/files.com/models/api_key.rb', line 144 def url @attributes[:url] end |
#url=(value) ⇒ Object
148 149 150 |
# File 'lib/files.com/models/api_key.rb', line 148 def url=(value) @attributes[:url] = value end |
#user_id ⇒ Object
int64 - User ID for the owner of this API Key. May be blank for Site-wide API Keys.
153 154 155 |
# File 'lib/files.com/models/api_key.rb', line 153 def user_id @attributes[:user_id] end |
#user_id=(value) ⇒ Object
157 158 159 |
# File 'lib/files.com/models/api_key.rb', line 157 def user_id=(value) @attributes[:user_id] = value end |
#workspace_id ⇒ Object
int64 - Workspace ID for this API Key. 0 means the default workspace.
162 163 164 |
# File 'lib/files.com/models/api_key.rb', line 162 def workspace_id @attributes[:workspace_id] end |
#workspace_id=(value) ⇒ Object
166 167 168 |
# File 'lib/files.com/models/api_key.rb', line 166 def workspace_id=(value) @attributes[:workspace_id] = value end |