svix 1.38.0 → 1.40.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (219) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/README.md +8 -1
  4. data/lib/svix/api/application_api.rb +23 -14
  5. data/lib/svix/api/authentication_api.rb +23 -11
  6. data/lib/svix/api/background_tasks_api.rb +3 -3
  7. data/lib/svix/api/broadcast_api.rb +6 -3
  8. data/lib/svix/api/endpoint_api.rb +86 -44
  9. data/lib/svix/api/environment_api.rb +8 -5
  10. data/lib/svix/api/environment_settings_api.rb +2 -2
  11. data/lib/svix/api/event_type_api.rb +39 -21
  12. data/lib/svix/api/events_api.rb +2 -2
  13. data/lib/svix/api/health_api.rb +2 -2
  14. data/lib/svix/api/inbound_api.rb +7 -4
  15. data/lib/svix/api/integration_api.rb +16 -10
  16. data/lib/svix/api/message_api.rb +21 -15
  17. data/lib/svix/api/message_attempt_api.rb +25 -25
  18. data/lib/svix/api/statistics_api.rb +9 -6
  19. data/lib/svix/api/stream_api.rb +176 -10
  20. data/lib/svix/api/stream_event_types_api.rb +486 -0
  21. data/lib/svix/api/transformation_template_api.rb +49 -22
  22. data/lib/svix/api/webhook_endpoint_api.rb +572 -0
  23. data/lib/svix/api_client.rb +45 -28
  24. data/lib/svix/api_error.rb +2 -1
  25. data/lib/svix/configuration.rb +42 -12
  26. data/lib/svix/models/aggregate_event_types_out.rb +43 -19
  27. data/lib/svix/models/app_portal_access_in.rb +19 -19
  28. data/lib/svix/models/app_portal_access_out.rb +19 -19
  29. data/lib/svix/models/app_usage_stats_in.rb +19 -19
  30. data/lib/svix/models/app_usage_stats_out.rb +43 -19
  31. data/lib/svix/models/application_in.rb +17 -19
  32. data/lib/svix/models/application_out.rb +25 -19
  33. data/lib/svix/models/application_patch.rb +15 -19
  34. data/lib/svix/models/application_stats.rb +19 -19
  35. data/lib/svix/models/application_token_expire_in.rb +15 -19
  36. data/lib/svix/models/attempt_statistics_data.rb +15 -19
  37. data/lib/svix/models/attempt_statistics_response.rb +45 -19
  38. data/lib/svix/models/auth_token_out.rb +21 -19
  39. data/lib/svix/models/azure_blob_storage_config.rb +21 -19
  40. data/lib/svix/models/background_task_out.rb +45 -19
  41. data/lib/svix/models/background_task_status.rb +7 -4
  42. data/lib/svix/models/background_task_type.rb +7 -4
  43. data/lib/svix/models/big_query_config.rb +271 -0
  44. data/lib/svix/models/border_radius_config.rb +37 -19
  45. data/lib/svix/models/border_radius_enum.rb +7 -4
  46. data/lib/svix/models/client_secret_jwt_params_in.rb +41 -19
  47. data/lib/svix/models/completion_choice.rb +21 -19
  48. data/lib/svix/models/completion_message.rb +19 -19
  49. data/lib/svix/models/create_message_token_in.rb +17 -19
  50. data/lib/svix/models/create_stream_in.rb +30 -23
  51. data/lib/svix/models/custom_color_palette.rb +15 -19
  52. data/lib/svix/models/custom_strings_override.rb +15 -19
  53. data/lib/svix/models/custom_theme_override.rb +15 -19
  54. data/lib/svix/models/dashboard_access_out.rb +19 -19
  55. data/lib/svix/models/duration.rb +19 -19
  56. data/lib/svix/models/endpoint_created_event.rb +17 -19
  57. data/lib/svix/models/endpoint_created_event_data.rb +19 -19
  58. data/lib/svix/models/endpoint_deleted_event.rb +17 -19
  59. data/lib/svix/models/endpoint_deleted_event_data.rb +19 -19
  60. data/lib/svix/models/endpoint_disabled_event.rb +17 -19
  61. data/lib/svix/models/endpoint_disabled_event_data.rb +21 -19
  62. data/lib/svix/models/endpoint_headers_in.rb +17 -19
  63. data/lib/svix/models/endpoint_headers_out.rb +19 -19
  64. data/lib/svix/models/endpoint_headers_patch_in.rb +17 -19
  65. data/lib/svix/models/endpoint_in.rb +17 -19
  66. data/lib/svix/models/endpoint_message_out.rb +47 -19
  67. data/lib/svix/models/endpoint_mtls_config_in.rb +17 -19
  68. data/lib/svix/models/endpoint_oauth_config_in.rb +45 -19
  69. data/lib/svix/models/endpoint_out.rb +29 -19
  70. data/lib/svix/models/endpoint_patch.rb +20 -20
  71. data/lib/svix/models/endpoint_secret_out.rb +17 -19
  72. data/lib/svix/models/endpoint_secret_rotate_in.rb +15 -21
  73. data/lib/svix/models/endpoint_stats.rb +23 -19
  74. data/lib/svix/models/endpoint_transformation_in.rb +15 -19
  75. data/lib/svix/models/endpoint_transformation_out.rb +15 -19
  76. data/lib/svix/models/endpoint_transformation_simulate_in.rb +21 -19
  77. data/lib/svix/models/endpoint_transformation_simulate_out.rb +41 -19
  78. data/lib/svix/models/endpoint_update.rb +17 -19
  79. data/lib/svix/models/endpoint_updated_event.rb +17 -19
  80. data/lib/svix/models/endpoint_updated_event_data.rb +19 -19
  81. data/lib/svix/models/environment_in.rb +19 -19
  82. data/lib/svix/models/environment_out.rb +21 -19
  83. data/lib/svix/models/environment_settings_out.rb +15 -19
  84. data/lib/svix/models/event_example_in.rb +52 -23
  85. data/lib/svix/models/event_in.rb +55 -20
  86. data/lib/svix/models/event_out.rb +57 -20
  87. data/lib/svix/models/event_stream_out.rb +21 -19
  88. data/lib/svix/models/event_type_example_out.rb +17 -19
  89. data/lib/svix/models/event_type_from_open_api.rb +95 -20
  90. data/lib/svix/models/event_type_import_open_api_in.rb +15 -19
  91. data/lib/svix/models/event_type_import_open_api_out.rb +17 -19
  92. data/lib/svix/models/event_type_import_open_api_out_data.rb +17 -19
  93. data/lib/svix/models/event_type_in.rb +19 -19
  94. data/lib/svix/models/event_type_out.rb +25 -19
  95. data/lib/svix/models/event_type_patch.rb +15 -19
  96. data/lib/svix/models/event_type_schema_in.rb +17 -19
  97. data/lib/svix/models/event_type_update.rb +17 -19
  98. data/lib/svix/models/export_event_type_out.rb +43 -19
  99. data/lib/svix/models/font_size_config.rb +15 -19
  100. data/lib/svix/models/generate_in.rb +17 -19
  101. data/lib/svix/models/generate_out.rb +25 -19
  102. data/lib/svix/models/google_cloud_storage_config.rb +19 -19
  103. data/lib/svix/models/http_error_out.rb +19 -19
  104. data/lib/svix/models/http_validation_error.rb +17 -19
  105. data/lib/svix/models/hubspot_oauth_config_in.rb +17 -19
  106. data/lib/svix/models/inbound_path_params.rb +19 -19
  107. data/lib/svix/models/incoming_webhook_payload_out.rb +15 -19
  108. data/lib/svix/models/integration_in.rb +17 -19
  109. data/lib/svix/models/integration_key_out.rb +17 -19
  110. data/lib/svix/models/integration_out.rb +23 -19
  111. data/lib/svix/models/integration_update.rb +17 -19
  112. data/lib/svix/models/kafka_security_protocol_type.rb +7 -4
  113. data/lib/svix/models/list_response_application_out.rb +19 -19
  114. data/lib/svix/models/list_response_application_stats.rb +19 -19
  115. data/lib/svix/models/list_response_background_task_out.rb +19 -19
  116. data/lib/svix/models/list_response_endpoint_message_out.rb +19 -19
  117. data/lib/svix/models/list_response_endpoint_out.rb +19 -19
  118. data/lib/svix/models/list_response_event_type_out.rb +19 -19
  119. data/lib/svix/models/list_response_integration_out.rb +19 -19
  120. data/lib/svix/models/list_response_message_attempt_endpoint_out.rb +19 -19
  121. data/lib/svix/models/list_response_message_attempt_out.rb +19 -19
  122. data/lib/svix/models/list_response_message_endpoint_out.rb +19 -19
  123. data/lib/svix/models/list_response_message_out.rb +19 -19
  124. data/lib/svix/models/list_response_operational_webhook_endpoint_out.rb +259 -0
  125. data/lib/svix/models/list_response_sink_out.rb +19 -19
  126. data/lib/svix/models/list_response_stream_event_type_out.rb +259 -0
  127. data/lib/svix/models/list_response_stream_out.rb +19 -19
  128. data/lib/svix/models/list_response_stream_sink_out.rb +19 -19
  129. data/lib/svix/models/list_response_template_out.rb +19 -19
  130. data/lib/svix/models/message_attempt_endpoint_out.rb +57 -19
  131. data/lib/svix/models/message_attempt_exhausted_event.rb +17 -19
  132. data/lib/svix/models/message_attempt_exhausted_event_data.rb +23 -19
  133. data/lib/svix/models/message_attempt_failed_data.rb +21 -19
  134. data/lib/svix/models/message_attempt_failing_event.rb +17 -19
  135. data/lib/svix/models/message_attempt_failing_event_data.rb +23 -19
  136. data/lib/svix/models/message_attempt_headers_out.rb +19 -19
  137. data/lib/svix/models/message_attempt_out.rb +57 -19
  138. data/lib/svix/models/message_attempt_recovered_event.rb +17 -19
  139. data/lib/svix/models/message_attempt_recovered_event_data.rb +23 -19
  140. data/lib/svix/models/message_attempt_trigger_type.rb +7 -4
  141. data/lib/svix/models/message_broadcast_in.rb +19 -19
  142. data/lib/svix/models/message_broadcast_out.rb +43 -19
  143. data/lib/svix/models/message_endpoint_out.rb +51 -19
  144. data/lib/svix/models/message_events_out.rb +21 -19
  145. data/lib/svix/models/message_in.rb +19 -19
  146. data/lib/svix/models/message_out.rb +23 -19
  147. data/lib/svix/models/message_raw_payload_out.rb +17 -19
  148. data/lib/svix/models/message_status.rb +7 -4
  149. data/lib/svix/models/message_subscriber_auth_token_out.rb +19 -19
  150. data/lib/svix/models/o_auth_payload_in.rb +19 -19
  151. data/lib/svix/models/o_auth_payload_out.rb +15 -19
  152. data/lib/svix/models/oauth2_auth_method_in.rb +7 -4
  153. data/lib/svix/models/oauth2_grant_type_in.rb +7 -4
  154. data/lib/svix/models/oauth_jws_signing_algorithm.rb +7 -4
  155. data/lib/svix/models/one_time_token_in.rb +17 -19
  156. data/lib/svix/models/one_time_token_out.rb +17 -19
  157. data/lib/svix/models/operational_webhook_endpoint_in.rb +408 -0
  158. data/lib/svix/models/operational_webhook_endpoint_out.rb +442 -0
  159. data/lib/svix/models/operational_webhook_endpoint_secret_in.rb +233 -0
  160. data/lib/svix/models/operational_webhook_endpoint_secret_out.rb +243 -0
  161. data/lib/svix/models/operational_webhook_endpoint_update.rb +380 -0
  162. data/lib/svix/models/ordering.rb +7 -4
  163. data/lib/svix/models/recover_in.rb +17 -19
  164. data/lib/svix/models/recover_out.rb +43 -19
  165. data/lib/svix/models/redshift_config.rb +25 -19
  166. data/lib/svix/models/replay_in.rb +17 -19
  167. data/lib/svix/models/replay_out.rb +43 -19
  168. data/lib/svix/models/retry_schedule_in_out.rb +15 -19
  169. data/lib/svix/models/rotated_url_out.rb +17 -19
  170. data/lib/svix/models/s3_config.rb +23 -19
  171. data/lib/svix/models/settings_in.rb +15 -19
  172. data/lib/svix/models/settings_out.rb +15 -19
  173. data/lib/svix/models/sink_http_config.rb +17 -19
  174. data/lib/svix/models/sink_in.rb +4 -4
  175. data/lib/svix/models/sink_in_one_of.rb +21 -19
  176. data/lib/svix/models/sink_in_one_of1.rb +25 -19
  177. data/lib/svix/models/sink_in_one_of2.rb +23 -19
  178. data/lib/svix/models/sink_in_one_of3.rb +19 -19
  179. data/lib/svix/models/sink_otel_v1_config.rb +17 -19
  180. data/lib/svix/models/sink_out.rb +4 -4
  181. data/lib/svix/models/sink_payload_format.rb +7 -4
  182. data/lib/svix/models/sink_status.rb +7 -4
  183. data/lib/svix/models/sink_status_in.rb +7 -4
  184. data/lib/svix/models/sink_transform_in.rb +15 -19
  185. data/lib/svix/models/sink_transformation_out.rb +15 -19
  186. data/lib/svix/models/snowflake_config.rb +21 -19
  187. data/lib/svix/models/statistics_period.rb +7 -4
  188. data/lib/svix/models/status_code_class.rb +7 -4
  189. data/lib/svix/models/stream_event_type_in.rb +262 -0
  190. data/lib/svix/models/stream_event_type_out.rb +294 -0
  191. data/lib/svix/models/stream_event_type_patch.rb +254 -0
  192. data/lib/svix/models/stream_in.rb +24 -22
  193. data/lib/svix/models/stream_out.rb +28 -22
  194. data/lib/svix/models/stream_patch.rb +22 -22
  195. data/lib/svix/models/stream_sink_in.rb +6 -5
  196. data/lib/svix/models/stream_sink_in_one_of.rb +19 -19
  197. data/lib/svix/models/stream_sink_in_one_of1.rb +19 -19
  198. data/lib/svix/models/stream_sink_in_one_of2.rb +19 -19
  199. data/lib/svix/models/stream_sink_in_one_of3.rb +19 -19
  200. data/lib/svix/models/stream_sink_in_one_of4.rb +19 -19
  201. data/lib/svix/models/stream_sink_in_one_of5.rb +19 -19
  202. data/lib/svix/models/stream_sink_in_one_of6.rb +19 -19
  203. data/lib/svix/models/stream_sink_in_one_of7.rb +271 -0
  204. data/lib/svix/models/stream_sink_out.rb +6 -5
  205. data/lib/svix/models/stream_sink_patch.rb +6 -5
  206. data/lib/svix/models/template_in.rb +43 -21
  207. data/lib/svix/models/template_out.rb +57 -19
  208. data/lib/svix/models/template_patch.rb +43 -21
  209. data/lib/svix/models/template_update.rb +41 -19
  210. data/lib/svix/models/transformation_http_method.rb +7 -4
  211. data/lib/svix/models/transformation_simulate_in.rb +21 -19
  212. data/lib/svix/models/transformation_simulate_out.rb +41 -19
  213. data/lib/svix/models/transformation_template_kind.rb +7 -4
  214. data/lib/svix/models/validation_error.rb +21 -19
  215. data/lib/svix/operational_webhook_endpoint_api.rb +37 -0
  216. data/lib/svix/version.rb +1 -1
  217. data/svix.gemspec +12 -2
  218. metadata +45 -22
  219. data/lib/svix/api/sink_api.rb +0 -176
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -87,6 +87,8 @@ module Svix
87
87
 
