files.com 1.1.768 → 1.1.770

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +47 -7
  4. data/_VERSION +1 -1
  5. data/docs/file.md +37 -0
  6. data/lib/files.com/api.rb +9 -4
  7. data/lib/files.com/api_client.rb +181 -55
  8. data/lib/files.com/list.rb +98 -66
  9. data/lib/files.com/models/action_log.rb +7 -2
  10. data/lib/files.com/models/action_notification_export.rb +13 -3
  11. data/lib/files.com/models/action_notification_export_result.rb +7 -2
  12. data/lib/files.com/models/ai_assistant_personality.rb +34 -8
  13. data/lib/files.com/models/ai_task.rb +39 -8
  14. data/lib/files.com/models/api_key.rb +49 -10
  15. data/lib/files.com/models/api_request_log.rb +7 -2
  16. data/lib/files.com/models/app.rb +7 -2
  17. data/lib/files.com/models/as2_incoming_message.rb +7 -2
  18. data/lib/files.com/models/as2_outgoing_message.rb +7 -2
  19. data/lib/files.com/models/as2_partner.rb +34 -8
  20. data/lib/files.com/models/as2_station.rb +34 -8
  21. data/lib/files.com/models/automation.rb +50 -10
  22. data/lib/files.com/models/automation_log.rb +7 -2
  23. data/lib/files.com/models/automation_run.rb +31 -6
  24. data/lib/files.com/models/bandwidth_snapshot.rb +7 -2
  25. data/lib/files.com/models/behavior.rb +46 -10
  26. data/lib/files.com/models/bundle.rb +39 -8
  27. data/lib/files.com/models/bundle_action.rb +7 -2
  28. data/lib/files.com/models/bundle_download.rb +7 -2
  29. data/lib/files.com/models/bundle_notification.rb +34 -8
  30. data/lib/files.com/models/bundle_recipient.rb +14 -4
  31. data/lib/files.com/models/bundle_registration.rb +7 -2
  32. data/lib/files.com/models/chat_session.rb +13 -3
  33. data/lib/files.com/models/child_site_management_policy.rb +34 -8
  34. data/lib/files.com/models/clickwrap.rb +34 -8
  35. data/lib/files.com/models/custom_domain.rb +40 -9
  36. data/lib/files.com/models/desktop_configuration_profile.rb +34 -8
  37. data/lib/files.com/models/dns_record.rb +7 -2
  38. data/lib/files.com/models/email_incoming_message.rb +7 -2
  39. data/lib/files.com/models/email_log.rb +7 -2
  40. data/lib/files.com/models/event_channel.rb +34 -8
  41. data/lib/files.com/models/event_delivery_attempt.rb +13 -3
  42. data/lib/files.com/models/event_record.rb +13 -3
  43. data/lib/files.com/models/event_subscription.rb +34 -8
  44. data/lib/files.com/models/event_target.rb +34 -8
  45. data/lib/files.com/models/exavault_api_request_log.rb +7 -2
  46. data/lib/files.com/models/expectation.rb +40 -9
  47. data/lib/files.com/models/expectation_evaluation.rb +13 -3
  48. data/lib/files.com/models/expectation_incident.rb +31 -6
  49. data/lib/files.com/models/external_event.rb +20 -5
  50. data/lib/files.com/models/file.rb +93 -15
  51. data/lib/files.com/models/file_comment.rb +28 -7
  52. data/lib/files.com/models/file_comment_reaction.rb +11 -2
  53. data/lib/files.com/models/file_migration.rb +6 -1
  54. data/lib/files.com/models/file_migration_log.rb +7 -2
  55. data/lib/files.com/models/folder.rb +13 -3
  56. data/lib/files.com/models/form_field_set.rb +34 -8
  57. data/lib/files.com/models/ftp_action_log.rb +7 -2
  58. data/lib/files.com/models/gpg_key.rb +34 -8
  59. data/lib/files.com/models/group.rb +34 -8
  60. data/lib/files.com/models/group_user.rb +29 -7
  61. data/lib/files.com/models/history.rb +35 -10
  62. data/lib/files.com/models/history_export.rb +13 -3
  63. data/lib/files.com/models/history_export_result.rb +7 -2
  64. data/lib/files.com/models/holiday_calendar.rb +34 -8
  65. data/lib/files.com/models/holiday_region.rb +7 -2
  66. data/lib/files.com/models/inbound_s3_log.rb +7 -2
  67. data/lib/files.com/models/inbox_recipient.rb +14 -4
  68. data/lib/files.com/models/inbox_registration.rb +7 -2
  69. data/lib/files.com/models/inbox_upload.rb +7 -2
  70. data/lib/files.com/models/integration_centric_profile.rb +34 -8
  71. data/lib/files.com/models/invoice.rb +13 -3
  72. data/lib/files.com/models/ip_address.rb +28 -8
  73. data/lib/files.com/models/key_lifecycle_rule.rb +34 -8
  74. data/lib/files.com/models/lock.rb +18 -3
  75. data/lib/files.com/models/metadata_category.rb +41 -10
  76. data/lib/files.com/models/notification.rb +34 -8
  77. data/lib/files.com/models/outbound_connection_log.rb +7 -2
  78. data/lib/files.com/models/partner.rb +34 -8
  79. data/lib/files.com/models/partner_channel.rb +34 -8
  80. data/lib/files.com/models/partner_channel_template.rb +34 -8
  81. data/lib/files.com/models/partner_site.rb +4 -0
  82. data/lib/files.com/models/partner_site_request.rb +33 -4
  83. data/lib/files.com/models/payment.rb +13 -3
  84. data/lib/files.com/models/pending_work_event.rb +13 -3
  85. data/lib/files.com/models/permission.rb +18 -4
  86. data/lib/files.com/models/public_hosting_request_log.rb +7 -2
  87. data/lib/files.com/models/public_key.rb +34 -8
  88. data/lib/files.com/models/remote_bandwidth_snapshot.rb +7 -2
  89. data/lib/files.com/models/remote_mount_backend.rb +39 -8
  90. data/lib/files.com/models/remote_server.rb +52 -11
  91. data/lib/files.com/models/remote_server_credential.rb +34 -8
  92. data/lib/files.com/models/request.rb +25 -6
  93. data/lib/files.com/models/restore.rb +14 -4
  94. data/lib/files.com/models/schedule.rb +34 -8
  95. data/lib/files.com/models/scheduled_export.rb +34 -8
  96. data/lib/files.com/models/scim_log.rb +13 -3
  97. data/lib/files.com/models/secret.rb +34 -8
  98. data/lib/files.com/models/session.rb +11 -2
  99. data/lib/files.com/models/settings_change.rb +7 -2
  100. data/lib/files.com/models/sftp_action_log.rb +7 -2
  101. data/lib/files.com/models/sftp_host_key.rb +34 -8
  102. data/lib/files.com/models/share_group.rb +34 -8
  103. data/lib/files.com/models/siem_http_destination.rb +39 -8
  104. data/lib/files.com/models/siem_http_destination_event.rb +13 -3
  105. data/lib/files.com/models/site.rb +16 -3
  106. data/lib/files.com/models/site_subdomain_redirect.rb +17 -3
  107. data/lib/files.com/models/snapshot.rb +39 -8
  108. data/lib/files.com/models/sso_event.rb +13 -3
  109. data/lib/files.com/models/sso_strategy.rb +18 -3
  110. data/lib/files.com/models/style.rb +20 -5
  111. data/lib/files.com/models/sync.rb +44 -8
  112. data/lib/files.com/models/sync_log.rb +7 -2
  113. data/lib/files.com/models/sync_run.rb +13 -3
  114. data/lib/files.com/models/usage_daily_snapshot.rb +7 -2
  115. data/lib/files.com/models/usage_snapshot.rb +7 -2
  116. data/lib/files.com/models/user.rb +50 -8
  117. data/lib/files.com/models/user_additional_email_recipient.rb +34 -8
  118. data/lib/files.com/models/user_cipher_use.rb +7 -2
  119. data/lib/files.com/models/user_lifecycle_rule.rb +34 -8
  120. data/lib/files.com/models/user_request.rb +24 -5
  121. data/lib/files.com/models/user_security_event.rb +13 -3
  122. data/lib/files.com/models/user_sftp_client_use.rb +7 -2
  123. data/lib/files.com/models/web_dav_action_log.rb +7 -2
  124. data/lib/files.com/models/webhook_test.rb +7 -2
  125. data/lib/files.com/models/workspace.rb +34 -8
  126. data/lib/files.com/response.rb +24 -0
  127. data/lib/files.com/sizable_io.rb +65 -4
  128. data/lib/files.com/version.rb +1 -1
  129. data/lib/files.com.rb +23 -1
  130. data/spec/language_spec.rb +20 -10
  131. data/spec/lib/api_client_spec.rb +173 -18
  132. data/spec/list_spec.rb +203 -187
  133. data/spec/models/file_transfer_spec.rb +346 -0
  134. data/spec/models/persistence_spec.rb +167 -0
  135. data/spec/spec_helper.rb +122 -6
  136. data/spec/support/stubbed_api.rb +14 -0
  137. data/spec/support/transfer_server.rb +60 -0
  138. metadata +6 -2
