Class: Files::ApiKey

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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 = {}, 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/api_key.rb', line 5

def attributes
  @attributes
end

#optionsObject (readonly)

Returns the value of attribute options.



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

def options
  @options
end

Class Method Details

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



195
196
197
# File 'lib/files.com/models/api_key.rb', line 195

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

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

Parameters:

user_id - int64 - User ID.  Provide a value of `0` to operate the current session's user.
name - string - Internal name for the API Key.  For your use.
description - string - User-supplied description of API key.
expires_at - string - API Key expiration date
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).  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.
path - string - Folder path restriction for this api key.


227
228
229
230
231
232
233
234
235
236
237
# File 'lib/files.com/models/api_key.rb', line 227

def self.create(params = {}, options = {})
  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: name must be an String") if params[:name] and !params[:name].is_a?(String)
  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: path must be an String") if params[:path] and !params[:path].is_a?(String)

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

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



276
277
278
279
280
281
282
283
284
# File 'lib/files.com/models/api_key.rb', line 276

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]

  response, _options = Api.send_request("/api_keys/#{params[:id]}", :delete, params, options)
  response.data
end

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



271
272
273
274
# File 'lib/files.com/models/api_key.rb', line 271

def self.delete_current(params = {}, options = {})
  response, _options = Api.send_request("/api_key", :delete, params, options)
  response.data
end

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



286
287
288
# File 'lib/files.com/models/api_key.rb', line 286

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

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

Parameters:

id (required) - int64 - Api Key ID.


206
207
208
209
210
211
212
213
214
# File 'lib/files.com/models/api_key.rb', line 206

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("/api_keys/#{params[:id]}", :get, params, options)
  ApiKey.new(response.data, options)
end

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



199
200
201
202
# File 'lib/files.com/models/api_key.rb', line 199

def self.find_current(params = {}, options = {})
  response, options = Api.send_request("/api_key", :get, params, options)
  ApiKey.new(response.data, options)
end

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



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

def self.get(id, params = {}, options = {})
  find(id, params, options)
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.  Send a cursor value to resume an existing list from the point at which you left off.  Get a cursor from an existing list via either the X-Files-Cursor-Next header or the X-Files-Cursor-Prev header.
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 (e.g. sort_by[last_login_at]=desc). 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 to the supplied value. Valid fields are `expires_at`.
filter_like - object - If set, return records where the specified field is equal to 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 to the supplied value. Valid fields are `expires_at`.


178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'lib/files.com/models/api_key.rb', line 178

def self.list(params = {}, options = {})
  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_like must be an Hash") if params[:filter_like] and !params[:filter_like].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, options)
  end
end

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

Parameters:

name - string - Internal name for the API Key.  For your use.
description - string - User-supplied description of API key.
expires_at - string - API Key expiration date
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).  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.


257
258
259
260
261
262
263
264
265
266
267
268
269
# File 'lib/files.com/models/api_key.rb', line 257

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: name must be an String") if params[:name] and !params[:name].is_a?(String)
  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 MissingParameterError.new("Parameter missing: id") unless params[:id]

  response, options = Api.send_request("/api_keys/#{params[:id]}", :patch, params, options)
  ApiKey.new(response.data, options)
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).  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.


243
244
245
246
247
248
249
250
# File 'lib/files.com/models/api_key.rb', line 243

def self.update_current(params = {}, options = {})
  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, options = Api.send_request("/api_key", :patch, params, options)
  ApiKey.new(response.data, options)
end

Instance Method Details

#created_atObject

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, @options)
end

#descriptionObject

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_labelObject

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
# File 'lib/files.com/models/api_key.rb', line 154

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

#expires_atObject

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

#idObject

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

#keyObject

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_atObject

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

#nameObject

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

#pathObject

string - Folder path restriction for this api key. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.



81
82
83
# File 'lib/files.com/models/api_key.rb', line 81

def path
  @attributes[:path]
end

#path=(value) ⇒ Object



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

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

#permission_setObject

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). 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.



90
91
92
# File 'lib/files.com/models/api_key.rb', line 90

def permission_set
  @attributes[:permission_set]
end

#permission_set=(value) ⇒ Object



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

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

#platformObject

string - If this API key represents a Desktop app, what platform was it created on?



99
100
101
# File 'lib/files.com/models/api_key.rb', line 99

def platform
  @attributes[:platform]
end

#platform=(value) ⇒ Object



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

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

#saveObject



158
159
160
161
162
163
164
165
# File 'lib/files.com/models/api_key.rb', line 158

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

#update(params = {}) ⇒ Object

Parameters:

name - string - Internal name for the API Key.  For your use.
description - string - User-supplied description of API key.
expires_at - string - API Key expiration date
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).  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.


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: name must be an String") if params[:name] and !params[:name].is_a?(String)
  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 MissingParameterError.new("Parameter missing: id") unless params[:id]

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

#urlObject

string - URL for API host.



108
109
110
# File 'lib/files.com/models/api_key.rb', line 108

def url
  @attributes[:url]
end

#url=(value) ⇒ Object



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

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

#user_idObject

int64 - User ID for the owner of this API Key. May be blank for Site-wide API Keys.



117
118
119
# File 'lib/files.com/models/api_key.rb', line 117

def user_id
  @attributes[:user_id]
end

#user_id=(value) ⇒ Object



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

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