88
88
  if attributes.key?(:'app_id')
89
89
  self.app_id = attributes[:'app_id']
90
+ else
91
+ self.app_id = nil
90
92
  end
91
93
 
92
94
  if attributes.key?(:'app_uid')
@@ -95,10 +97,14 @@ module Svix
95
97
 
96
98
  if attributes.key?(:'endpoint_id')
97
99
  self.endpoint_id = attributes[:'endpoint_id']
100
+ else
101
+ self.endpoint_id = nil
98
102
  end
99
103
 
100
104
  if attributes.key?(:'last_attempt')
101
105
  self.last_attempt = attributes[:'last_attempt']
106
+ else
107
+ self.last_attempt = nil
102
108
  end
103
109
 
104
110
  if attributes.key?(:'msg_event_id')
@@ -107,12 +113,15 @@ module Svix
107
113
 
108
114
  if attributes.key?(:'msg_id')
109
115
  self.msg_id = attributes[:'msg_id']
116
+ else
117
+ self.msg_id = nil
110
118
  end
111
119
  end
112
120
 
113
121
  # Show invalid properties with the reasons. Usually used together with valid?
114
122
  # @return Array for valid properties with the reasons
115
123
  def list_invalid_properties
124
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
116
125
  invalid_properties = Array.new
117
126
  if @app_id.nil?
