files.com 1.1.785 → 1.1.787

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 (131) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/_VERSION +1 -1
  4. data/lib/files.com/api.rb +20 -5
  5. data/lib/files.com/api_client.rb +196 -17
  6. data/lib/files.com/list.rb +4 -2
  7. data/lib/files.com/models/action_log.rb +4 -1
  8. data/lib/files.com/models/action_notification_export.rb +3 -1
  9. data/lib/files.com/models/action_notification_export_result.rb +4 -1
  10. data/lib/files.com/models/ai_assistant_personality.rb +20 -7
  11. data/lib/files.com/models/ai_task.rb +22 -10
  12. data/lib/files.com/models/api_key.rb +15 -7
  13. data/lib/files.com/models/api_request_log.rb +4 -1
  14. data/lib/files.com/models/app.rb +4 -1
  15. data/lib/files.com/models/as2_incoming_message.rb +4 -1
  16. data/lib/files.com/models/as2_outgoing_message.rb +4 -1
  17. data/lib/files.com/models/as2_partner.rb +18 -7
  18. data/lib/files.com/models/as2_station.rb +14 -7
  19. data/lib/files.com/models/automation.rb +47 -13
  20. data/lib/files.com/models/automation_log.rb +4 -1
  21. data/lib/files.com/models/automation_run.rb +16 -9
  22. data/lib/files.com/models/bandwidth_snapshot.rb +4 -1
  23. data/lib/files.com/models/behavior.rb +27 -9
  24. data/lib/files.com/models/bundle.rb +57 -10
  25. data/lib/files.com/models/bundle_action.rb +4 -1
  26. data/lib/files.com/models/bundle_download.rb +4 -1
  27. data/lib/files.com/models/bundle_notification.rb +20 -7
  28. data/lib/files.com/models/bundle_recipient.rb +6 -1
  29. data/lib/files.com/models/bundle_registration.rb +4 -1
  30. data/lib/files.com/models/chat_session.rb +5 -2
  31. data/lib/files.com/models/child_site_management_policy.rb +18 -7
  32. data/lib/files.com/models/clickwrap.rb +14 -7
  33. data/lib/files.com/models/custom_domain.rb +18 -8
  34. data/lib/files.com/models/desktop_configuration_profile.rb +21 -7
  35. data/lib/files.com/models/dns_record.rb +4 -1
  36. data/lib/files.com/models/email_incoming_message.rb +4 -1
  37. data/lib/files.com/models/email_log.rb +4 -1
  38. data/lib/files.com/models/event_channel.rb +20 -7
  39. data/lib/files.com/models/event_delivery_attempt.rb +5 -2
  40. data/lib/files.com/models/event_record.rb +5 -2
  41. data/lib/files.com/models/event_subscription.rb +25 -7
  42. data/lib/files.com/models/event_target.rb +22 -7
  43. data/lib/files.com/models/exavault_api_request_log.rb +4 -1
  44. data/lib/files.com/models/expectation.rb +23 -10
  45. data/lib/files.com/models/expectation_evaluation.rb +5 -2
  46. data/lib/files.com/models/expectation_incident.rb +20 -11
  47. data/lib/files.com/models/external_event.rb +6 -2
  48. data/lib/files.com/models/file.rb +110 -37
  49. data/lib/files.com/models/file_comment.rb +14 -7
  50. data/lib/files.com/models/file_comment_reaction.rb +6 -3
  51. data/lib/files.com/models/file_migration.rb +1 -1
  52. data/lib/files.com/models/file_migration_log.rb +4 -1
  53. data/lib/files.com/models/folder.rb +11 -3
  54. data/lib/files.com/models/form_field_set.rb +26 -7
  55. data/lib/files.com/models/ftp_action_log.rb +4 -1
  56. data/lib/files.com/models/gpg_key.rb +15 -7
  57. data/lib/files.com/models/group.rb +30 -7
  58. data/lib/files.com/models/group_user.rb +16 -6
  59. data/lib/files.com/models/history.rb +23 -8
  60. data/lib/files.com/models/history_export.rb +2 -1
  61. data/lib/files.com/models/history_export_result.rb +4 -1
  62. data/lib/files.com/models/holiday_calendar.rb +15 -7
  63. data/lib/files.com/models/holiday_region.rb +4 -1
  64. data/lib/files.com/models/inbound_s3_log.rb +4 -1
  65. data/lib/files.com/models/inbox_recipient.rb +6 -1
  66. data/lib/files.com/models/inbox_registration.rb +4 -1
  67. data/lib/files.com/models/inbox_upload.rb +4 -1
  68. data/lib/files.com/models/integration_centric_profile.rb +17 -7
  69. data/lib/files.com/models/invoice.rb +5 -2
  70. data/lib/files.com/models/ip_address.rb +16 -4
  71. data/lib/files.com/models/key_lifecycle_rule.rb +17 -7
  72. data/lib/files.com/models/lock.rb +16 -6
  73. data/lib/files.com/models/metadata_category.rb +19 -9
  74. data/lib/files.com/models/notification.rb +39 -7
  75. data/lib/files.com/models/outbound_connection_log.rb +4 -1
  76. data/lib/files.com/models/partner.rb +32 -7
  77. data/lib/files.com/models/partner_channel.rb +17 -7
  78. data/lib/files.com/models/partner_channel_template.rb +17 -7
  79. data/lib/files.com/models/partner_site.rb +5 -3
  80. data/lib/files.com/models/partner_site_request.rb +10 -4
  81. data/lib/files.com/models/payment.rb +5 -2
  82. data/lib/files.com/models/pending_work_event.rb +5 -2
  83. data/lib/files.com/models/permission.rb +12 -4
  84. data/lib/files.com/models/public_hosting_request_log.rb +4 -1
  85. data/lib/files.com/models/public_key.rb +15 -7
  86. data/lib/files.com/models/remote_bandwidth_snapshot.rb +4 -1
  87. data/lib/files.com/models/remote_mount_backend.rb +25 -10
  88. data/lib/files.com/models/remote_server.rb +46 -14
  89. data/lib/files.com/models/remote_server_credential.rb +14 -7
  90. data/lib/files.com/models/request.rb +17 -6
  91. data/lib/files.com/models/restore.rb +8 -1
  92. data/lib/files.com/models/schedule.rb +14 -7
  93. data/lib/files.com/models/scheduled_export.rb +18 -7
  94. data/lib/files.com/models/scim_log.rb +5 -2
  95. data/lib/files.com/models/secret.rb +15 -7
  96. data/lib/files.com/models/session.rb +1 -0
  97. data/lib/files.com/models/settings_change.rb +4 -1
  98. data/lib/files.com/models/sftp_action_log.rb +4 -1
  99. data/lib/files.com/models/sftp_host_key.rb +17 -7
  100. data/lib/files.com/models/share_group.rb +14 -7
  101. data/lib/files.com/models/siem_http_destination.rb +67 -7
  102. data/lib/files.com/models/siem_http_destination_event.rb +5 -2
  103. data/lib/files.com/models/site.rb +109 -0
  104. data/lib/files.com/models/site_subdomain_redirect.rb +10 -5
  105. data/lib/files.com/models/snapshot.rb +19 -10
  106. data/lib/files.com/models/sso_event.rb +5 -2
  107. data/lib/files.com/models/sso_strategy.rb +10 -5
  108. data/lib/files.com/models/style.rb +9 -6
  109. data/lib/files.com/models/sync.rb +36 -13
  110. data/lib/files.com/models/sync_log.rb +4 -1
  111. data/lib/files.com/models/sync_run.rb +5 -2
  112. data/lib/files.com/models/usage_daily_snapshot.rb +4 -1
  113. data/lib/files.com/models/usage_snapshot.rb +4 -1
  114. data/lib/files.com/models/user.rb +124 -16
  115. data/lib/files.com/models/user_additional_email_recipient.rb +14 -7
  116. data/lib/files.com/models/user_cipher_use.rb +4 -1
  117. data/lib/files.com/models/user_lifecycle_rule.rb +26 -7
  118. data/lib/files.com/models/user_request.rb +11 -5
  119. data/lib/files.com/models/user_security_event.rb +5 -2
  120. data/lib/files.com/models/user_sftp_client_use.rb +4 -1
  121. data/lib/files.com/models/web_dav_action_log.rb +4 -1
  122. data/lib/files.com/models/webhook_test.rb +3 -0
  123. data/lib/files.com/models/workspace.rb +14 -7
  124. data/lib/files.com/util.rb +32 -1
  125. data/lib/files.com/version.rb +3 -1
  126. data/lib/files.com.rb +54 -1
  127. data/spec/lib/api_client_spec.rb +492 -0
  128. data/spec/list_spec.rb +31 -2
  129. data/spec/models/persistence_spec.rb +1 -1
  130. data/spec/models/user_spec.rb +20 -0
  131. metadata +2 -1
