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



155
156
157
# File 'lib/files.com/models/api_key.rb', line 155

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


185
186
187
188
189
190
191
192
193
# File 'lib/files.com/models/api_key.rb', line 185

def self.create(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
  raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
  raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(:permission_set).is_a?(String)

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

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



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

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

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

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



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

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

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



240
241
242
# File 'lib/files.com/models/api_key.rb', line 240

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

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

Parameters:

id (required) - int64 - Api Key ID.


166
167
168
169
170
171
172
173
174
# File 'lib/files.com/models/api_key.rb', line 166

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

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

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



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

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



176
177
178
# File 'lib/files.com/models/api_key.rb', line 176

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.
page - int64 - Current page number.
per_page - int64 - Number of records to show per page.  (Max: 10,000, 1,000 or less is recommended).
action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.


143
144
145
146
147
148
149
150
151
152
153
# File 'lib/files.com/models/api_key.rb', line 143

def self.list(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)

  response, options = Api.send_request("/api_keys", :get, params, options)
  response.data.map do |entity_data|
    ApiKey.new(entity_data, options)
  end
end

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

Parameters:

name - string - Internal name for the API Key.  For your use.
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.


212
213
214
215
216
217
218
219
220
221
222
223
# File 'lib/files.com/models/api_key.rb', line 212

def self.update(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
  raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
  raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(:permission_set).is_a?(String)
  raise MissingParameterError.new("Parameter missing: id") unless params.dig(: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.


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

def self.update_current(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
  raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(: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



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

def created_at
  @attributes[:created_at]
end

#delete(params = {}) ⇒ Object



115
116
117
118
119
120
121
122
123
# File 'lib/files.com/models/api_key.rb', line 115

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.dig(:id) and !params.dig(:id).is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)

  Api.send_request("/api_keys/#{@attributes[:id]}", :delete, params, @options)
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



125
126
127
# File 'lib/files.com/models/api_key.rb', line 125

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

#expires_atObject

date-time - API Key expiration date



36
37
38
# File 'lib/files.com/models/api_key.rb', line 36

def expires_at
  @attributes[:expires_at]
end

#expires_at=(value) ⇒ Object



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

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



45
46
47
# File 'lib/files.com/models/api_key.rb', line 45

def key
  @attributes[:key]
end

#key=(value) ⇒ Object



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

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.



54
55
56
# File 'lib/files.com/models/api_key.rb', line 54

def last_use_at
  @attributes[:last_use_at]
end

#last_use_at=(value) ⇒ Object



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

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

#nameObject

string - Internal name for the API Key. For your use.



63
64
65
# File 'lib/files.com/models/api_key.rb', line 63

def name
  @attributes[:name]
end

#name=(value) ⇒ Object



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

def name=(value)
  @attributes[:name] = 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.



72
73
74
# File 'lib/files.com/models/api_key.rb', line 72

def permission_set
  @attributes[:permission_set]
end

#permission_set=(value) ⇒ Object



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

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?



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

def platform
  @attributes[:platform]
end

#platform=(value) ⇒ Object



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

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

#saveObject



129
130
131
132
133
134
135
136
# File 'lib/files.com/models/api_key.rb', line 129

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


102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/files.com/models/api_key.rb', line 102

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.dig(:id) and !params.dig(:id).is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
  raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
  raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(:permission_set).is_a?(String)
  raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)

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

#user_idObject

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



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

def user_id
  @attributes[:user_id]
end

#user_id=(value) ⇒ Object



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

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