118
127
  invalid_properties.push('invalid value for "app_id", app_id cannot be nil.')
@@ -162,6 +171,7 @@ module Svix
162
171
  # Check to see if the all the properties in the model are valid
163
172
  # @return true if the model is valid
164
173
  def valid?
174
+ warn '[DEPRECATED] the `valid?` method is obsolete'
165
175
  return false if @app_id.nil?
166
176
  return false if !@app_uid.nil? && @app_uid.to_s.length > 256
167
177
  return false if !@app_uid.nil? && @app_uid.to_s.length < 1
@@ -242,36 +252,30 @@ module Svix
242
252
  # @param [Hash] attributes Model attributes in the form of hash
243
253
  # @return [Object] Returns the model itself
244
254
  def self.build_from_hash(attributes)
245
- new.build_from_hash(attributes)
246
- end
247
-
248
- # Builds the object from hash
249
- # @param [Hash] attributes Model attributes in the form of hash
250
- # @return [Object] Returns the model itself
251
- def build_from_hash(attributes)
252
255
  return nil unless attributes.is_a?(Hash)
253
- self.class.openapi_types.each_pair do |key, type|
254
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
255
- self.send("#{key}=", nil)
256
+ attributes = attributes.transform_keys(&:to_sym)
257
+ transformed_hash = {}
258
+ openapi_types.each_pair do |key, type|
259
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
260
+ transformed_hash["#{key}"] = nil
256
261
  elsif type =~ /\AArray<(.*)>/i