@@ -128,10 +128,11 @@ module Files
128
128
  # ssl_certificate_id - int64 - Current SSL certificate ID.
129
129
  # domain - string - Customer-owned domain name.
130
130
  def update(params = {})
131
- params ||= {}
131
+ params = (params || {}).dup
132
132
  params[:id] = @attributes[:id]
133
133
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
134
134
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
135
+ raise InvalidParameterError.new("Bad parameter: available_to_all_workspaces must be a single value, not #{params[:available_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:available_to_all_workspaces].is_a?(klass) }
135
136
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
136
137
  raise InvalidParameterError.new("Bad parameter: destination must be an String") if !params[:destination].nil? and !params[:destination].is_a?(String)
137
138
  raise InvalidParameterError.new("Bad parameter: folder_behavior_id must be an Integer") if !params[:folder_behavior_id].nil? and !params[:folder_behavior_id].is_a?(Integer)
@@ -141,18 +142,21 @@ module Files
141
142
 
142
143
  response, options = Api.send_request("/custom_domains/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("CustomDomain") }
143
144
  @attributes = response.data
145
+ @options = @options.merge(options)
144
146
  [ response, options ]
145
147
  end
146
148
 
147
149
  # Returns the [response, options] pair from Files::Api.send_request.
148
150
  def delete(params = {})
149
- params ||= {}
151
+ params = (params || {}).dup
150
152
  params[:id] = @attributes[:id]
151
153
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
152
154
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
153
155
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
154
156
 
155
- Api.send_request("/custom_domains/#{@attributes[:id]}", :delete, params, @options)
157
+ response, options = Api.send_request("/custom_domains/#{@attributes[:id]}", :delete, params, @options)
158
+ @options = @options.merge(options)
159
+ [ response, options ]
156
160
  end
157
161
 
158
162
  # Alias for #delete. Returns nil.
@@ -167,6 +171,7 @@ module Files
167
171
  else
168
172
  new_obj = CustomDomain.create(@attributes, @options)
169
173
  @attributes = new_obj.attributes
174
+ @options = @options.merge(new_obj.options)
170
175
  end
171
176
 
172
177
  true
@@ -188,8 +193,11 @@ module Files
188
193
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if !params[:sort_by].nil? and !params[:sort_by].is_a?(Hash)
189
194
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if !params[:filter].nil? and !params[:filter].is_a?(Hash)
190
195
 
196
+ list_options = options.dup
191
197
  List.new(CustomDomain, params) do |page_params, &check_page|
192
- Api.send_request("/custom_domains", :get, page_params, options, &check_page)
198
+ response, page_options = Api.send_request("/custom_domains", :get, page_params, list_options, &check_page)
199
+ list_options = list_options.merge(page_options)
200
+ [ response, page_options ]
193
201
  end
194
202
  end
195
203
 
@@ -205,7 +213,7 @@ module Files
205
213
  #
206
214
  # Returns a Files::CustomDomain.
207
215
  def self.find(id, params = {}, options = {})
208
- params ||= {}
216
+ params = (params || {}).dup
209
217
  params[:id] = id
210
218
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
211
219
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -227,7 +235,7 @@ module Files
227
235
  #
228
236
  # Returns a Files::CustomDomain.
229
237
  def self.create_allocate_ip(id, params = {}, options = {})
230
- params ||= {}
238
+ params = (params || {}).dup
231
239
  params[:id] = id
232
240
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
233
241
  raise InvalidParameterError.new("Bad parameter: count must be an Integer") if !params[:count].nil? and !params[:count].is_a?(Integer)
@@ -251,6 +259,7 @@ module Files
251
259
  #
252
260
  # Returns a Files::CustomDomain.
253
261
  def self.create(params = {}, options = {})
262
+ raise InvalidParameterError.new("Bad parameter: available_to_all_workspaces must be a single value, not #{params[:available_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:available_to_all_workspaces].is_a?(klass) }
254
263
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
255
264
  raise InvalidParameterError.new("Bad parameter: destination must be an String") if !params[:destination].nil? and !params[:destination].is_a?(String)
256
265
  raise InvalidParameterError.new("Bad parameter: folder_behavior_id must be an Integer") if !params[:folder_behavior_id].nil? and !params[:folder_behavior_id].is_a?(Integer)
@@ -275,9 +284,10 @@ module Files
275
284
  #
276
285
  # Returns a Files::CustomDomain.
277
286
  def self.update(id, params = {}, options = {})
278
- params ||= {}
287
+ params = (params || {}).dup
279
288
  params[:id] = id
280
289
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
290
+ raise InvalidParameterError.new("Bad parameter: available_to_all_workspaces must be a single value, not #{params[:available_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:available_to_all_workspaces].is_a?(klass) }
281
291
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
282
292
  raise InvalidParameterError.new("Bad parameter: destination must be an String") if !params[:destination].nil? and !params[:destination].is_a?(String)
283
293
  raise InvalidParameterError.new("Bad parameter: folder_behavior_id must be an Integer") if !params[:folder_behavior_id].nil? and !params[:folder_behavior_id].is_a?(Integer)
@@ -294,7 +304,7 @@ module Files
294
304
  #
295
305
  # Returns nil.
296
306
  def self.delete(id, params = {}, options = {})
297
- params ||= {}
307
+ params = (params || {}).dup
298
308
  params[:id] = id
299
309
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
300
310
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -72,28 +72,34 @@ module Files
72
72
  # use_for_all_users - boolean - Whether this profile applies to all users in the Workspace by default
73
73
  # disable_drive_mounting - boolean - Whether the desktop app should hide drive mounting, prevent new drive mounts, and unmount active drive mounts for users with this profile
74
74
  def update(params = {})
75
- params ||= {}
75
+ params = (params || {}).dup
76
76
  params[:id] = @attributes[:id]
77
77
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
78
78
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
79
79
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
80
80
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
81
+ raise InvalidParameterError.new("Bad parameter: mount_mappings must be an Hash") if !params[:mount_mappings].nil? and !params[:mount_mappings].is_a?(Hash)
82
+ raise InvalidParameterError.new("Bad parameter: use_for_all_users must be a single value, not #{params[:use_for_all_users].class}") if [ Array, Hash ].any? { |klass| params[:use_for_all_users].is_a?(klass) }
83
+ raise InvalidParameterError.new("Bad parameter: disable_drive_mounting must be a single value, not #{params[:disable_drive_mounting].class}") if [ Array, Hash ].any? { |klass| params[:disable_drive_mounting].is_a?(klass) }
81
84
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
82
85
 
83
86
  response, options = Api.send_request("/desktop_configuration_profiles/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("DesktopConfigurationProfile") }
84
87
  @attributes = response.data
88
+ @options = @options.merge(options)
85
89
  [ response, options ]
86
90
  end
87
91
 
88
92
  # Returns the [response, options] pair from Files::Api.send_request.
89
93
  def delete(params = {})
90
- params ||= {}
94
+ params = (params || {}).dup
91
95
  params[:id] = @attributes[:id]
92
96
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
93
97
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
94
98
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
95
99
 
96
- Api.send_request("/desktop_configuration_profiles/#{@attributes[:id]}", :delete, params, @options)
100
+ response, options = Api.send_request("/desktop_configuration_profiles/#{@attributes[:id]}", :delete, params, @options)
101
+ @options = @options.merge(options)
102
+ [ response, options ]
97
103
  end
98
104
 
99
105
  # Alias for #delete. Returns nil.
@@ -108,6 +114,7 @@ module Files
108
114
  else
109
115
  new_obj = DesktopConfigurationProfile.create(@attributes, @options)
110
116
  @attributes = new_obj.attributes
117
+ @options = @options.merge(new_obj.options)
111
118
  end
112
119
 
113
120
  true
@@ -129,8 +136,11 @@ module Files
129
136
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if !params[:sort_by].nil? and !params[:sort_by].is_a?(Hash)
130
137
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if !params[:filter].nil? and !params[:filter].is_a?(Hash)
131
138
 
139
+ list_options = options.dup
132
140
  List.new(DesktopConfigurationProfile, params) do |page_params, &check_page|
133
- Api.send_request("/desktop_configuration_profiles", :get, page_params, options, &check_page)
141
+ response, page_options = Api.send_request("/desktop_configuration_profiles", :get, page_params, list_options, &check_page)
142
+ list_options = list_options.merge(page_options)
143
+ [ response, page_options ]
134
144
  end
135
145
  end
136
146
 
@@ -146,7 +156,7 @@ module Files
146
156
  #
147
157
  # Returns a Files::DesktopConfigurationProfile.
148
158
  def self.find(id, params = {}, options = {})
149
- params ||= {}
159
+ params = (params || {}).dup
150
160
  params[:id] = id
151
161
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
152
162
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -174,6 +184,8 @@ module Files
174
184
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
175
185
  raise InvalidParameterError.new("Bad parameter: mount_mappings must be an Hash") if !params[:mount_mappings].nil? and !params[:mount_mappings].is_a?(Hash)
176
186
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
187
+ raise InvalidParameterError.new("Bad parameter: use_for_all_users must be a single value, not #{params[:use_for_all_users].class}") if [ Array, Hash ].any? { |klass| params[:use_for_all_users].is_a?(klass) }
188
+ raise InvalidParameterError.new("Bad parameter: disable_drive_mounting must be a single value, not #{params[:disable_drive_mounting].class}") if [ Array, Hash ].any? { |klass| params[:disable_drive_mounting].is_a?(klass) }
177
189
  raise MissingParameterError.new("Parameter missing: name") if params[:name].nil?
178
190
  raise MissingParameterError.new("Parameter missing: mount_mappings") if params[:mount_mappings].nil?
179
191
 
@@ -193,12 +205,14 @@ module Files
193
205
  #
194
206
  # Returns a Files::DesktopConfigurationProfile.
195
207
  def self.update(id, params = {}, options = {})
196
- params ||= {}
208
+ params = (params || {}).dup
197
209
  params[:id] = id
198
210
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
199
211
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
200
212
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
201
213
  raise InvalidParameterError.new("Bad parameter: mount_mappings must be an Hash") if !params[:mount_mappings].nil? and !params[:mount_mappings].is_a?(Hash)
214
+ raise InvalidParameterError.new("Bad parameter: use_for_all_users must be a single value, not #{params[:use_for_all_users].class}") if [ Array, Hash ].any? { |klass| params[:use_for_all_users].is_a?(klass) }
215
+ raise InvalidParameterError.new("Bad parameter: disable_drive_mounting must be a single value, not #{params[:disable_drive_mounting].class}") if [ Array, Hash ].any? { |klass| params[:disable_drive_mounting].is_a?(klass) }
202
216
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
203
217
 
204
218
  response, options = Api.send_request("/desktop_configuration_profiles/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("DesktopConfigurationProfile") }
@@ -210,7 +224,7 @@ module Files
210
224
  #
211
225
  # Returns nil.
212
226
  def self.delete(id, params = {}, options = {})
213
- params ||= {}
227
+ params = (params || {}).dup
214
228
  params[:id] = id
215
229
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
216
230
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -43,8 +43,11 @@ module Files
43
43
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if !params[:cursor].nil? and !params[:cursor].is_a?(String)
44
44
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
45
45
 
46
+ list_options = options.dup
46
47
  List.new(DnsRecord, params) do |page_params, &check_page|
47
- Api.send_request("/dns_records", :get, page_params, options, &check_page)
48
+ response, page_options = Api.send_request("/dns_records", :get, page_params, list_options, &check_page)
49
+ list_options = list_options.merge(page_options)
50
+ [ response, page_options ]
48
51
  end
49
52
  end
50
53
 
@@ -82,8 +82,11 @@ module Files
82
82
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if !params[:filter_lt].nil? and !params[:filter_lt].is_a?(Hash)
83
83
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if !params[:filter_lteq].nil? and !params[:filter_lteq].is_a?(Hash)
84
84
 
85
+ list_options = options.dup
85
86
  List.new(EmailIncomingMessage, params) do |page_params, &check_page|
86
- Api.send_request("/email_incoming_messages", :get, page_params, options, &check_page)
87
+ response, page_options = Api.send_request("/email_incoming_messages", :get, page_params, list_options, &check_page)
88
+ list_options = list_options.merge(page_options)
89
+ [ response, page_options ]
87
90
  end
88
91
  end
89
92
 
@@ -83,8 +83,11 @@ module Files
83
83
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if !params[:filter_lt].nil? and !params[:filter_lt].is_a?(Hash)
84
84
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if !params[:filter_lteq].nil? and !params[:filter_lteq].is_a?(Hash)
85
85
 
86
+ list_options = options.dup
86
87
  List.new(EmailLog, params) do |page_params, &check_page|
87
- Api.send_request("/email_logs", :get, page_params, options, &check_page)
88
+ response, page_options = Api.send_request("/email_logs", :get, page_params, list_options, &check_page)
89
+ list_options = list_options.merge(page_options)
90
+ [ response, page_options ]
88
91
  end
89
92
  end
90
93
 
@@ -82,29 +82,34 @@ module Files
82
82
  # enabled - boolean - Whether this Event Channel can dispatch events.
83
83
  # default_channel - boolean - Whether this Event Channel is the default destination for newly published events.
84
84
  def update(params = {})
85
- params ||= {}
85
+ params = (params || {}).dup
86
86
  params[:id] = @attributes[:id]
87
87
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
88
88
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
89
89
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
90
90
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
91
91
  raise InvalidParameterError.new("Bad parameter: description must be an String") if !params[:description].nil? and !params[:description].is_a?(String)
92
+ raise InvalidParameterError.new("Bad parameter: enabled must be a single value, not #{params[:enabled].class}") if [ Array, Hash ].any? { |klass| params[:enabled].is_a?(klass) }
93
+ raise InvalidParameterError.new("Bad parameter: default_channel must be a single value, not #{params[:default_channel].class}") if [ Array, Hash ].any? { |klass| params[:default_channel].is_a?(klass) }
92
94
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
93
95
 
94
96
  response, options = Api.send_request("/event_channels/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("EventChannel") }
95
97
  @attributes = response.data
98
+ @options = @options.merge(options)
96
99
  [ response, options ]
97
100
  end
98
101
 
99
102
  # Returns the [response, options] pair from Files::Api.send_request.
100
103
  def delete(params = {})
101
- params ||= {}
104
+ params = (params || {}).dup
102
105
  params[:id] = @attributes[:id]
103
106
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
104
107
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
105
108
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
106
109
 
107
- Api.send_request("/event_channels/#{@attributes[:id]}", :delete, params, @options)
110
+ response, options = Api.send_request("/event_channels/#{@attributes[:id]}", :delete, params, @options)
111
+ @options = @options.merge(options)
112
+ [ response, options ]
108
113
  end
109
114
 
110
115
  # Alias for #delete. Returns nil.
@@ -119,6 +124,7 @@ module Files
119
124
  else
120
125
  new_obj = EventChannel.create(@attributes, @options)
121
126
  @attributes = new_obj.attributes
127
+ @options = @options.merge(new_obj.options)
122
128
  end
123
129
 
124
130
  true
@@ -140,8 +146,11 @@ module Files
140
146
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if !params[:sort_by].nil? and !params[:sort_by].is_a?(Hash)
141
147
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if !params[:filter].nil? and !params[:filter].is_a?(Hash)
142
148
 
149
+ list_options = options.dup
143
150
  List.new(EventChannel, params) do |page_params, &check_page|
144
- Api.send_request("/event_channels", :get, page_params, options, &check_page)
151
+ response, page_options = Api.send_request("/event_channels", :get, page_params, list_options, &check_page)
152
+ list_options = list_options.merge(page_options)
153
+ [ response, page_options ]
145
154
  end
146
155
  end
147
156
 
@@ -157,7 +166,7 @@ module Files
157
166
  #
158
167
  # Returns a Files::EventChannel.
159
168
  def self.find(id, params = {}, options = {})
160
- params ||= {}
169
+ params = (params || {}).dup
161
170
  params[:id] = id
162
171
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
163
172
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -185,6 +194,8 @@ module Files
185
194
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
186
195
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
187
196
  raise InvalidParameterError.new("Bad parameter: description must be an String") if !params[:description].nil? and !params[:description].is_a?(String)
197
+ raise InvalidParameterError.new("Bad parameter: enabled must be a single value, not #{params[:enabled].class}") if [ Array, Hash ].any? { |klass| params[:enabled].is_a?(klass) }
198
+ raise InvalidParameterError.new("Bad parameter: default_channel must be a single value, not #{params[:default_channel].class}") if [ Array, Hash ].any? { |klass| params[:default_channel].is_a?(klass) }
188
199
  raise MissingParameterError.new("Parameter missing: name") if params[:name].nil?
189
200
 
190
201
  response, options = Api.send_request("/event_channels", :post, params, options) { |reply| reply.require_object("EventChannel") }
@@ -203,12 +214,14 @@ module Files
203
214
  #
204
215
  # Returns a Files::EventChannel.
205
216
  def self.update(id, params = {}, options = {})
206
- params ||= {}
217
+ params = (params || {}).dup
207
218
  params[:id] = id
208
219
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
209
220
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
210
221
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
211
222
  raise InvalidParameterError.new("Bad parameter: description must be an String") if !params[:description].nil? and !params[:description].is_a?(String)
223
+ raise InvalidParameterError.new("Bad parameter: enabled must be a single value, not #{params[:enabled].class}") if [ Array, Hash ].any? { |klass| params[:enabled].is_a?(klass) }
224
+ raise InvalidParameterError.new("Bad parameter: default_channel must be a single value, not #{params[:default_channel].class}") if [ Array, Hash ].any? { |klass| params[:default_channel].is_a?(klass) }
212
225
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
213
226
 
214
227
  response, options = Api.send_request("/event_channels/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("EventChannel") }
@@ -220,7 +233,7 @@ module Files
220
233
  #
221
234
  # Returns nil.
222
235
  def self.delete(id, params = {}, options = {})
223
- params ||= {}
236
+ params = (params || {}).dup
224
237
  params[:id] = id
225
238
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
226
239
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -107,8 +107,11 @@ module Files
107
107
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if !params[:sort_by].nil? and !params[:sort_by].is_a?(Hash)
108
108
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if !params[:filter].nil? and !params[:filter].is_a?(Hash)
109
109
 
110
+ list_options = options.dup
110
111
  List.new(EventDeliveryAttempt, params) do |page_params, &check_page|
111
- Api.send_request("/event_delivery_attempts", :get, page_params, options, &check_page)
112
+ response, page_options = Api.send_request("/event_delivery_attempts", :get, page_params, list_options, &check_page)
113
+ list_options = list_options.merge(page_options)
114
+ [ response, page_options ]
112
115
  end
113
116
  end
114
117
 
@@ -124,7 +127,7 @@ module Files
124
127
  #
125
128
  # Returns a Files::EventDeliveryAttempt.
126
129
  def self.find(id, params = {}, options = {})
127
- params ||= {}
130
+ params = (params || {}).dup
128
131
  params[:id] = id
129
132
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
130
133
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -112,8 +112,11 @@ module Files
112
112
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if !params[:filter_lt].nil? and !params[:filter_lt].is_a?(Hash)
113
113
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if !params[:filter_lteq].nil? and !params[:filter_lteq].is_a?(Hash)
114
114
 
115
+ list_options = options.dup
115
116
  List.new(EventRecord, params) do |page_params, &check_page|
116
- Api.send_request("/event_records", :get, page_params, options, &check_page)
117
+ response, page_options = Api.send_request("/event_records", :get, page_params, list_options, &check_page)
118
+ list_options = list_options.merge(page_options)
119
+ [ response, page_options ]
117
120
  end
118
121
  end
119
122
 
@@ -129,7 +132,7 @@ module Files
129
132
  #
130
133
  # Returns a Files::EventRecord.
131
134
  def self.find(id, params = {}, options = {})
132
- params ||= {}
135
+ params = (params || {}).dup
133
136
  params[:id] = id
134
137
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
135
138
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -152,33 +152,41 @@ module Files
152
152
  # delivery_policy - object - Event Subscription delivery policy.
153
153
  # event_target_ids - array(int64) - Event Target IDs this subscription sends to.
154
154
  def update(params = {})
155
- params ||= {}
155
+ params = (params || {}).dup
156
156
  params[:id] = @attributes[:id]
157
157
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
158
158
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
159
159
  raise InvalidParameterError.new("Bad parameter: event_channel_id must be an Integer") if !params[:event_channel_id].nil? and !params[:event_channel_id].is_a?(Integer)
160
160
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
161
+ raise InvalidParameterError.new("Bad parameter: apply_to_all_workspaces must be a single value, not #{params[:apply_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:apply_to_all_workspaces].is_a?(klass) }
161
162
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
162
163
  raise InvalidParameterError.new("Bad parameter: subject must be an String") if !params[:subject].nil? and !params[:subject].is_a?(String)
163
164
  raise InvalidParameterError.new("Bad parameter: message must be an String") if !params[:message].nil? and !params[:message].is_a?(String)
165
+ raise InvalidParameterError.new("Bad parameter: message_only must be a single value, not #{params[:message_only].class}") if [ Array, Hash ].any? { |klass| params[:message_only].is_a?(klass) }
166
+ raise InvalidParameterError.new("Bad parameter: enabled must be a single value, not #{params[:enabled].class}") if [ Array, Hash ].any? { |klass| params[:enabled].is_a?(klass) }
164
167
  raise InvalidParameterError.new("Bad parameter: event_types must be an Array") if !params[:event_types].nil? and !params[:event_types].is_a?(Array)
168
+ raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if !params[:filter].nil? and !params[:filter].is_a?(Hash)
169
+ raise InvalidParameterError.new("Bad parameter: delivery_policy must be an Hash") if !params[:delivery_policy].nil? and !params[:delivery_policy].is_a?(Hash)
165
170
  raise InvalidParameterError.new("Bad parameter: event_target_ids must be an Array") if !params[:event_target_ids].nil? and !params[:event_target_ids].is_a?(Array)
166
171
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
167
172
 
168
173
  response, options = Api.send_request("/event_subscriptions/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("EventSubscription") }
169
174
  @attributes = response.data
175
+ @options = @options.merge(options)
170
176
  [ response, options ]
171
177
  end
172
178
 
173
179
  # Returns the [response, options] pair from Files::Api.send_request.
174
180
  def delete(params = {})
175
- params ||= {}
181
+ params = (params || {}).dup
176
182
  params[:id] = @attributes[:id]
177
183
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
178
184
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
179
185
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
180
186
 
181
- Api.send_request("/event_subscriptions/#{@attributes[:id]}", :delete, params, @options)
187
+ response, options = Api.send_request("/event_subscriptions/#{@attributes[:id]}", :delete, params, @options)
188
+ @options = @options.merge(options)
189
+ [ response, options ]
182
190
  end
183
191
 
184
192
  # Alias for #delete. Returns nil.
@@ -193,6 +201,7 @@ module Files
193
201
  else
194
202
  new_obj = EventSubscription.create(@attributes, @options)
195
203
  @attributes = new_obj.attributes
204
+ @options = @options.merge(new_obj.options)
196
205
  end
197
206
 
198
207
  true
@@ -214,8 +223,11 @@ module Files
214
223
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if !params[:sort_by].nil? and !params[:sort_by].is_a?(Hash)
215
224
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if !params[:filter].nil? and !params[:filter].is_a?(Hash)
216
225
 
226
+ list_options = options.dup
217
227
  List.new(EventSubscription, params) do |page_params, &check_page|
218
- Api.send_request("/event_subscriptions", :get, page_params, options, &check_page)
228
+ response, page_options = Api.send_request("/event_subscriptions", :get, page_params, list_options, &check_page)
229
+ list_options = list_options.merge(page_options)
230
+ [ response, page_options ]
219
231
  end
220
232
  end
221
233
 
@@ -231,7 +243,7 @@ module Files
231
243
  #
232
244
  # Returns a Files::EventSubscription.
233
245
  def self.find(id, params = {}, options = {})
234
- params ||= {}
246
+ params = (params || {}).dup
235
247
  params[:id] = id
236
248
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
237
249
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -265,9 +277,12 @@ module Files
265
277
  def self.create(params = {}, options = {})
266
278
  raise InvalidParameterError.new("Bad parameter: event_channel_id must be an Integer") if !params[:event_channel_id].nil? and !params[:event_channel_id].is_a?(Integer)
267
279
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
280
+ raise InvalidParameterError.new("Bad parameter: apply_to_all_workspaces must be a single value, not #{params[:apply_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:apply_to_all_workspaces].is_a?(klass) }
268
281
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
269
282
  raise InvalidParameterError.new("Bad parameter: subject must be an String") if !params[:subject].nil? and !params[:subject].is_a?(String)
270
283
  raise InvalidParameterError.new("Bad parameter: message must be an String") if !params[:message].nil? and !params[:message].is_a?(String)
284
+ raise InvalidParameterError.new("Bad parameter: message_only must be a single value, not #{params[:message_only].class}") if [ Array, Hash ].any? { |klass| params[:message_only].is_a?(klass) }
285
+ raise InvalidParameterError.new("Bad parameter: enabled must be a single value, not #{params[:enabled].class}") if [ Array, Hash ].any? { |klass| params[:enabled].is_a?(klass) }
271
286
  raise InvalidParameterError.new("Bad parameter: event_types must be an Array") if !params[:event_types].nil? and !params[:event_types].is_a?(Array)
272
287
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if !params[:filter].nil? and !params[:filter].is_a?(Hash)
273
288
  raise InvalidParameterError.new("Bad parameter: delivery_policy must be an Hash") if !params[:delivery_policy].nil? and !params[:delivery_policy].is_a?(Hash)
@@ -297,14 +312,17 @@ module Files
297
312
  #
298
313
  # Returns a Files::EventSubscription.
299
314
  def self.update(id, params = {}, options = {})
300
- params ||= {}
315
+ params = (params || {}).dup
301
316
  params[:id] = id
302
317
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
303
318
  raise InvalidParameterError.new("Bad parameter: event_channel_id must be an Integer") if !params[:event_channel_id].nil? and !params[:event_channel_id].is_a?(Integer)
304
319
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
320
+ raise InvalidParameterError.new("Bad parameter: apply_to_all_workspaces must be a single value, not #{params[:apply_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:apply_to_all_workspaces].is_a?(klass) }
305
321
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
306
322
  raise InvalidParameterError.new("Bad parameter: subject must be an String") if !params[:subject].nil? and !params[:subject].is_a?(String)
307
323
  raise InvalidParameterError.new("Bad parameter: message must be an String") if !params[:message].nil? and !params[:message].is_a?(String)
324
+ raise InvalidParameterError.new("Bad parameter: message_only must be a single value, not #{params[:message_only].class}") if [ Array, Hash ].any? { |klass| params[:message_only].is_a?(klass) }
325
+ raise InvalidParameterError.new("Bad parameter: enabled must be a single value, not #{params[:enabled].class}") if [ Array, Hash ].any? { |klass| params[:enabled].is_a?(klass) }
308
326
  raise InvalidParameterError.new("Bad parameter: event_types must be an Array") if !params[:event_types].nil? and !params[:event_types].is_a?(Array)
309
327
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if !params[:filter].nil? and !params[:filter].is_a?(Hash)
310
328
  raise InvalidParameterError.new("Bad parameter: delivery_policy must be an Hash") if !params[:delivery_policy].nil? and !params[:delivery_policy].is_a?(Hash)
@@ -320,7 +338,7 @@ module Files
320
338
  #
321
339
  # Returns nil.
322
340
  def self.delete(id, params = {}, options = {})
323
- params ||= {}
341
+ params = (params || {}).dup
324
342
  params[:id] = id
325
343
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
326
344
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -101,28 +101,35 @@ module Files
101
101
  # config - object - Event Target configuration. Folder targets accept path and format (json or csv).
102
102
  # delivery_policy - object - Event Target delivery policy. Email and folder targets support batch_interval in seconds, between 600 and 86400. Slack and Teams support delivery_mode (immediate or subfolder_summary), summary_path (empty string means root), and summary_delay (15–300 seconds, default 60). The summary applies to matching file activity under summary_path; other matching events retain immediate delivery.
103
103
  def update(params = {})
104
- params ||= {}
104
+ params = (params || {}).dup
105
105
  params[:id] = @attributes[:id]
106
106
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
107
107
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
108
108
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
109
109
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
110
+ raise InvalidParameterError.new("Bad parameter: apply_to_all_workspaces must be a single value, not #{params[:apply_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:apply_to_all_workspaces].is_a?(klass) }
111
+ raise InvalidParameterError.new("Bad parameter: enabled must be a single value, not #{params[:enabled].class}") if [ Array, Hash ].any? { |klass| params[:enabled].is_a?(klass) }
112
+ raise InvalidParameterError.new("Bad parameter: config must be an Hash") if !params[:config].nil? and !params[:config].is_a?(Hash)
113
+ raise InvalidParameterError.new("Bad parameter: delivery_policy must be an Hash") if !params[:delivery_policy].nil? and !params[:delivery_policy].is_a?(Hash)
110
114
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
111
115
 
112
116
  response, options = Api.send_request("/event_targets/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("EventTarget") }
113
117
  @attributes = response.data
118
+ @options = @options.merge(options)
114
119
  [ response, options ]
115
120
  end
116
121
 
117
122
  # Returns the [response, options] pair from Files::Api.send_request.
118
123
  def delete(params = {})
119
- params ||= {}
124
+ params = (params || {}).dup
120
125
  params[:id] = @attributes[:id]
121
126
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
122
127
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
123
128
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
124
129
 
125
- Api.send_request("/event_targets/#{@attributes[:id]}", :delete, params, @options)
130
+ response, options = Api.send_request("/event_targets/#{@attributes[:id]}", :delete, params, @options)
131
+ @options = @options.merge(options)
132
+ [ response, options ]
126
133
  end
127
134
 
128
135
  # Alias for #delete. Returns nil.
@@ -137,6 +144,7 @@ module Files
137
144
  else
138
145
  new_obj = EventTarget.create(@attributes, @options)
139
146
  @attributes = new_obj.attributes
147
+ @options = @options.merge(new_obj.options)
140
148
  end
141
149
 
142
150
  true
@@ -158,8 +166,11 @@ module Files
158
166
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if !params[:sort_by].nil? and !params[:sort_by].is_a?(Hash)
159
167
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if !params[:filter].nil? and !params[:filter].is_a?(Hash)
160
168
 
169
+ list_options = options.dup
161
170
  List.new(EventTarget, params) do |page_params, &check_page|
162
- Api.send_request("/event_targets", :get, page_params, options, &check_page)
171
+ response, page_options = Api.send_request("/event_targets", :get, page_params, list_options, &check_page)
172
+ list_options = list_options.merge(page_options)
173
+ [ response, page_options ]
163
174
  end
164
175
  end
165
176
 
@@ -175,7 +186,7 @@ module Files
175
186
  #
176
187
  # Returns a Files::EventTarget.
177
188
  def self.find(id, params = {}, options = {})
178
- params ||= {}
189
+ params = (params || {}).dup
179
190
  params[:id] = id
180
191
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
181
192
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -204,6 +215,8 @@ module Files
204
215
  def self.create(params = {}, options = {})
205
216
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
206
217
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
218
+ raise InvalidParameterError.new("Bad parameter: apply_to_all_workspaces must be a single value, not #{params[:apply_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:apply_to_all_workspaces].is_a?(klass) }
219
+ raise InvalidParameterError.new("Bad parameter: enabled must be a single value, not #{params[:enabled].class}") if [ Array, Hash ].any? { |klass| params[:enabled].is_a?(klass) }
207
220
  raise InvalidParameterError.new("Bad parameter: config must be an Hash") if !params[:config].nil? and !params[:config].is_a?(Hash)
208
221
  raise InvalidParameterError.new("Bad parameter: delivery_policy must be an Hash") if !params[:delivery_policy].nil? and !params[:delivery_policy].is_a?(Hash)
209
222
  raise InvalidParameterError.new("Bad parameter: target_type must be an String") if !params[:target_type].nil? and !params[:target_type].is_a?(String)
@@ -228,11 +241,13 @@ module Files
228
241
  #
229
242
  # Returns a Files::EventTarget.
230
243
  def self.update(id, params = {}, options = {})
231
- params ||= {}
244
+ params = (params || {}).dup
232
245
  params[:id] = id
233
246
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
234
247
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
235
248
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
249
+ raise InvalidParameterError.new("Bad parameter: apply_to_all_workspaces must be a single value, not #{params[:apply_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:apply_to_all_workspaces].is_a?(klass) }
250
+ raise InvalidParameterError.new("Bad parameter: enabled must be a single value, not #{params[:enabled].class}") if [ Array, Hash ].any? { |klass| params[:enabled].is_a?(klass) }
236
251
  raise InvalidParameterError.new("Bad parameter: config must be an Hash") if !params[:config].nil? and !params[:config].is_a?(Hash)
237
252
  raise InvalidParameterError.new("Bad parameter: delivery_policy must be an Hash") if !params[:delivery_policy].nil? and !params[:delivery_policy].is_a?(Hash)
238
253
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -246,7 +261,7 @@ module Files
246
261
  #
247
262
  # Returns nil.
248
263
  def self.delete(id, params = {}, options = {})
249
- params ||= {}
264
+ params = (params || {}).dup
250
265
  params[:id] = id
251
266
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
252
267
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -95,8 +95,11 @@ module Files
95
95
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if !params[:filter_lt].nil? and !params[:filter_lt].is_a?(Hash)
96
96
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if !params[:filter_lteq].nil? and !params[:filter_lteq].is_a?(Hash)
97
97
 
98
+ list_options = options.dup
98
99
  List.new(ExavaultApiRequestLog, params) do |page_params, &check_page|
99
- Api.send_request("/exavault_api_request_logs", :get, page_params, options, &check_page)
100
+ response, page_options = Api.send_request("/exavault_api_request_logs", :get, page_params, list_options, &check_page)
101
+ list_options = list_options.merge(page_options)
102
+ [ response, page_options ]
100
103
  end
101
104
  end
102
105