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
 
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module Svix
17
17
  class EventOut
18
+ # The event type's name
19
+ attr_accessor :event_type
20
+
18
21
  attr_accessor :payload
19
22
 
20
23
  attr_accessor :timestamp
@@ -22,6 +25,7 @@ module Svix
22
25
  # Attribute mapping from ruby-style variable name to JSON key.
23
26
  def self.attribute_map
24
27
  {
28
+ :'event_type' => :'eventType',
25
29
  :'payload' => :'payload',
26
30
  :'timestamp' => :'timestamp'
27
31
  }
@@ -35,6 +39,7 @@ module Svix
35
39
  # Attribute type mapping.
36
40
  def self.openapi_types
37
41
  {
42
+ :'event_type' => :'String',
38
43
  :'payload' => :'String',
39
44
  :'timestamp' => :'Time'
40
45
  }
@@ -43,6 +48,7 @@ module Svix
43
48
  # List of attributes with nullable: true
44
49
  def self.openapi_nullable
45
50
  Set.new([
51
+ :'event_type',
46
52
  ])
47
53
  end
48
54
 
@@ -61,19 +67,37 @@ module Svix
61
67
  h[k.to_sym] = v
62
68
  }
63
69
 
70
+ if attributes.key?(:'event_type')
71
+ self.event_type = attributes[:'event_type']
72
+ end
73
+
64
74
  if attributes.key?(:'payload')
65
75
  self.payload = attributes[:'payload']
76
+ else
77
+ self.payload = nil
66
78
  end
67
79
 
68
80
  if attributes.key?(:'timestamp')
69
81
  self.timestamp = attributes[:'timestamp']
82
+ else
83
+ self.timestamp = nil
70
84
  end
71
85
  end
72
86
 
73
87
  # Show invalid properties with the reasons. Usually used together with valid?
74
88
  # @return Array for valid properties with the reasons
75
89
  def list_invalid_properties
90
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
76
91
  invalid_properties = Array.new
92
+ if !@event_type.nil? && @event_type.to_s.length > 256
93
+ invalid_properties.push('invalid value for "event_type", the character length must be smaller than or equal to 256.')
94
+ end
95
+
96
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
97
+ if !@event_type.nil? && @event_type !~ pattern
98
+ invalid_properties.push("invalid value for \"event_type\", must conform to the pattern #{pattern}.")
99
+ end
100
+
77
101
  if @payload.nil?
78
102
  invalid_properties.push('invalid value for "payload", payload cannot be nil.')
79
103
  end
@@ -88,16 +112,35 @@ module Svix
88
112
  # Check to see if the all the properties in the model are valid
89
113
  # @return true if the model is valid
90
114
  def valid?
115
+ warn '[DEPRECATED] the `valid?` method is obsolete'
116
+ return false if !@event_type.nil? && @event_type.to_s.length > 256
117
+ return false if !@event_type.nil? && @event_type !~ Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
91
118
  return false if @payload.nil?
92
119
  return false if @timestamp.nil?
93
120
  true
94
121
  end
95
122
 
123
+ # Custom attribute writer method with validation
124
+ # @param [Object] event_type Value to be assigned
125
+ def event_type=(event_type)
126
+ if !event_type.nil? && event_type.to_s.length > 256
127
+ fail ArgumentError, 'invalid value for "event_type", the character length must be smaller than or equal to 256.'
128
+ end
129
+
130
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
131
+ if !event_type.nil? && event_type !~ pattern
132
+ fail ArgumentError, "invalid value for \"event_type\", must conform to the pattern #{pattern}."
133
+ end
134
+
135
+ @event_type = event_type
136
+ end
137
+
96
138
  # Checks equality by comparing each attribute.
97
139
  # @param [Object] Object to be compared
98
140
  def ==(o)
99
141
  return true if self.equal?(o)
100
142
  self.class == o.class &&
143
+ event_type == o.event_type &&
101
144
  payload == o.payload &&
102
145
  timestamp == o.timestamp
103
146
  end
@@ -111,43 +154,37 @@ module Svix
111
154
  # Calculates hash code according to all attributes.
112
155
  # @return [Integer] Hash code
113
156
  def hash