257
262
  # check to ensure the input is an array given that the attribute
258
263
  # is documented as an array but the input is not
259
- if attributes[self.class.attribute_map[key]].is_a?(Array)
260
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
264
+ if attributes[attribute_map[key]].is_a?(Array)
265
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
261
266
  end
262
- elsif !attributes[self.class.attribute_map[key]].nil?
263
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
267
+ elsif !attributes[attribute_map[key]].nil?
268
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
264
269
  end
265
270
  end
266
-
267
- self
271
+ new(transformed_hash)
268
272
  end
269
273
 
270
274
  # Deserializes the data based on type
271
275
  # @param string type Data type
272
276
  # @param string value Value to be deserialized
273
277
  # @return [Object] Deserialized data
274
- def _deserialize(type, value)
278
+ def self._deserialize(type, value)
275
279
  case type.to_sym
276
280
  when :Time
277
281
  Time.parse(value)
@@ -306,7 +310,7 @@ module Svix
306
310
  else # model
307
311
  # models (e.g. Pet) or oneOf
308
312
  klass = Svix.const_get(type)
309
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
313
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
310
314
  end
311
315
  end
312
316
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -18,6 +18,10 @@ module Svix
18
18
  Scheduled = 0.freeze
19
19
  Manual = 1.freeze