@@ -101,9 +101,9 @@ module Files
101
101
  raise NotImplementedError.new("The Request object doesn't support updates.")
102
102
  else
103
103
  new_obj = Request.create(@attributes, @options)
104
+ @attributes = new_obj.attributes
104
105
  end
105
106
 
106
- @attributes = new_obj.attributes
107
107
  true
108
108
  end
109
109
 
@@ -113,14 +113,19 @@ module Files
113
113
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are .
114
114
  # mine - boolean - Only show requests of the current user? (Defaults to true if current user is not a site admin.)
115
115
  # path - string - Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
116
+ #
117
+ # params:: Hash of API operation parameter values.
118
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
119
+ #
120
+ # Returns a Files::List of Files::Request objects.
116
121
  def self.list(params = {}, options = {})
117
122
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
118
123
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
119
124
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
120
125
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
121
126
 
122
- List.new(Request, params) do
123
- Api.send_request("/requests", :get, params, options)
127
+ List.new(Request, params) do |page_params, &check_page|
128
+ Api.send_request("/requests", :get, page_params, options, &check_page)
124
129
  end
125
130
  end
126
131
 
@@ -134,6 +139,11 @@ module Files
134
139
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are .
135
140
  # mine - boolean - Only show requests of the current user? (Defaults to true if current user is not a site admin.)