114
- [payload, timestamp].hash
157
+ [event_type, payload, timestamp].hash
115
158
  end
116
159
 
117
160
  # Builds the object from hash
118
161
  # @param [Hash] attributes Model attributes in the form of hash
119
162
  # @return [Object] Returns the model itself
120
163
  def self.build_from_hash(attributes)
121
- new.build_from_hash(attributes)
122
- end
123
-
124
- # Builds the object from hash
125
- # @param [Hash] attributes Model attributes in the form of hash
126
- # @return [Object] Returns the model itself
127
- def build_from_hash(attributes)
128
164
  return nil unless attributes.is_a?(Hash)
129
- self.class.openapi_types.each_pair do |key, type|
130
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
131
- self.send("#{key}=", nil)
165
+ attributes = attributes.transform_keys(&:to_sym)
166
+ transformed_hash = {}
167
+ openapi_types.each_pair do |key, type|
168
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
169
+ transformed_hash["#{key}"] = nil
132
170
  elsif type =~ /\AArray<(.*)>/i
133
171
  # check to ensure the input is an array given that the attribute
134
172
  # is documented as an array but the input is not
135
- if attributes[self.class.attribute_map[key]].is_a?(Array)
136
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
173
+ if attributes[attribute_map[key]].is_a?(Array)
174
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
137
175
  end
138
- elsif !attributes[self.class.attribute_map[key]].nil?
139
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
176
+ elsif !attributes[attribute_map[key]].nil?
177
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
140
178
  end
141
179
  end
142
-
143
- self
180
+ new(transformed_hash)
144
181
  end
145
182
 
146
183
  # Deserializes the data based on type
147
184
  # @param string type Data type
148
185
  # @param string value Value to be deserialized
149
186
  # @return [Object] Deserialized data
150
- def _deserialize(type, value)
187
+ def self._deserialize(type, value)
151
188
  case type.to_sym
152
189
  when :Time
153
190
  Time.parse(value)
@@ -182,7 +219,7 @@ module Svix
182
219
  else # model
183
220
  # models (e.g. Pet) or oneOf
184
221
  klass = Svix.const_get(type)
185
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
222
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
186
223
  end
187
224
  end
188
225
 
@@ -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
 
@@ -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
 
@@ -61,12 +61,15 @@ module Svix
61
61
  if (value = attributes[:'example']).is_a?(Hash)
62
62
  self.example = value
63
63
  end
64
+ else
65
+ self.example = nil
64
66
  end
65
67
  end
66
68
 
67
69
  # Show invalid properties with the reasons. Usually used together with valid?
68
70
  # @return Array for valid properties with the reasons
69
71
  def list_invalid_properties
72
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
70
73
  invalid_properties = Array.new
71
74
  if @example.nil?
72
75
  invalid_properties.push('invalid value for "example", example cannot be nil.')
@@ -78,6 +81,7 @@ module Svix
78
81
  # Check to see if the all the properties in the model are valid
79
82
  # @return true if the model is valid
80
83
  def valid?
84
+ warn '[DEPRECATED] the `valid?` method is obsolete'
81
85
  return false if @example.nil?
82
86
  true
83
87
  end
@@ -106,36 +110,30 @@ module Svix
106
110
  # @param [Hash] attributes Model attributes in the form of hash
107
111
  # @return [Object] Returns the model itself
108
112
  def self.build_from_hash(attributes)
109
- new.build_from_hash(attributes)
110
- end
111
-
112
- # Builds the object from hash
113
- # @param [Hash] attributes Model attributes in the form of hash
114
- # @return [Object] Returns the model itself
115
- def build_from_hash(attributes)
116
113
  return nil unless attributes.is_a?(Hash)
117
- self.class.openapi_types.each_pair do |key, type|
118
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
119
- self.send("#{key}=", nil)
114
+ attributes = attributes.transform_keys(&:to_sym)
115
+ transformed_hash = {}
116
+ openapi_types.each_pair do |key, type|
117
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = nil
120
119
  elsif type =~ /\AArray<(.*)>/i
121
120
  # check to ensure the input is an array given that the attribute
122
121
  # is documented as an array but the input is not