20
20
 
21
+ def self.all_vars
22
+ @all_vars ||= [Scheduled, Manual].freeze
23
+ end
24
+
21
25
  # Builds the enum from string
22
26
  # @param [String] The enum value in the form of the string
23
27
  # @return [String] The enum value
@@ -29,9 +33,8 @@ module Svix
29
33
  # @param [String] The enum value in the form of the string
30
34
  # @return [String] The enum value
31
35
  def build_from_hash(value)
32
- constantValues = MessageAttemptTriggerType.constants.select { |c| MessageAttemptTriggerType::const_get(c) == value }
33
- raise "Invalid ENUM value #{value} for class #MessageAttemptTriggerType" if constantValues.empty?
34
- value
36
+ return value if MessageAttemptTriggerType.all_vars.include?(value)
37
+ raise "Invalid ENUM value #{value} for class #MessageAttemptTriggerType"
35
38
  end
36
39
  end
37
40
  end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -98,10 +98,14 @@ module Svix
98
98
 
99
99
  if attributes.key?(:'event_type')
100
100
  self.event_type = attributes[:'event_type']
101
+ else
102
+ self.event_type = nil
101
103
  end
102
104
 
103
105
  if attributes.key?(:'payload')
104
106
  self.payload = attributes[:'payload']
107
+ else
108
+ self.payload = nil
105
109
  end
106
110
 
107
111
  if attributes.key?(:'payload_retention_hours')
@@ -118,6 +122,7 @@ module Svix
118
122
  # Show invalid properties with the reasons. Usually used together with valid?
119
123
  # @return Array for valid properties with the reasons
120
124
  def list_invalid_properties
125
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
121
126
  invalid_properties = Array.new
122
127
  if !@channels.nil? && @channels.length > 10
123
128
  invalid_properties.push('invalid value for "channels", number of items must be less than or equal to 10.')
@@ -179,6 +184,7 @@ module Svix
179
184
  # Check to see if the all the properties in the model are valid
180
185
  # @return true if the model is valid
181
186
  def valid?
187
+ warn '[DEPRECATED] the `valid?` method is obsolete'
182
188
  return false if !@channels.nil? && @channels.length > 10
183
189
  return false if !@channels.nil? && @channels.length < 1
184
190
  return false if !@event_id.nil? && @event_id.to_s.length > 256
@@ -304,36 +310,30 @@ module Svix
304
310
  # @param [Hash] attributes Model attributes in the form of hash
305
311
  # @return [Object] Returns the model itself
306
312
  def self.build_from_hash(attributes)
307
- new.build_from_hash(attributes)
308
- end
309
-
310
- # Builds the object from hash
311
- # @param [Hash] attributes Model attributes in the form of hash
312
- # @return [Object] Returns the model itself
313
- def build_from_hash(attributes)
314
313
  return nil unless attributes.is_a?(Hash)
315
- self.class.openapi_types.each_pair do |key, type|
316
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
317
- self.send("#{key}=", nil)
314
+ attributes = attributes.transform_keys(&:to_sym)
315
+ transformed_hash = {}
316
+ openapi_types.each_pair do |key, type|
317
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
318
+ transformed_hash["#{key}"] = nil
318
319
  elsif type =~ /\AArray<(.*)>/i
319
320
  # check to ensure the input is an array given that the attribute
