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



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

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



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

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



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

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.  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 = {}, 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_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:

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 - 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 = {}, 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: 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, 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. 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.


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

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

def destroy(params = {})
  delete(params)
  nil
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 ‘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_setObject

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 permission_set
  @attributes[:permission_set]
end

#permission_set=(value) ⇒ Object



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

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?



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

#saveObject



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

#urlObject

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_idObject

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