123
- if attributes[self.class.attribute_map[key]].is_a?(Array)
124
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
122
+ if attributes[attribute_map[key]].is_a?(Array)
123
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
125
124
  end
126
- elsif !attributes[self.class.attribute_map[key]].nil?
127
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
125
+ elsif !attributes[attribute_map[key]].nil?
126
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
128
127
  end
129
128
  end
130
-
131
- self
129
+ new(transformed_hash)
132
130
  end
133
131
 
134
132
  # Deserializes the data based on type
135
133
  # @param string type Data type
136
134
  # @param string value Value to be deserialized
137
135
  # @return [Object] Deserialized data
138
- def _deserialize(type, value)
136
+ def self._deserialize(type, value)
139
137
  case type.to_sym
140
138
  when :Time
141
139
  Time.parse(value)
@@ -170,7 +168,7 @@ module Svix
170
168
  else # model
171
169
  # models (e.g. Pet) or oneOf
172
170
  klass = Svix.const_get(type)
173
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
171
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
174
172
  end
175
173
  end
176
174
 
@@ -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
 
@@ -19,6 +19,11 @@ module Svix
19
19
 
20
20
  attr_accessor :description
21
21
 
22
+ attr_accessor :feature_flag
23
+
24
+ # The event type group's name
25
+ attr_accessor :group_name
26
+
22
27
  # The event type's name
23
28
  attr_accessor :name
24
29
 
@@ -29,6 +34,8 @@ module Svix
29
34
  {
30
35
  :'deprecated' => :'deprecated',
31
36
  :'description' => :'description',
37
+ :'feature_flag' => :'featureFlag',
38
+ :'group_name' => :'groupName',
32
39
  :'name' => :'name',
33
40
  :'schemas' => :'schemas'
34
41
  }
@@ -44,6 +51,8 @@ module Svix
44
51
  {
45
52
  :'deprecated' => :'Boolean',
46
53
  :'description' => :'String',
54
+ :'feature_flag' => :'String',
55
+ :'group_name' => :'String',
47
56
  :'name' => :'String',
48
57
  :'schemas' => :'Hash<String, Object>'
49
58
  }
@@ -52,6 +61,8 @@ module Svix
52
61
  # List of attributes with nullable: true
53
62
  def self.openapi_nullable
54
63
  Set.new([
64
+ :'feature_flag',
65
+ :'group_name',
55
66
  :'schemas'
56
67
  ])
57
68
  end
@@ -73,14 +84,28 @@ module Svix
73
84
 
74
85
  if attributes.key?(:'deprecated')
75
86
  self.deprecated = attributes[:'deprecated']
87
+ else
88
+ self.deprecated = nil
76
89
  end
77
90
 
78
91
  if attributes.key?(:'description')
79
92
  self.description = attributes[:'description']
93
+ else
94
+ self.description = nil
95
+ end
96
+
97
+ if attributes.key?(:'feature_flag')
98
+ self.feature_flag = attributes[:'feature_flag']
99
+ end
100
+
101
+ if attributes.key?(:'group_name')
102
+ self.group_name = attributes[:'group_name']
80
103
  end
81
104
 
82
105
  if attributes.key?(:'name')
83
106
  self.name = attributes[:'name']
107
+ else
108
+ self.name = nil
84
109
  end
85
110
 
86
111
  if attributes.key?(:'schemas')
@@ -93,6 +118,7 @@ module Svix
93
118
  # Show invalid properties with the reasons. Usually used together with valid?
94
119
  # @return Array for valid properties with the reasons
95
120
  def list_invalid_properties
121
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
96
122
  invalid_properties = Array.new
97
123
  if @deprecated.nil?
98
124
  invalid_properties.push('invalid value for "deprecated", deprecated cannot be nil.')
@@ -102,6 +128,24 @@ module Svix
102
128
  invalid_properties.push('invalid value for "description", description cannot be nil.')
103
129
  end
104
130
 