320
321
  # is documented as an array but the input is not
321
- if attributes[self.class.attribute_map[key]].is_a?(Array)
322
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
322
+ if attributes[attribute_map[key]].is_a?(Array)
323
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
323
324
  end
324
- elsif !attributes[self.class.attribute_map[key]].nil?
325
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
325
+ elsif !attributes[attribute_map[key]].nil?
326
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
326
327
  end
327
328
  end
328
-
329
- self
329
+ new(transformed_hash)
330
330
  end
331
331
 
332
332
  # Deserializes the data based on type
333
333
  # @param string type Data type
334
334
  # @param string value Value to be deserialized
335
335
  # @return [Object] Deserialized data
336
- def _deserialize(type, value)
336
+ def self._deserialize(type, value)
337
337
  case type.to_sym
338
338
  when :Time
339
339
  Time.parse(value)
@@ -368,7 +368,7 @@ module Svix
368
368
  else # model
369
369
  # models (e.g. Pet) or oneOf
370
370
  klass = Svix.const_get(type)
371
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
371
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
372
372
  end
373
373
  end
374
374
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -21,6 +21,28 @@ module Svix
21
21
 
22
22
  attr_accessor :task
23
23
 
24
+ class EnumAttributeValidator
25
+ attr_reader :datatype
26
+ attr_reader :allowable_values
27
+
28
+ def initialize(datatype, allowable_values)
29
+ @allowable_values = allowable_values.map do |value|
30
+ case datatype.to_s
31
+ when /Integer/i
32
+ value.to_i
33
+ when /Float/i
34
+ value.to_f
35
+ else
36
+ value
37
+ end
38
+ end
39
+ end
40
+
41
+ def valid?(value)
42
+ !value || allowable_values.include?(value)
43
+ end
44
+ end
45
+
24
46
  # Attribute mapping from ruby-style variable name to JSON key.
25
47
  def self.attribute_map
