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
-
#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_integration` permission 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
-
#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
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 || {} = || {} 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 end |
Class Method Details
.all(params = {}, options = {}) ⇒ Object
196 197 198 |
# File 'lib/files.com/models/api_key.rb', line 196 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
permission_set - string - Permissions for this API Key. It must be full for site-wide API Keys. 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. Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges. If you have ideas for permission sets, please let us know.
name (required) - string - Internal name for the API Key. For your use.
path - string - Folder path restriction for `office_integration` permission set API keys.
228 229 230 231 232 233 234 235 236 237 238 239 |
# File 'lib/files.com/models/api_key.rb', line 228 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: permission_set must be an String") if params[:permission_set] and !params[:permission_set].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 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
278 279 280 281 282 283 284 285 286 |
# File 'lib/files.com/models/api_key.rb', line 278 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
273 274 275 276 |
# File 'lib/files.com/models/api_key.rb', line 273 def self.delete_current(params = {}, = {}) Api.send_request("/api_key", :delete, params, ) nil end |
.destroy(id, params = {}, options = {}) ⇒ Object
288 289 290 291 |
# File 'lib/files.com/models/api_key.rb', line 288 def self.destroy(id, params = {}, = {}) delete(id, params, ) nil end |
.find(id, params = {}, options = {}) ⇒ Object
Parameters:
id (required) - int64 - Api Key ID.
207 208 209 210 211 212 213 214 215 |
# File 'lib/files.com/models/api_key.rb', line 207 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
200 201 202 203 |
# File 'lib/files.com/models/api_key.rb', line 200 def self.find_current(params = {}, = {}) response, = Api.send_request("/api_key", :get, params, ) ApiKey.new(response.data, ) end |
.get(id, params = {}, options = {}) ⇒ Object
217 218 219 |
# File 'lib/files.com/models/api_key.rb', line 217 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: 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 `expires_at`.
filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `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`.
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
# File 'lib/files.com/models/api_key.rb', line 180 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
- string - Permissions for this API Key. It must be full for site-wide API Keys. Keys with the `desktop_app` set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Additional sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges. If you have ideas for sets, please let us know.
name - string - Internal name for the API Key. For your use.
259 260 261 262 263 264 265 266 267 268 269 270 271 |
# File 'lib/files.com/models/api_key.rb', line 259 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: permission_set must be an String") if params[:permission_set] and !params[:permission_set].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.
- string - Permissions for this API Key. It must be full for site-wide API Keys. Keys with the `desktop_app` set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Additional sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges. If you have ideas for sets, please let us know.
245 246 247 248 249 250 251 252 |
# File 'lib/files.com/models/api_key.rb', line 245 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
#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
144 145 146 147 148 149 150 151 152 |
# File 'lib/files.com/models/api_key.rb', line 144 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, ) 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
154 155 156 157 |
# File 'lib/files.com/models/api_key.rb', line 154 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.
63 64 65 |
# File 'lib/files.com/models/api_key.rb', line 63 def last_use_at @attributes[:last_use_at] end |
#last_use_at=(value) ⇒ Object
67 68 69 |
# File 'lib/files.com/models/api_key.rb', line 67 def last_use_at=(value) @attributes[:last_use_at] = value end |
#name ⇒ Object
string - Internal name for the API Key. For your use.
72 73 74 |
# File 'lib/files.com/models/api_key.rb', line 72 def name @attributes[:name] end |
#name=(value) ⇒ Object
76 77 78 |
# File 'lib/files.com/models/api_key.rb', line 76 def name=(value) @attributes[:name] = value end |
#path ⇒ Object
string - Folder path restriction for ‘office_integration` permission set API keys.
117 118 119 |
# File 'lib/files.com/models/api_key.rb', line 117 def path @attributes[:path] end |
#path=(value) ⇒ Object
121 122 123 |
# File 'lib/files.com/models/api_key.rb', line 121 def path=(value) @attributes[:path] = value end |
#permission_set ⇒ Object
string - Permissions for this API Key. It must be full for site-wide API Keys. 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. Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges. If you have ideas for permission sets, please let us know.
81 82 83 |
# File 'lib/files.com/models/api_key.rb', line 81 def @attributes[:permission_set] end |
#permission_set=(value) ⇒ Object
85 86 87 |
# File 'lib/files.com/models/api_key.rb', line 85 def (value) @attributes[:permission_set] = value end |
#platform ⇒ Object
string - If this API key represents a Desktop app, what platform was it created on?
90 91 92 |
# File 'lib/files.com/models/api_key.rb', line 90 def platform @attributes[:platform] end |
#platform=(value) ⇒ Object
94 95 96 |
# File 'lib/files.com/models/api_key.rb', line 94 def platform=(value) @attributes[:platform] = value end |
#save ⇒ Object
159 160 161 162 163 164 165 166 167 168 |
# File 'lib/files.com/models/api_key.rb', line 159 def save if @attributes[:id] new_obj = update(@attributes) else new_obj = ApiKey.create(@attributes, ) end @attributes = new_obj.attributes true end |
#update(params = {}) ⇒ Object
Parameters:
description - string - User-supplied description of API key.
expires_at - string - API Key expiration date
- string - Permissions for this API Key. It must be full for site-wide API Keys. Keys with the `desktop_app` set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Keys with the `office_integration` set are auto generated, and automatically expire, to allow users to interact with office integration platforms. Additional sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges. If you have ideas for sets, please let us know.
name - string - Internal name for the API Key. For your use.
130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/files.com/models/api_key.rb', line 130 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: permission_set must be an String") if params[:permission_set] and !params[:permission_set].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, ) end |
#url ⇒ Object
string - URL for API host.
99 100 101 |
# File 'lib/files.com/models/api_key.rb', line 99 def url @attributes[:url] end |
#url=(value) ⇒ Object
103 104 105 |
# File 'lib/files.com/models/api_key.rb', line 103 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.
108 109 110 |
# File 'lib/files.com/models/api_key.rb', line 108 def user_id @attributes[:user_id] end |
#user_id=(value) ⇒ Object
112 113 114 |
# File 'lib/files.com/models/api_key.rb', line 112 def user_id=(value) @attributes[:user_id] = value end |