131
+ if !@feature_flag.nil? && @feature_flag.to_s.length > 256
132
+ invalid_properties.push('invalid value for "feature_flag", the character length must be smaller than or equal to 256.')
133
+ end
134
+
135
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
136
+ if !@feature_flag.nil? && @feature_flag !~ pattern
137
+ invalid_properties.push("invalid value for \"feature_flag\", must conform to the pattern #{pattern}.")
138
+ end
139
+
140
+ if !@group_name.nil? && @group_name.to_s.length > 256
141
+ invalid_properties.push('invalid value for "group_name", the character length must be smaller than or equal to 256.')
142
+ end
143
+
144
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
145
+ if !@group_name.nil? && @group_name !~ pattern
146
+ invalid_properties.push("invalid value for \"group_name\", must conform to the pattern #{pattern}.")
147
+ end
148
+
105
149
  if @name.nil?
106
150
  invalid_properties.push('invalid value for "name", name cannot be nil.')
107
151
  end
@@ -121,14 +165,49 @@ module Svix
121
165
  # Check to see if the all the properties in the model are valid
122
166
  # @return true if the model is valid
123
167
  def valid?
168
+ warn '[DEPRECATED] the `valid?` method is obsolete'
124
169
  return false if @deprecated.nil?
125
170
  return false if @description.nil?
171
+ return false if !@feature_flag.nil? && @feature_flag.to_s.length > 256
172
+ return false if !@feature_flag.nil? && @feature_flag !~ Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
173
+ return false if !@group_name.nil? && @group_name.to_s.length > 256
174
+ return false if !@group_name.nil? && @group_name !~ Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
126
175
  return false if @name.nil?
127
176
  return false if @name.to_s.length > 256
128
177
  return false if @name !~ Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
129
178
  true
130
179
  end
131
180
 
181
+ # Custom attribute writer method with validation
182
+ # @param [Object] feature_flag Value to be assigned
183
+ def feature_flag=(feature_flag)
184
+ if !feature_flag.nil? && feature_flag.to_s.length > 256
185
+ fail ArgumentError, 'invalid value for "feature_flag", the character length must be smaller than or equal to 256.'
186
+ end
187
+
188
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
189
+ if !feature_flag.nil? && feature_flag !~ pattern
190
+ fail ArgumentError, "invalid value for \"feature_flag\", must conform to the pattern #{pattern}."
191
+ end
192
+
193
+ @feature_flag = feature_flag
194
+ end
195
+
196
+ # Custom attribute writer method with validation
197
+ # @param [Object] group_name Value to be assigned
198
+ def group_name=(group_name)
199
+ if !group_name.nil? && group_name.to_s.length > 256
200
+ fail ArgumentError, 'invalid value for "group_name", the character length must be smaller than or equal to 256.'
201
+ end
202
+
203
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
204
+ if !group_name.nil? && group_name !~ pattern
205
+ fail ArgumentError, "invalid value for \"group_name\", must conform to the pattern #{pattern}."
206
+ end
207
+
208
+ @group_name = group_name
209
+ end
210
+
132
211
  # Custom attribute writer method with validation
133
212
  # @param [Object] name Value to be assigned
134
213
  def name=(name)
@@ -155,6 +234,8 @@ module Svix
155
234
  self.class == o.class &&
156
235
  deprecated == o.deprecated &&
157
236
  description == o.description &&
237
+ feature_flag == o.feature_flag &&
238
+ group_name == o.group_name &&
158
239
  name == o.name &&
159
240
  schemas == o.schemas
160
241
  end
@@ -168,43 +249,37 @@ module Svix
168
249
  # Calculates hash code according to all attributes.
169
250
  # @return [Integer] Hash code
170
251
  def hash
171
- [deprecated, description, name, schemas].hash
252
+ [deprecated, description, feature_flag, group_name, name, schemas].hash
172
253
  end
173
254
 
174
255
  # Builds the object from hash
175
256
  # @param [Hash] attributes Model attributes in the form of hash
176
257
  # @return [Object] Returns the model itself
177
258
  def self.build_from_hash(attributes)
178
- new.build_from_hash(attributes)
179
- end
180
-
181
- # Builds the object from hash
182
- # @param [Hash] attributes Model attributes in the form of hash
183
- # @return [Object] Returns the model itself
184
- def build_from_hash(attributes)
185
259
  return nil unless attributes.is_a?(Hash)