26
48
  {
@@ -67,20 +89,27 @@ module Svix
67
89
 
68
90
  if attributes.key?(:'id')
69
91
  self.id = attributes[:'id']
92
+ else
93
+ self.id = nil
70
94
  end
71
95
 
72
96
  if attributes.key?(:'status')
73
97
  self.status = attributes[:'status']
98
+ else
99
+ self.status = nil
74
100
  end
75
101
 
76
102
  if attributes.key?(:'task')
77
103
  self.task = attributes[:'task']
104
+ else
105
+ self.task = nil
78
106
  end
79
107
  end
80
108
 
81
109
  # Show invalid properties with the reasons. Usually used together with valid?
82
110
  # @return Array for valid properties with the reasons
83
111
  def list_invalid_properties
112
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
84
113
  invalid_properties = Array.new
85
114
  if @id.nil?
86
115
  invalid_properties.push('invalid value for "id", id cannot be nil.')
@@ -100,6 +129,7 @@ module Svix
100
129
  # Check to see if the all the properties in the model are valid
101
130
  # @return true if the model is valid
102
131
  def valid?
132
+ warn '[DEPRECATED] the `valid?` method is obsolete'
103
133
  return false if @id.nil?
104
134
  return false if @status.nil?
105
135
  return false if @task.nil?
@@ -132,36 +162,30 @@ module Svix
132
162
  # @param [Hash] attributes Model attributes in the form of hash
133
163
  # @return [Object] Returns the model itself
134
164
  def self.build_from_hash(attributes)
135
- new.build_from_hash(attributes)
136
- end
137
-
138
- # Builds the object from hash
139
- # @param [Hash] attributes Model attributes in the form of hash
140
- # @return [Object] Returns the model itself
141
- def build_from_hash(attributes)
142
165
  return nil unless attributes.is_a?(Hash)
143
- self.class.openapi_types.each_pair do |key, type|
144
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
145
- self.send("#{key}=", nil)
166
+ attributes = attributes.transform_keys(&:to_sym)
167
+ transformed_hash = {}
168
+ openapi_types.each_pair do |key, type|
169
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
170
+ transformed_hash["#{key}"] = nil
146
171
  elsif type =~ /\AArray<(.*)>/i
147
172
  # check to ensure the input is an array given that the attribute
148
173
  # is documented as an array but the input is not
149
- if attributes[self.class.attribute_map[key]].is_a?(Array)
150
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
174
+ if attributes[attribute_map[key]].is_a?(Array)
175
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
151
176
  end
152
- elsif !attributes[self.class.attribute_map[key]].nil?
153
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
177
+ elsif !attributes[attribute_map[key]].nil?
178
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
154
179
  end
155
180
  end
156
-
157
- self
181
+ new(transformed_hash)
158
182
  end
159
183
 
160
184
  # Deserializes the data based on type
161
185
  # @param string type Data type
162
186
  # @param string value Value to be deserialized
163
187
  # @return [Object] Deserialized data
164
- def _deserialize(type, value)
188
+ def self._deserialize(type, value)
165
189
  case type.to_sym
166
190
  when :Time
167
191
  Time.parse(value)
@@ -196,7 +220,7 @@ module Svix
196
220
  else # model
197
221
  # models (e.g. Pet) or oneOf
198
222
  klass = Svix.const_get(type)
199
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
223
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
200
224
  end
201
225
  end
202
226
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -45,6 +45,28 @@ module Svix
45
45
 
46
46
  attr_accessor :version
47
47
 
48
+ class EnumAttributeValidator
49
+ attr_reader :datatype
50
+ attr_reader :allowable_values
51
+
52
+ def initialize(datatype, allowable_values)
53
+ @allowable_values = allowable_values.map do |value|
54
+ case datatype.to_s
55
+ when /Integer/i
56
+ value.to_i
57
+ when /Float/i
58
+ value.to_f
59
+ else
60
+ value
61
+ end
62
+ end
63
+ end
64
+
65
+ def valid?(value)
66
+ !value || allowable_values.include?(value)
67
+ end
68
+ end
69
+
48
70
  # Attribute mapping from ruby-style variable name to JSON key.
49
71
  def self.attribute_map
50
72
  {
@@ -122,10 +144,14 @@ module Svix
122
144
 
123
145
  if attributes.key?(:'created_at')
124
146
  self.created_at = attributes[:'created_at']
147
+ else
148
+ self.created_at = nil
125
149
  end
126
150
 
127
151
  if attributes.key?(:'description')
128
152
  self.description = attributes[:'description']
153
+ else
154
+ self.description = nil
129
155
  end
130
156
 
131
157
  if attributes.key?(:'disabled')
@@ -142,6 +168,8 @@ module Svix
142
168
 
143
169
  if attributes.key?(:'id')
144
170
  self.id = attributes[:'id']
171
+ else
172
+ self.id = nil
145
173
  end
146
174
 
147
175
  if attributes.key?(:'next_attempt')
@@ -154,6 +182,8 @@ module Svix
154
182
 
155
183
  if attributes.key?(:'status')
156
184
  self.status = attributes[:'status']
185
+ else
186
+ self.status = nil
157
187
  end
158
188
 
159
189
  if attributes.key?(:'uid')
@@ -162,20 +192,27 @@ module Svix
162
192
 
163
193
  if attributes.key?(:'updated_at')
164
194
  self.updated_at = attributes[:'updated_at']
195
+ else
196
+ self.updated_at = nil
165
197
  end
166
198
 
167
199
  if attributes.key?(:'url')
168
200
  self.url = attributes[:'url']
201
+ else
202
+ self.url = nil
169
203
  end
170
204
 
171
205
  if attributes.key?(:'version')
172
206
  self.version = attributes[:'version']
207
+ else
208
+ self.version = nil
173
209
  end
174
210
  end
175
211
 
176
212
  # Show invalid properties with the reasons. Usually used together with valid?
177
213
  # @return Array for valid properties with the reasons
178
214
  def list_invalid_properties
215
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
179
216
  invalid_properties = Array.new
180
217
  if !@channels.nil? && @channels.length > 10
181
218
  invalid_properties.push('invalid value for "channels", number of items must be less than or equal to 10.')
@@ -252,6 +289,7 @@ module Svix
252
289
  # Check to see if the all the properties in the model are valid
253
290
  # @return true if the model is valid
254
291
  def valid?
292
+ warn '[DEPRECATED] the `valid?` method is obsolete'
255
293
  return false if !@channels.nil? && @channels.length > 10
256
294
  return false if !@channels.nil? && @channels.length < 1
257
295
  return false if @created_at.nil?
@@ -393,36 +431,30 @@ module Svix
393
431
  # @param [Hash] attributes Model attributes in the form of hash
394
432
  # @return [Object] Returns the model itself
395
433
  def self.build_from_hash(attributes)
396
- new.build_from_hash(attributes)
397
- end
398
-
399
- # Builds the object from hash
400
- # @param [Hash] attributes Model attributes in the form of hash
401
- # @return [Object] Returns the model itself
402
- def build_from_hash(attributes)
403
434
  return nil unless attributes.is_a?(Hash)
404
- self.class.openapi_types.each_pair do |key, type|
405
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
406
- self.send("#{key}=", nil)
435
+ attributes = attributes.transform_keys(&:to_sym)
436
+ transformed_hash = {}
437
+ openapi_types.each_pair do |key, type|
438
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
439
+ transformed_hash["#{key}"] = nil
407
440
  elsif type =~ /\AArray<(.*)>/i
408
441
  # check to ensure the input is an array given that the attribute
409
442
  # is documented as an array but the input is not
410
- if attributes[self.class.attribute_map[key]].is_a?(Array)
411
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
443
+ if attributes[attribute_map[key]].is_a?(Array)
444
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
412
445
  end
413
- elsif !attributes[self.class.attribute_map[key]].nil?
414
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
446
+ elsif !attributes[attribute_map[key]].nil?
447
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
415
448
  end
416
449
  end
417
-
418
- self
450
+ new(transformed_hash)
419
451
  end
420
452
 
421
453
  # Deserializes the data based on type
422
454
  # @param string type Data type
423
455
  # @param string value Value to be deserialized
424
456
  # @return [Object] Deserialized data
425
- def _deserialize(type, value)
457
+ def self._deserialize(type, value)
426
458
  case type.to_sym
427
459
  when :Time
428
460
  Time.parse(value)
@@ -457,7 +489,7 @@ module Svix
457
489
  else # model
458
490
  # models (e.g. Pet) or oneOf
459
491
  klass = Svix.const_get(type)
460
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
492
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
461
493
  end
462
494
  end
463
495
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.1.1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.2.0
9
+ Generator version: 7.9.0
10
10
 
11
11
  =end
12
12
 
@@ -69,20 +69,27 @@ module Svix
69
69
  if (value = attributes[:'data']).is_a?(Array)
70
70
  self.data = value
71
71
  end
72
+ else
73
+ self.data = nil
72
74
  end
73
75
 
74
76
  if attributes.key?(:'done')
75
77
  self.done = attributes[:'done']
78
+ else
79
+ self.done = nil
76
80
  end
77
81
 
78
82
  if attributes.key?(:'iterator')
79
83
  self.iterator = attributes[:'iterator']
84
+ else
85
+ self.iterator = nil
80
86
  end
81
87
  end
82
88
 
83
89
  # Show invalid properties with the reasons. Usually used together with valid?
84
90
  # @return Array for valid properties with the reasons
85
91
  def list_invalid_properties
92
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
86
93
  invalid_properties = Array.new
87
94
  if @data.nil?
88
95
  invalid_properties.push('invalid value for "data", data cannot be nil.')
@@ -102,6 +109,7 @@ module Svix
102
109
  # Check to see if the all the properties in the model are valid
103
110
  # @return true if the model is valid
104
111
  def valid?
112
+ warn '[DEPRECATED] the `valid?` method is obsolete'
105
113
  return false if @data.nil?
106
114
  return false if @done.nil?
107
115
  return false if @iterator.nil?
@@ -134,36 +142,30 @@ module Svix
134
142
  # @param [Hash] attributes Model attributes in the form of hash
135
143
  # @return [Object] Returns the model itself
136
144
  def self.build_from_hash(attributes)
137
- new.build_from_hash(attributes)
138
- end
139
-
140
- # Builds the object from hash
141
- # @param [Hash] attributes Model attributes in the form of hash
142
- # @return [Object] Returns the model itself
143
- def build_from_hash(attributes)
144
145
  return nil unless attributes.is_a?(Hash)
145
- self.class.openapi_types.each_pair do |key, type|
146
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
147
- self.send("#{key}=", nil)
146
+ attributes = attributes.transform_keys(&:to_sym)
147
+ transformed_hash = {}
148
+ openapi_types.each_pair do |key, type|
149
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
150
+ transformed_hash["#{key}"] = nil
148
151
  elsif type =~ /\AArray<(.*)>/i
149
152
  # check to ensure the input is an array given that the attribute
150
153
  # is documented as an array but the input is not
151
- if attributes[self.class.attribute_map[key]].is_a?(Array)
152
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
154
+ if attributes[attribute_map[key]].is_a?(Array)
155
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
153
156
  end
154
- elsif !attributes[self.class.attribute_map[key]].nil?
155
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
157
+ elsif !attributes[attribute_map[key]].nil?
158
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
156
159
  end
157
160
  end
158
-
159
- self
161
+ new(transformed_hash)
160
162
  end
161
163
 
162
164
  # Deserializes the data based on type
163
165
  # @param string type Data type
164
166
  # @param string value Value to be deserialized
165
167
  # @return [Object] Deserialized data
166
- def _deserialize(type, value)
168
+ def self._deserialize(type, value)
167
169
  case type.to_sym
168
170
  when :Time
169
171
  Time.parse(value)
@@ -198,7 +200,7 @@ module Svix
198
200
  else # model
199
201
  # models (e.g. Pet) or oneOf
200
202
  klass = Svix.const_get(type)
201
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
203
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
202
204
  end
203
205
  end
204
206