136
141
  # path (required) - string - Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
142
+ #
143
+ # params:: Hash of API operation parameter values.
144
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
145
+ #
146
+ # Returns a Files::List of Files::Request objects.
137
147
  def self.get_folder(path, params = {}, options = {})
138
148
  params ||= {}
139
149
  params[:path] = path
@@ -143,8 +153,8 @@ module Files
143
153
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
144
154
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
145
155
 
146
- List.new(Request, params) do
147
- Api.send_request("/requests/folders/#{params[:path]}", :get, params, options)
156
+ List.new(Request, params) do |page_params, &check_page|
157
+ Api.send_request("/requests/folders/#{page_params[:path]}", :get, page_params, options, &check_page)
148
158
  end
149
159
  end
150
160
 
@@ -153,6 +163,11 @@ module Files
153
163
  # destination (required) - string - Destination filename (without extension) to request.
154
164
  # user_ids - string - A list of user IDs to request the file from. If sent as a string, it should be comma-delimited.
155
165
  # group_ids - string - A list of group IDs to request the file from. If sent as a string, it should be comma-delimited.
166
+ #
167
+ # params:: Hash of API operation parameter values.
168
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
169
+ #
170
+ # Returns a Files::Request.
156
171
  def self.create(params = {}, options = {})
157
172
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
158
173
  raise InvalidParameterError.new("Bad parameter: destination must be an String") if params[:destination] and !params[:destination].is_a?(String)
@@ -161,10 +176,14 @@ module Files
161
176
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
162
177
  raise MissingParameterError.new("Parameter missing: destination") unless params[:destination]
163
178
 
164
- response, options = Api.send_request("/requests", :post, params, options)
179
+ response, options = Api.send_request("/requests", :post, params, options) { |reply| reply.require_object("Request") }
165
180
  Request.new(response.data, options)
166
181
  end
167
182
 
183
+ # params:: Hash of API operation parameter values.
184
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
185
+ #
186
+ # Returns nil.
168
187
  def self.delete(id, params = {}, options = {})
169
188
  params ||= {}
170
189
  params[:id] = id
@@ -212,9 +212,9 @@ module Files
212
212
  raise NotImplementedError.new("The Restore object doesn't support updates.")
213
213
  else
214
214
  new_obj = Restore.create(@attributes, @options)
215
+ @attributes = new_obj.attributes
215
216
  end