186
- self.class.openapi_types.each_pair do |key, type|
187
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
188
- self.send("#{key}=", nil)
260
+ attributes = attributes.transform_keys(&:to_sym)
261
+ transformed_hash = {}
262
+ openapi_types.each_pair do |key, type|
263
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
264
+ transformed_hash["#{key}"] = nil
189
265
  elsif type =~ /\AArray<(.*)>/i
190
266
  # check to ensure the input is an array given that the attribute
191
267
  # is documented as an array but the input is not
192
- if attributes[self.class.attribute_map[key]].is_a?(Array)
193
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
268
+ if attributes[attribute_map[key]].is_a?(Array)
269
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
194
270
  end
195
- elsif !attributes[self.class.attribute_map[key]].nil?
196
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
271
+ elsif !attributes[attribute_map[key]].nil?
272
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
197
273
  end
198
274
  end
199
-
200
- self
275
+ new(transformed_hash)
201
276
  end
202
277
 
203
278
  # Deserializes the data based on type
204
279
  # @param string type Data type
205
280
  # @param string value Value to be deserialized
206
281
  # @return [Object] Deserialized data
207
- def _deserialize(type, value)
282
+ def self._deserialize(type, value)
208
283
  case type.to_sym
209
284
  when :Time
210
285
  Time.parse(value)
@@ -239,7 +314,7 @@ module Svix
239
314
  else # model
240
315
  # models (e.g. Pet) or oneOf
241
316
  klass = Svix.const_get(type)
242
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
317
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
243
318
  end
244
319
  end
245
320
 
@@ -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
 
@@ -91,6 +91,7 @@ module Svix
91
91
  # Show invalid properties with the reasons. Usually used together with valid?
92
92
  # @return Array for valid properties with the reasons
93
93
  def list_invalid_properties
94
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
94
95
  invalid_properties = Array.new
95
96
  invalid_properties
96
97
  end
@@ -98,6 +99,7 @@ module Svix
98
99
  # Check to see if the all the properties in the model are valid
99
100
  # @return true if the model is valid
100
101
  def valid?
102
+ warn '[DEPRECATED] the `valid?` method is obsolete'
101
103
  true
102
104
  end
103
105
 
@@ -127,36 +129,30 @@ module Svix
127
129
  # @param [Hash] attributes Model attributes in the form of hash
128
130
  # @return [Object] Returns the model itself
129
131
  def self.build_from_hash(attributes)
130
- new.build_from_hash(attributes)
131
- end
132
-
133
- # Builds the object from hash
134
- # @param [Hash] attributes Model attributes in the form of hash
135
- # @return [Object] Returns the model itself
136
- def build_from_hash(attributes)
137
132
  return nil unless attributes.is_a?(Hash)
138
- self.class.openapi_types.each_pair do |key, type|
139
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
140
- self.send("#{key}=", nil)
133
+ attributes = attributes.transform_keys(&:to_sym)
134
+ transformed_hash = {}
135
+ openapi_types.each_pair do |key, type|
136
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
137
+ transformed_hash["#{key}"] = nil
141
138
  elsif type =~ /\AArray<(.*)>/i
142
139
  # check to ensure the input is an array given that the attribute
143
140
  # is documented as an array but the input is not
144
- if attributes[self.class.attribute_map[key]].is_a?(Array)
145
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
141
+ if attributes[attribute_map[key]].is_a?(Array)
142
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
146
143
  end
147
- elsif !attributes[self.class.attribute_map[key]].nil?
148
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
144
+ elsif !attributes[attribute_map[key]].nil?
145
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
149
146
  end
150
147
  end
151
-
152
- self
148
+ new(transformed_hash)
153
149
  end
154
150
 
155
151
  # Deserializes the data based on type
156
152
  # @param string type Data type
157
153
  # @param string value Value to be deserialized
158
154
  # @return [Object] Deserialized data
159
- def _deserialize(type, value)
155
+ def self._deserialize(type, value)
160
156
  case type.to_sym
161
157
  when :Time
162
158
  Time.parse(value)
@@ -191,7 +187,7 @@ module Svix
191
187
  else # model
192
188
  # models (e.g. Pet) or oneOf
193
189
  klass = Svix.const_get(type)
194
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
190
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
195
191
  end
196
192
  end
197
193