216
217
 
217
- @attributes = new_obj.attributes
218
218
  true
219
219
  end
220
220
 
@@ -223,14 +223,19 @@ module Files
223
223
  # per_page - int64 - Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
224
224
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `workspace_id`.
225
225
  # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `restoration_type`.
226
+ #
227
+ # params:: Hash of API operation parameter values.
228
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
229
+ #
230
+ # Returns a Files::List of Files::Restore objects.
226
231
  def self.list(params = {}, options = {})
227
232
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
228
233
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
229
234
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
230
235
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
231
236
 
232
- List.new(Restore, params) do
233
- Api.send_request("/restores", :get, params, options)
237
+ List.new(Restore, params) do |page_params, &check_page|
238
+ Api.send_request("/restores", :get, page_params, options, &check_page)
234
239
  end
235
240
  end
236
241
 
@@ -246,6 +251,11 @@ module Files
246
251
  # restore_in_place - boolean - If true, we will restore the files in place (into their original paths). If false, we will create a new restoration folder in the root and restore files there.
247
252
  # update_timestamps - boolean - If true, we will update the last modified timestamp of restored files to today's date. If false, we might trigger File Expiration to delete the file again.
248
253
  # workspace_id - int64 - Workspace ID for a workspace-scoped restore. `0` means the default site-wide scope.
254
+ #
255
+ # params:: Hash of API operation parameter values.
256
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
257
+ #
258
+ # Returns a Files::Restore.
249
259
  def self.create(params = {}, options = {})
250
260
  raise InvalidParameterError.new("Bad parameter: earliest_date must be an String") if params[:earliest_date] and !params[:earliest_date].is_a?(String)
251
261
  raise InvalidParameterError.new("Bad parameter: prefix must be an String") if params[:prefix] and !params[:prefix].is_a?(String)
@@ -253,7 +263,7 @@ module Files
253
263
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
254
264
  raise MissingParameterError.new("Parameter missing: earliest_date") unless params[:earliest_date]
255
265
 
256
- response, options = Api.send_request("/restores", :post, params, options)
266
+ response, options = Api.send_request("/restores", :post, params, options) { |reply| reply.require_object("Restore") }
257
267
  Restore.new(response.data, options)
258
268
  end
259
269
  end
@@ -100,7 +100,9 @@ module Files
100
100
  raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
101
101
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
102
102
 
103
- Api.send_request("/schedules/#{@attributes[:id]}", :patch, params, @options)
103
+ response, options = Api.send_request("/schedules/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("Schedule") }
104
+ @attributes = response.data
105
+ [ response, options ]
104
106
  end
105
107
 
106
108
  def delete(params = {})
@@ -120,12 +122,12 @@ module Files
120
122
 
121
123
  def save
122
124
  if @attributes[:id]
123
- new_obj = update(@attributes)
125
+ update(@attributes)
124
126
  else
125
127
  new_obj = Schedule.create(@attributes, @options)
128
+ @attributes = new_obj.attributes
126
129
  end
127
130
 
128
- @attributes = new_obj.attributes
129
131
  true
130
132
  end
131
133
 
@@ -133,13 +135,18 @@ module Files
133
135
  # 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.
134
136
  # per_page - int64 - Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
135
137
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `name`.
138
+ #
139
+ # params:: Hash of API operation parameter values.
140
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
141
+ #
142
+ # Returns a Files::List of Files::Schedule objects.
136
143
  def self.list(params = {}, options = {})
137
144
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
138
145
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
139
146
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
140
147
 
141
- List.new(Schedule, params) do
142
- Api.send_request("/schedules", :get, params, options)
148
+ List.new(Schedule, params) do |page_params, &check_page|
149
+ Api.send_request("/schedules", :get, page_params, options, &check_page)
143
150
  end
144
151
  end
145
152
 
@@ -149,13 +156,18 @@ module Files
149
156
 
150
157
  # Parameters:
151
158
  # id (required) - int64 - Schedule ID.
159
+ #
160
+ # params:: Hash of API operation parameter values.
161
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
162
+ #
163
+ # Returns a Files::Schedule.
152
164
  def self.find(id, params = {}, options = {})
153
165
  params ||= {}
154
166
  params[:id] = id
155
167
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
156
168
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
157
169
 
158
- response, options = Api.send_request("/schedules/#{params[:id]}", :get, params, options)
170
+ response, options = Api.send_request("/schedules/#{params[:id]}", :get, params, options) { |reply| reply.require_object("Schedule") }
159
171
  Schedule.new(response.data, options)
160
172
  end
161
173
 
@@ -169,6 +181,11 @@ module Files
169
181
  # schedule_times_of_day (required) - array(string) - Times of day in HH:MM format (24-hour).
170
182
  # schedule_time_zone - string - Time zone for scheduled times. If not set, times are interpreted as UTC.
171
183
  # holiday_region - string - Optional holiday region on which linked resources do not run.
184
+ #
185
+ # params:: Hash of API operation parameter values.
186
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
187
+ #
188
+ # Returns a Files::Schedule.
172
189
  def self.create(params = {}, options = {})
173
190
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
174
191
  raise InvalidParameterError.new("Bad parameter: schedule_days_of_week must be an Array") if params[:schedule_days_of_week] and !params[:schedule_days_of_week].is_a?(Array)
@@ -179,7 +196,7 @@ module Files
179
196
  raise MissingParameterError.new("Parameter missing: schedule_days_of_week") unless params[:schedule_days_of_week]
180
197
  raise MissingParameterError.new("Parameter missing: schedule_times_of_day") unless params[:schedule_times_of_day]
181
198
 
182
- response, options = Api.send_request("/schedules", :post, params, options)
199
+ response, options = Api.send_request("/schedules", :post, params, options) { |reply| reply.require_object("Schedule") }
183
200
  Schedule.new(response.data, options)
184
201
  end
185
202
 
@@ -189,6 +206,11 @@ module Files
189
206
  # schedule_times_of_day - array(string) - Times of day in HH:MM format (24-hour).
190
207
  # schedule_time_zone - string - Time zone for scheduled times. If not set, times are interpreted as UTC.
191
208
  # holiday_region - string - Optional holiday region on which linked resources do not run.
209
+ #
210
+ # params:: Hash of API operation parameter values.
211
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
212
+ #
213
+ # Returns a Files::Schedule.
192
214
  def self.update(id, params = {}, options = {})
193
215
  params ||= {}
194
216
  params[:id] = id
@@ -200,10 +222,14 @@ module Files
200
222
  raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
201
223
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
202
224
 
203
- response, options = Api.send_request("/schedules/#{params[:id]}", :patch, params, options)
225
+ response, options = Api.send_request("/schedules/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("Schedule") }
204
226
  Schedule.new(response.data, options)
205
227
  end
206
228
 
229
+ # params:: Hash of API operation parameter values.
230
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
231
+ #
232
+ # Returns nil.
207
233
  def self.delete(id, params = {}, options = {})
208
234
  params ||= {}
209
235
  params[:id] = id
@@ -233,7 +233,9 @@ module Files
233
233
  raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
234
234
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
235
235
 
236
- Api.send_request("/scheduled_exports/#{@attributes[:id]}", :patch, params, @options)
236
+ response, options = Api.send_request("/scheduled_exports/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("ScheduledExport") }
237
+ @attributes = response.data
238
+ [ response, options ]
237
239
  end
238
240
 
239
241
  def delete(params = {})
@@ -253,12 +255,12 @@ module Files
253
255
 
254
256
  def save
255
257
  if @attributes[:id]
256
- new_obj = update(@attributes)
258
+ update(@attributes)
257
259
  else
258
260
  new_obj = ScheduledExport.create(@attributes, @options)
261
+ @attributes = new_obj.attributes
259
262
  end
260
263
 
261
- @attributes = new_obj.attributes
262
264
  true
263
265
  end
264
266
 
@@ -268,6 +270,11 @@ module Files
268
270
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `name`, `export_type` or `disabled`.
269
271
  # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `disabled` and `export_type`.
270
272
  # filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `export_type`.
273
+ #
274
+ # params:: Hash of API operation parameter values.
275
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
276
+ #
277
+ # Returns a Files::List of Files::ScheduledExport objects.
271
278
  def self.list(params = {}, options = {})
272
279
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
273
280
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
@@ -275,8 +282,8 @@ module Files
275
282
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
276
283
  raise InvalidParameterError.new("Bad parameter: filter_prefix must be an Hash") if params[:filter_prefix] and !params[:filter_prefix].is_a?(Hash)
277
284
 
278
- List.new(ScheduledExport, params) do
279
- Api.send_request("/scheduled_exports", :get, params, options)
285
+ List.new(ScheduledExport, params) do |page_params, &check_page|
286
+ Api.send_request("/scheduled_exports", :get, page_params, options, &check_page)
280
287
  end
281
288
  end
282
289
 
@@ -286,13 +293,18 @@ module Files
286
293
 
287
294
  # Parameters:
288
295
  # id (required) - int64 - Scheduled Export ID.
296
+ #
297
+ # params:: Hash of API operation parameter values.
298
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
299
+ #
300
+ # Returns a Files::ScheduledExport.
289
301
  def self.find(id, params = {}, options = {})
290
302
  params ||= {}
291
303
  params[:id] = id
292
304
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
293
305
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
294
306
 
295
- response, options = Api.send_request("/scheduled_exports/#{params[:id]}", :get, params, options)
307
+ response, options = Api.send_request("/scheduled_exports/#{params[:id]}", :get, params, options) { |reply| reply.require_object("ScheduledExport") }
296
308
  ScheduledExport.new(response.data, options)
297
309
  end
298
310
 
@@ -315,6 +327,11 @@ module Files
315
327
  # schedule_times_of_day - array(string) - Times of day in HH:MM format for the scheduled export schedule.
316
328
  # schedule_time_zone - string - Time zone used by the scheduled export schedule.
317
329
  # holiday_region - string - Optional holiday region used by the scheduled export schedule.
330
+ #
331
+ # params:: Hash of API operation parameter values.
332
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
333
+ #
334
+ # Returns a Files::ScheduledExport.
318
335
  def self.create(params = {}, options = {})
319
336
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
320
337
  raise InvalidParameterError.new("Bad parameter: export_type must be an String") if params[:export_type] and !params[:export_type].is_a?(String)
@@ -332,7 +349,7 @@ module Files
332
349
  raise MissingParameterError.new("Parameter missing: name") unless params[:name]
333
350
  raise MissingParameterError.new("Parameter missing: export_type") unless params[:export_type]
334
351
 
335
- response, options = Api.send_request("/scheduled_exports", :post, params, options)
352
+ response, options = Api.send_request("/scheduled_exports", :post, params, options) { |reply| reply.require_object("ScheduledExport") }
336
353
  ScheduledExport.new(response.data, options)
337
354
  end
338
355
 
@@ -351,6 +368,11 @@ module Files
351
368
  # schedule_times_of_day - array(string) - Times of day in HH:MM format for the scheduled export schedule.
352
369
  # schedule_time_zone - string - Time zone used by the scheduled export schedule.
353
370
  # holiday_region - string - Optional holiday region used by the scheduled export schedule.
371
+ #
372
+ # params:: Hash of API operation parameter values.
373
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
374
+ #
375
+ # Returns a Files::ScheduledExport.
354
376
  def self.update(id, params = {}, options = {})
355
377
  params ||= {}
356
378
  params[:id] = id
@@ -370,10 +392,14 @@ module Files
370
392
  raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
371
393
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
372
394
 
373
- response, options = Api.send_request("/scheduled_exports/#{params[:id]}", :patch, params, options)
395
+ response, options = Api.send_request("/scheduled_exports/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("ScheduledExport") }
374
396
  ScheduledExport.new(response.data, options)
375
397
  end
376
398
 
399
+ # params:: Hash of API operation parameter values.
400
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
401
+ #
402
+ # Returns nil.
377
403
  def self.delete(id, params = {}, options = {})
378
404
  params ||= {}
379
405
  params[:id] = id
@@ -53,13 +53,18 @@ module Files
53
53
  # 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.
54
54
  # per_page - int64 - Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
55
55
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `created_at`.
56
+ #
57
+ # params:: Hash of API operation parameter values.
58
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
59
+ #
60
+ # Returns a Files::List of Files::ScimLog objects.
56
61
  def self.list(params = {}, options = {})
57
62
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
58
63
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
59
64
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
60
65
 
61
- List.new(ScimLog, params) do
62
- Api.send_request("/scim_logs", :get, params, options)
66
+ List.new(ScimLog, params) do |page_params, &check_page|
67
+ Api.send_request("/scim_logs", :get, page_params, options, &check_page)
63
68
  end
64
69
  end
65
70
 
@@ -69,13 +74,18 @@ module Files
69
74
 
70
75
  # Parameters:
71
76
  # id (required) - int64 - Scim Log ID.
77
+ #
78
+ # params:: Hash of API operation parameter values.
79
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
80
+ #
81
+ # Returns a Files::ScimLog.
72
82
  def self.find(id, params = {}, options = {})
73
83
  params ||= {}
74
84
  params[:id] = id
75
85
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
76
86
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
77
87
 
78
- response, options = Api.send_request("/scim_logs/#{params[:id]}", :get, params, options)
88
+ response, options = Api.send_request("/scim_logs/#{params[:id]}", :get, params, options) { |reply| reply.require_object("ScimLog") }
79
89
  ScimLog.new(response.data, options)
80
90
  end
81
91
 
@@ -97,7 +97,9 @@ module Files
97
97
  raise InvalidParameterError.new("Bad parameter: secret_type must be an String") if params[:secret_type] and !params[:secret_type].is_a?(String)
98
98
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
99
99
 
100
- Api.send_request("/secrets/#{@attributes[:id]}", :patch, params, @options)
100
+ response, options = Api.send_request("/secrets/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("Secret") }
101
+ @attributes = response.data
102
+ [ response, options ]
101
103
  end
102
104
 
103
105
  def delete(params = {})
@@ -117,12 +119,12 @@ module Files
117
119
 
118
120
  def save
119
121
  if @attributes[:id]
120
- new_obj = update(@attributes)
122
+ update(@attributes)
121
123
  else
122
124
  new_obj = Secret.create(@attributes, @options)
125
+ @attributes = new_obj.attributes
123
126
  end
124
127
 
125
- @attributes = new_obj.attributes
126
128
  true
127
129
  end
128
130
 
@@ -132,6 +134,11 @@ module Files
132
134
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `workspace_id`, `name` or `secret_type`.
133
135
  # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `workspace_id`, `name` or `secret_type`. Valid field combinations are `[ workspace_id, name ]`, `[ workspace_id, secret_type ]`, `[ secret_type, name ]` or `[ workspace_id, secret_type, name ]`.
134
136
  # filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `name`.
137
+ #
138
+ # params:: Hash of API operation parameter values.
139
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
140
+ #
141
+ # Returns a Files::List of Files::Secret objects.
135
142
  def self.list(params = {}, options = {})
136
143
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
137
144
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
@@ -139,8 +146,8 @@ module Files
139
146
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
140
147
  raise InvalidParameterError.new("Bad parameter: filter_prefix must be an Hash") if params[:filter_prefix] and !params[:filter_prefix].is_a?(Hash)
141
148
 
142
- List.new(Secret, params) do
143
- Api.send_request("/secrets", :get, params, options)
149
+ List.new(Secret, params) do |page_params, &check_page|
150
+ Api.send_request("/secrets", :get, page_params, options, &check_page)
144
151
  end
145
152
  end
146
153
 
@@ -150,13 +157,18 @@ module Files
150
157
 
151
158
  # Parameters:
152
159
  # id (required) - int64 - Secret ID.
160
+ #
161
+ # params:: Hash of API operation parameter values.
162
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
163
+ #
164
+ # Returns a Files::Secret.
153
165
  def self.find(id, params = {}, options = {})
154
166
  params ||= {}
155
167
  params[:id] = id
156
168
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
157
169
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
158
170
 
159
- response, options = Api.send_request("/secrets/#{params[:id]}", :get, params, options)
171
+ response, options = Api.send_request("/secrets/#{params[:id]}", :get, params, options) { |reply| reply.require_object("Secret") }
160
172
  Secret.new(response.data, options)
161
173
  end
162
174
 
@@ -170,6 +182,11 @@ module Files
170
182
  # secret_type (required) - string - Secret type.
171
183
  # metadata - object - Non-secret metadata for the Secret type.
172
184
  # workspace_id - int64 - Workspace ID. 0 means the default workspace.
185
+ #
186
+ # params:: Hash of API operation parameter values.
187
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
188
+ #
189
+ # Returns a Files::Secret.
173
190
  def self.create(params = {}, options = {})
174
191
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
175
192
  raise InvalidParameterError.new("Bad parameter: description must be an String") if params[:description] and !params[:description].is_a?(String)
@@ -179,7 +196,7 @@ module Files
179
196
  raise MissingParameterError.new("Parameter missing: name") unless params[:name]
180
197
  raise MissingParameterError.new("Parameter missing: secret_type") unless params[:secret_type]
181
198
 
182
- response, options = Api.send_request("/secrets", :post, params, options)
199
+ response, options = Api.send_request("/secrets", :post, params, options) { |reply| reply.require_object("Secret") }
183
200
  Secret.new(response.data, options)
184
201
  end
185
202
 
@@ -188,6 +205,11 @@ module Files
188
205
  # description - string - Internal description for your reference.
189
206
  # secret_type - string - Secret type.
190
207
  # metadata - object - Non-secret metadata for the Secret type.
208
+ #
209
+ # params:: Hash of API operation parameter values.
210
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
211
+ #
212
+ # Returns a Files::Secret.
191
213
  def self.update(id, params = {}, options = {})
192
214
  params ||= {}
193
215
  params[:id] = id
@@ -198,10 +220,14 @@ module Files
198
220
  raise InvalidParameterError.new("Bad parameter: metadata must be an Hash") if params[:metadata] and !params[:metadata].is_a?(Hash)
199
221
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
200
222
 
201
- response, options = Api.send_request("/secrets/#{params[:id]}", :patch, params, options)
223
+ response, options = Api.send_request("/secrets/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("Secret") }
202
224
  Secret.new(response.data, options)
203
225
  end
204
226
 
227
+ # params:: Hash of API operation parameter values.
228
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
229
+ #
230
+ # Returns nil.
205
231
  def self.delete(id, params = {}, options = {})
206
232
  params ||= {}
207
233
  params[:id] = id
@@ -90,9 +90,9 @@ module Files
90
90
  raise NotImplementedError.new("The Session object doesn't support updates.")
91
91
  else
92
92
  new_obj = Session.create(@attributes, @options)
93
+ @attributes = new_obj.attributes
93
94
  end
94
95
 
95
- @attributes = new_obj.attributes
96
96
  true
97
97
  end
98
98
 
@@ -101,16 +101,25 @@ module Files
101
101
  # password - string - Password for sign in
102
102
  # otp - string - If this user has a 2FA device, provide its OTP or code here.
103
103
  # partial_session_id - string - Identifier for a partially-completed login
104
+ #
105
+ # params:: Hash of API operation parameter values.
106
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
107
+ #
108
+ # Returns a Files::Session.
104
109
  def self.create(params = {}, options = {})
105
110
  raise InvalidParameterError.new("Bad parameter: username must be an String") if params[:username] and !params[:username].is_a?(String)
106
111
  raise InvalidParameterError.new("Bad parameter: password must be an String") if params[:password] and !params[:password].is_a?(String)
107
112
  raise InvalidParameterError.new("Bad parameter: otp must be an String") if params[:otp] and !params[:otp].is_a?(String)
108
113
  raise InvalidParameterError.new("Bad parameter: partial_session_id must be an String") if params[:partial_session_id] and !params[:partial_session_id].is_a?(String)
109
114
 
110
- response, options = Api.send_request("/sessions", :post, params, options)
115
+ response, options = Api.send_request("/sessions", :post, params, options) { |reply| reply.require_object("Session") }
111
116
  Session.new(response.data, options)
112
117
  end
113
118
 
119
+ # params:: Hash of API operation parameter values.
120
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
121
+ #
122
+ # Returns nil.
114
123
  def self.delete(params = {}, options = {})
115
124
  Api.send_request("/sessions", :delete, params, options)
116
125
  nil
@@ -49,14 +49,19 @@ module Files
49
49
  # per_page - int64 - Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
50
50
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `created_at`, `api_key_id` or `user_id`.
51
51
  # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `api_key_id` and `user_id`.
52
+ #
53
+ # params:: Hash of API operation parameter values.
54
+ # options:: Hash of optional request configuration passed to Files::Api.send_request.
55
+ #
56
+ # Returns a Files::List of Files::SettingsChange objects.
52
57
  def self.list(params = {}, options = {})
53
58
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
54
59
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
55
60
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
56
61
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
57
62
 
58
- List.new(SettingsChange, params) do
59
- Api.send_request("/settings_changes", :get, params, options)
63
+ List.new(SettingsChange, params) do |page_params, &check_page|
64
+ Api.send_request("/settings_changes", :get, page_params, options, &check_page)
60
65
  end
61
66
  end
62
67