svix 1.43.0 → 1.44.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a38b5b98867839d9beb5f2177f6fdaac0267b16b071d8cab956db186d2a5434
4
- data.tar.gz: 18f162bb497c69a45e7e29a476182e17e48e7149edde80bb431ad1e682807872
3
+ metadata.gz: 9bb8f1f741bd9fbb3cf5dc2cc8b2bb54df6204be348067f17c27c3ab60db2b84
4
+ data.tar.gz: 17c2be082a1ee07687fb0156687cfe3739006d7ba9845b1da20dcb481bb5b9aa
5
5
  SHA512:
6
- metadata.gz: d185df715b172437530d93a8d7c9963e139a43757267309daaed932d3dfd3737d585702f9b4e705000af58f24280f7071ae3fce65b5041ca8bb136352bbd997e
7
- data.tar.gz: 9d70cf3e7458a51a370ac4d9ae306a2cb232f44dbcd00f1e496d9fb44700111eaea3ce556bfdb74b8bfe7ea6b7c44da2749b94acc62fcb6ba6db58781b0ef766
6
+ metadata.gz: c6aa1d2390a49e73385371b255641361db4f67578777f8f2c15f2cd384314642a7b6e6dee86dc8cbbe260cda8a375e2a16212edb41d147195a8aa613e5425ea8
7
+ data.tar.gz: 335f718d8bb4a1a09de18c1743f1b0d6a86337b82715fca9ba9c638ec45659f8f28e38dbb0757b576dd73b5a74e54413a08433b0a86eceb71767d4da0389e274
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- svix (1.43.0)
4
+ svix (1.44.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -112,23 +112,23 @@ module Svix
112
112
  # Create Cmg Token
113
113
  # Create a new access token that only allows creating messages inside this application.
114
114
  # @param app_id [String] The app's ID or UID
115
- # @param create_message_token_in [CreateMessageTokenIn]
115
+ # @param create_token_in [CreateTokenIn]
116
116
  # @param [Hash] opts the optional parameters
117
117
  # @option opts [String] :idempotency_key The request's idempotency key
118
118
  # @return [AuthTokenOut]
119
- def v1_authentication_create_message_token(app_id, create_message_token_in, opts = {})
120
- data, _status_code, _headers = v1_authentication_create_message_token_with_http_info(app_id, create_message_token_in, opts)
119
+ def v1_authentication_create_message_token(app_id, create_token_in, opts = {})
120
+ data, _status_code, _headers = v1_authentication_create_message_token_with_http_info(app_id, create_token_in, opts)
121
121
  data
122
122
  end
123
123
 
124
124
  # Create Cmg Token
125
125
  # Create a new access token that only allows creating messages inside this application.
126
126
  # @param app_id [String] The app's ID or UID
127
- # @param create_message_token_in [CreateMessageTokenIn]
127
+ # @param create_token_in [CreateTokenIn]
128
128
  # @param [Hash] opts the optional parameters
129
129
  # @option opts [String] :idempotency_key The request's idempotency key
130
130
  # @return [Array<(AuthTokenOut, Integer, Hash)>] AuthTokenOut data, response status code and response headers
131
- def v1_authentication_create_message_token_with_http_info(app_id, create_message_token_in, opts = {})
131
+ def v1_authentication_create_message_token_with_http_info(app_id, create_token_in, opts = {})
132
132
  if @api_client.config.debugging
133
133
  @api_client.config.logger.debug 'Calling API: AuthenticationApi.v1_authentication_create_message_token ...'
134
134
  end
@@ -149,9 +149,9 @@ module Svix
149
149
  fail ArgumentError, "invalid value for 'app_id' when calling AuthenticationApi.v1_authentication_create_message_token, must conform to the pattern #{pattern}."
150
150
  end
151
151
 
152
- # verify the required parameter 'create_message_token_in' is set
153
- if @api_client.config.client_side_validation && create_message_token_in.nil?
154
- fail ArgumentError, "Missing the required parameter 'create_message_token_in' when calling AuthenticationApi.v1_authentication_create_message_token"
152
+ # verify the required parameter 'create_token_in' is set
153
+ if @api_client.config.client_side_validation && create_token_in.nil?
154
+ fail ArgumentError, "Missing the required parameter 'create_token_in' when calling AuthenticationApi.v1_authentication_create_message_token"
155
155
  end
156
156
  # resource path
157
157
  local_var_path = '/api/v1/auth/app/{app_id}/create-message-token'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s))
@@ -174,7 +174,7 @@ module Svix
174
174
  form_params = opts[:form_params] || {}
175
175
 
176
176
  # http body (model)
177
- post_body = opts[:debug_body] || @api_client.object_to_http_body(create_message_token_in)
177
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_token_in)
178
178
 
179
179
  # return_type
180
180
  return_type = opts[:debug_return_type] || 'AuthTokenOut'
@@ -1195,7 +1195,7 @@ module Svix
1195
1195
  end
1196
1196
 
1197
1197
  # Replay Missing Webhooks
1198
- # Replays messages to the endpoint. Only messages that were created after `since` will be sent. Messages that were previously sent to the endpoint are not resent.
1198
+ # Replays messages to the endpoint. Only messages that were created after `since` will be sent. Messages that were previously sent to the endpoint are not resent.
1199
1199
  # @param app_id [String] The app&#39;s ID or UID
1200
1200
  # @param endpoint_id [String] The ep&#39;s ID or UID
1201
1201
  # @param replay_in [ReplayIn]
@@ -1208,7 +1208,7 @@ module Svix
1208
1208
  end
1209
1209
 
1210
1210
  # Replay Missing Webhooks
1211
- # Replays messages to the endpoint. Only messages that were created after &#x60;since&#x60; will be sent. Messages that were previously sent to the endpoint are not resent.
1211
+ # Replays messages to the endpoint. Only messages that were created after &#x60;since&#x60; will be sent. Messages that were previously sent to the endpoint are not resent.
1212
1212
  # @param app_id [String] The app&#39;s ID or UID
1213
1213
  # @param endpoint_id [String] The ep&#39;s ID or UID
1214
1214
  # @param replay_in [ReplayIn]
@@ -128,6 +128,116 @@ module Svix
128
128
  return data, status_code, headers
129
129
  end
130
130
 
131
+ # Public Events
132
+ # Reads the stream of created messages for an application, filtered on the Sink's event types and Channels.
133
+ # @param app_id [String] The app&#39;s ID
134
+ # @param sink_id [String] The ep&#39;s ID
135
+ # @param [Hash] opts the optional parameters
136
+ # @option opts [Integer] :limit Limit the number of returned items
137
+ # @option opts [String] :iterator The iterator returned from a prior invocation
138
+ # @option opts [String] :event_type Filters messages sent with this event type (optional).
139
+ # @option opts [String] :channel Filters messages sent with this channel (optional).
140
+ # @option opts [Time] :after
141
+ # @return [MessageEventsOut]
142
+ def v1_events_public(app_id, sink_id, opts = {})
143
+ data, _status_code, _headers = v1_events_public_with_http_info(app_id, sink_id, opts)
144
+ data
145
+ end
146
+
147
+ # Public Events
148
+ # Reads the stream of created messages for an application, filtered on the Sink&#39;s event types and Channels.
149
+ # @param app_id [String] The app&#39;s ID
150
+ # @param sink_id [String] The ep&#39;s ID
151
+ # @param [Hash] opts the optional parameters
152
+ # @option opts [Integer] :limit Limit the number of returned items
153
+ # @option opts [String] :iterator The iterator returned from a prior invocation
154
+ # @option opts [String] :event_type Filters messages sent with this event type (optional).
155
+ # @option opts [String] :channel Filters messages sent with this channel (optional).
156
+ # @option opts [Time] :after
157
+ # @return [Array<(MessageEventsOut, Integer, Hash)>] MessageEventsOut data, response status code and response headers
158
+ def v1_events_public_with_http_info(app_id, sink_id, opts = {})
159
+ if @api_client.config.debugging
160
+ @api_client.config.logger.debug 'Calling API: MessageApi.v1_events_public ...'
161
+ end
162
+ # verify the required parameter 'app_id' is set
163
+ if @api_client.config.client_side_validation && app_id.nil?
164
+ fail ArgumentError, "Missing the required parameter 'app_id' when calling MessageApi.v1_events_public"
165
+ end
166
+ # verify the required parameter 'sink_id' is set
167
+ if @api_client.config.client_side_validation && sink_id.nil?
168
+ fail ArgumentError, "Missing the required parameter 'sink_id' when calling MessageApi.v1_events_public"
169
+ end
170
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 250
171
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling MessageApi.v1_events_public, must be smaller than or equal to 250.'
172
+ end
173
+
174
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
175
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling MessageApi.v1_events_public, must be greater than or equal to 1.'
176
+ end
177
+
178
+ if @api_client.config.client_side_validation && !opts[:'event_type'].nil? && opts[:'event_type'].to_s.length > 256
179
+ fail ArgumentError, 'invalid value for "opts[:"event_type"]" when calling MessageApi.v1_events_public, the character length must be smaller than or equal to 256.'
180
+ end
181
+
182
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
183
+ if @api_client.config.client_side_validation && !opts[:'event_type'].nil? && opts[:'event_type'] !~ pattern
184
+ fail ArgumentError, "invalid value for 'opts[:\"event_type\"]' when calling MessageApi.v1_events_public, must conform to the pattern #{pattern}."
185
+ end
186
+
187
+ if @api_client.config.client_side_validation && !opts[:'channel'].nil? && opts[:'channel'].to_s.length > 128
188
+ fail ArgumentError, 'invalid value for "opts[:"channel"]" when calling MessageApi.v1_events_public, the character length must be smaller than or equal to 128.'
189
+ end
190
+
191
+ pattern = Regexp.new(/^[a-zA-Z0-9\-_.:]+$/)
192
+ if @api_client.config.client_side_validation && !opts[:'channel'].nil? && opts[:'channel'] !~ pattern
193
+ fail ArgumentError, "invalid value for 'opts[:\"channel\"]' when calling MessageApi.v1_events_public, must conform to the pattern #{pattern}."
194
+ end
195
+
196
+ # resource path
197
+ local_var_path = '/api/v1/app/{app_id}/events/{sink_id}'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s)).sub('{' + 'sink_id' + '}', CGI.escape(sink_id.to_s))
198
+
199
+ # query parameters
200
+ query_params = opts[:query_params] || {}
201
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
202
+ query_params[:'iterator'] = opts[:'iterator'] if !opts[:'iterator'].nil?
203
+ query_params[:'event_type'] = opts[:'event_type'] if !opts[:'event_type'].nil?
204
+ query_params[:'channel'] = opts[:'channel'] if !opts[:'channel'].nil?
205
+ query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil?
206
+
207
+ # header parameters
208
+ header_params = opts[:header_params] || {}
209
+ # HTTP header 'Accept' (if needed)
210
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
211
+
212
+ # form parameters
213
+ form_params = opts[:form_params] || {}
214
+
215
+ # http body (model)
216
+ post_body = opts[:debug_body]
217
+
218
+ # return_type
219
+ return_type = opts[:debug_return_type] || 'MessageEventsOut'
220
+
221
+ # auth_names
222
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
223
+
224
+ new_options = opts.merge(
225
+ :operation => :"MessageApi.v1_events_public",
226
+ :header_params => header_params,
227
+ :query_params => query_params,
228
+ :form_params => form_params,
229
+ :body => post_body,
230
+ :auth_names => auth_names,
231
+ :return_type => return_type
232
+ )
233
+
234
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
235
+ if @api_client.config.debugging
236
+ @api_client.config.logger.debug "API called: MessageApi#v1_events_public\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
237
+ end
238
+ return data, status_code, headers
239
+ end
240
+
131
241
  # Create Message
132
242
  # Creates a new message and dispatches it to all of the application's endpoints. The `eventId` is an optional custom unique ID. It's verified to be unique only up to a day, after that no verification will be made. If a message with the same `eventId` already exists for the application, a 409 conflict error will be returned. The `eventType` indicates the type and schema of the event. All messages of a certain `eventType` are expected to have the same schema. Endpoints can choose to only listen to specific event types. Messages can also have `channels`, which similar to event types let endpoints filter by them. Unlike event types, messages can have multiple channels, and channels don't imply a specific message content or schema. The `payload` property is the webhook's body (the actual webhook message). Svix supports payload sizes of up to ~350kb, though it's generally a good idea to keep webhook payloads small, probably no larger than 40kb.
133
243
  # @param app_id [String] The app&#39;s ID or UID
@@ -20,7 +20,7 @@ module Svix
20
20
  @api_client = api_client
21
21
  end
22
22
  # Update Hubspot Oauth Config
23
- # Create/update endpoint Hubsport OAuth configuration Specific private endpoint just for us, to avoid exposing the Hubspot secret to the client.
23
+ # Create/update endpoint Hubspot OAuth configuration Specific private endpoint just for us, to avoid exposing the Hubspot secret to the client.
24
24
  # @param app_id [String] The app&#39;s ID or UID
25
25
  # @param endpoint_id [String] The ep&#39;s ID or UID
26
26
  # @param hubspot_oauth_config_in [HubspotOauthConfigIn]
@@ -32,7 +32,7 @@ module Svix
32
32
  end
33
33
 
34
34
  # Update Hubspot Oauth Config
35
- # Create/update endpoint Hubsport OAuth configuration Specific private endpoint just for us, to avoid exposing the Hubspot secret to the client.
35
+ # Create/update endpoint Hubspot OAuth configuration Specific private endpoint just for us, to avoid exposing the Hubspot secret to the client.
36
36
  # @param app_id [String] The app&#39;s ID or UID
37
37
  # @param endpoint_id [String] The ep&#39;s ID or UID
38
38
  # @param hubspot_oauth_config_in [HubspotOauthConfigIn]
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Svix
17
- class CreateMessageTokenIn
17
+ class CreateTokenIn
18
18
  # How long the token will be valid for, in seconds.
19
19
  attr_accessor :expiry
20
20
 
@@ -53,13 +53,13 @@ module Svix
53
53
  # @param [Hash] attributes Model attributes in the form of hash
54
54
  def initialize(attributes = {})
55
55
  if (!attributes.is_a?(Hash))
56
- fail ArgumentError, "The input argument (attributes) must be a hash in `Svix::CreateMessageTokenIn` initialize method"
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Svix::CreateTokenIn` initialize method"
57
57
  end
58
58
 
59
59
  # check to see if the attribute exists and convert string to symbol for hash key
60
60
  attributes = attributes.each_with_object({}) { |(k, v), h|
61
61
  if (!self.class.attribute_map.key?(k.to_sym))
62
- fail ArgumentError, "`#{k}` is not a valid attribute in `Svix::CreateMessageTokenIn`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Svix::CreateTokenIn`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
63
63
  end
64
64
  h[k.to_sym] = v
65
65
  }
@@ -28,7 +28,7 @@ module Svix
28
28
 
29
29
  attr_accessor :rate_limit
30
30
 
31
- # The endpoint's verification secret. If `null` is passed, a secret is automatically generated. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24.
31
+ # The endpoint's verification secret. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. It is recommended to not set this and let the server generate the secret.
32
32
  attr_accessor :secret
33
33
 
34
34
  # Optional unique identifier for the endpoint
@@ -27,7 +27,7 @@ module Svix
27
27
 
28
28
  attr_accessor :rate_limit
29
29
 
30
- # The endpoint's verification secret. If `null` is passed, a secret is automatically generated. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24.
30
+ # The endpoint's verification secret. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. It is recommended to not set this and let the server generate the secret.
31
31
  attr_accessor :secret
32
32
 
33
33
  # The ep's UID
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Svix
17
17
  class EndpointSecretOut
18
- # The endpoint's verification secret. If `null` is passed, a secret is automatically generated. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24.
18
+ # The endpoint's verification secret. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. It is recommended to not set this and let the server generate the secret.
19
19
  attr_accessor :key
20
20
 
21
21
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Svix
17
17
  class EndpointSecretRotateIn
18
- # The endpoint's verification secret. If `null` is passed, a secret is automatically generated. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24.
18
+ # The endpoint's verification secret. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. It is recommended to not set this and let the server generate the secret.
19
19
  attr_accessor :key
20
20
 
21
21
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -39,7 +39,7 @@ module Svix
39
39
  def self.openapi_types
40
40
  {
41
41
  :'event_types' => :'Array<EventTypeIn>',
42
- :'settings' => :'Hash<String, Object>',
42
+ :'settings' => :'Object',
43
43
  :'transformation_templates' => :'Array<TemplateIn>'
44
44
  }
45
45
  end
@@ -75,9 +75,7 @@ module Svix
75
75
  end
76
76
 
77
77
  if attributes.key?(:'settings')
78
- if (value = attributes[:'settings']).is_a?(Hash)
79
- self.settings = value
80
- end
78
+ self.settings = attributes[:'settings']
81
79
  else
82
80
  self.settings = nil
83
81
  end
@@ -46,7 +46,7 @@ module Svix
46
46
  {
47
47
  :'created_at' => :'Time',
48
48
  :'event_types' => :'Array<EventTypeOut>',
49
- :'settings' => :'Hash<String, Object>',
49
+ :'settings' => :'Object',
50
50
  :'transformation_templates' => :'Array<TemplateOut>',
51
51
  :'version' => :'Integer'
52
52
  }
@@ -89,9 +89,7 @@ module Svix
89
89
  end
90
90
 
91
91
  if attributes.key?(:'settings')
92
- if (value = attributes[:'settings']).is_a?(Hash)
93
- self.settings = value
94
- end
92
+ self.settings = attributes[:'settings']
95
93
  else
96
94
  self.settings = nil
97
95
  end
@@ -32,7 +32,7 @@ module Svix
32
32
  # Attribute type mapping.
33
33
  def self.openapi_types
34
34
  {
35
- :'example' => :'Hash<String, Object>'
35
+ :'example' => :'Object'
36
36
  }
37
37
  end
38
38
 
@@ -58,9 +58,7 @@ module Svix
58
58
  }
59
59
 
60
60
  if attributes.key?(:'example')
61
- if (value = attributes[:'example']).is_a?(Hash)
62
- self.example = value
63
- end
61
+ self.example = attributes[:'example']
64
62
  else
65
63
  self.example = nil
66
64
  end
@@ -54,7 +54,7 @@ module Svix
54
54
  :'feature_flag' => :'String',
55
55
  :'group_name' => :'String',
56
56
  :'name' => :'String',
57
- :'schemas' => :'Hash<String, Object>'
57
+ :'schemas' => :'Object'
58
58
  }
59
59
  end
60
60
 
@@ -109,9 +109,7 @@ module Svix
109
109
  end
110
110
 
111
111
  if attributes.key?(:'schemas')
112
- if (value = attributes[:'schemas']).is_a?(Hash)
113
- self.schemas = value
114
- end
112
+ self.schemas = attributes[:'schemas']
115
113
  end
116
114
  end
117
115
 
@@ -43,7 +43,7 @@ module Svix
43
43
  def self.openapi_types
44
44
  {
45
45
  :'dry_run' => :'Boolean',
46
- :'spec' => :'Hash<String, Object>',
46
+ :'spec' => :'Object',
47
47
  :'spec_raw' => :'String'
48
48
  }
49
49
  end
@@ -78,9 +78,7 @@ module Svix
78
78
  end
79
79
 
80
80
  if attributes.key?(:'spec')
81
- if (value = attributes[:'spec']).is_a?(Hash)
82
- self.spec = value
83
- end
81
+ self.spec = attributes[:'spec']
84
82
  end
85
83
 
86
84
  if attributes.key?(:'spec_raw')
@@ -59,7 +59,7 @@ module Svix
59
59
  :'feature_flag' => :'String',
60
60
  :'group_name' => :'String',
61
61
  :'name' => :'String',
62
- :'schemas' => :'Hash<String, Object>'
62
+ :'schemas' => :'Object'
63
63
  }
64
64
  end
65
65
 
@@ -120,9 +120,7 @@ module Svix
120
120
  end
121
121
 
122
122
  if attributes.key?(:'schemas')
123
- if (value = attributes[:'schemas']).is_a?(Hash)
124
- self.schemas = value
125
- end
123
+ self.schemas = attributes[:'schemas']
126
124
  end
127
125
  end
128
126
 
@@ -66,7 +66,7 @@ module Svix
66
66
  :'feature_flag' => :'String',
67
67
  :'group_name' => :'String',
68
68
  :'name' => :'String',
69
- :'schemas' => :'Hash<String, Object>',
69
+ :'schemas' => :'Object',
70
70
  :'updated_at' => :'Time'
71
71
  }
72
72
  end
@@ -134,9 +134,7 @@ module Svix
134
134
  end
135
135
 
136
136
  if attributes.key?(:'schemas')
137
- if (value = attributes[:'schemas']).is_a?(Hash)
138
- self.schemas = value
139
- end
137
+ self.schemas = attributes[:'schemas']
140
138
  end
141
139
 
142
140
  if attributes.key?(:'updated_at')
@@ -53,7 +53,7 @@ module Svix
53
53
  :'description' => :'String',
54
54
  :'feature_flag' => :'String',
55
55
  :'group_name' => :'String',
56
- :'schemas' => :'Hash<String, Object>'
56
+ :'schemas' => :'Object'
57
57
  }
58
58
  end
59
59
 
@@ -102,9 +102,7 @@ module Svix
102
102
  end
103
103
 
104
104
  if attributes.key?(:'schemas')
105
- if (value = attributes[:'schemas']).is_a?(Hash)
106
- self.schemas = value
107
- end
105
+ self.schemas = attributes[:'schemas']
108
106
  end
109
107
  end
110
108
 
@@ -54,7 +54,7 @@ module Svix
54
54
  :'description' => :'String',
55
55
  :'feature_flag' => :'String',
56
56
  :'group_name' => :'String',
57
- :'schemas' => :'Hash<String, Object>'
57
+ :'schemas' => :'Object'
58
58
  }
59
59
  end
60
60
 
@@ -109,9 +109,7 @@ module Svix
109
109
  end
110
110
 
111
111
  if attributes.key?(:'schemas')
112
- if (value = attributes[:'schemas']).is_a?(Hash)
113
- self.schemas = value
114
- end
112
+ self.schemas = attributes[:'schemas']
115
113
  end
116
114
  end
117
115
 
@@ -25,7 +25,7 @@ module Svix
25
25
 
26
26
  attr_accessor :rate_limit
27
27
 
28
- # The endpoint's verification secret. If `null` is passed, a secret is automatically generated. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24.
28
+ # The endpoint's verification secret. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. It is recommended to not set this and let the server generate the secret.
29
29
  attr_accessor :secret
30
30
 
31
31
  # Optional unique identifier for the endpoint
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Svix
17
17
  class OperationalWebhookEndpointSecretIn
18
- # The endpoint's verification secret. If `null` is passed, a secret is automatically generated. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24.
18
+ # The endpoint's verification secret. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. It is recommended to not set this and let the server generate the secret.
19
19
  attr_accessor :key
20
20
 
21
21
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module Svix
17
17
  class OperationalWebhookEndpointSecretOut
18
- # The endpoint's verification secret. If `null` is passed, a secret is automatically generated. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24.
18
+ # The endpoint's verification secret. Format: `base64` encoded random bytes optionally prefixed with `whsec_`. It is recommended to not set this and let the server generate the secret.
19
19
  attr_accessor :key
20
20
 
21
21
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -22,7 +22,8 @@ module Svix
22
22
  :'SinkInOneOf',
23
23
  :'SinkInOneOf1',
24
24
  :'SinkInOneOf2',
25
- :'SinkInOneOf3'
25
+ :'SinkInOneOf3',
26
+ :'SinkInOneOf4'
26
27
  ]
27
28
  end
28
29
 
@@ -0,0 +1,255 @@
1
+ =begin
2
+ #Svix API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 1.1.1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Svix
17
+ class SinkInOneOf4
18
+ attr_accessor :type
19
+
20
+ class EnumAttributeValidator
21
+ attr_reader :datatype
22
+ attr_reader :allowable_values
23
+
24
+ def initialize(datatype, allowable_values)
25
+ @allowable_values = allowable_values.map do |value|
26
+ case datatype.to_s
27
+ when /Integer/i
28
+ value.to_i
29
+ when /Float/i
30
+ value.to_f
31
+ else
32
+ value
33
+ end
34
+ end
35
+ end
36
+
37
+ def valid?(value)
38
+ !value || allowable_values.include?(value)
39
+ end
40
+ end
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ :'type' => :'type'
46
+ }
47
+ end
48
+
49
+ # Returns all the JSON keys this model knows about
50
+ def self.acceptable_attributes
51
+ attribute_map.values
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.openapi_types
56
+ {
57
+ :'type' => :'String'
58
+ }
59
+ end
60
+
61
+ # List of attributes with nullable: true
62
+ def self.openapi_nullable
63
+ Set.new([
64
+ ])
65
+ end
66
+
67
+ # Initializes the object
68
+ # @param [Hash] attributes Model attributes in the form of hash
69
+ def initialize(attributes = {})
70
+ if (!attributes.is_a?(Hash))
71
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Svix::SinkInOneOf4` initialize method"
72
+ end
73
+
74
+ # check to see if the attribute exists and convert string to symbol for hash key
75
+ attributes = attributes.each_with_object({}) { |(k, v), h|
76
+ if (!self.class.attribute_map.key?(k.to_sym))
77
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Svix::SinkInOneOf4`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
78
+ end
79
+ h[k.to_sym] = v
80
+ }
81
+
82
+ if attributes.key?(:'type')
83
+ self.type = attributes[:'type']
84
+ else
85
+ self.type = nil
86
+ end
87
+ end
88
+
89
+ # Show invalid properties with the reasons. Usually used together with valid?
90
+ # @return Array for valid properties with the reasons
91
+ def list_invalid_properties
92
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
93
+ invalid_properties = Array.new
94
+ if @type.nil?
95
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
96
+ end
97
+
98
+ invalid_properties
99
+ end
100
+
101
+ # Check to see if the all the properties in the model are valid
102
+ # @return true if the model is valid
103
+ def valid?
104
+ warn '[DEPRECATED] the `valid?` method is obsolete'
105
+ return false if @type.nil?
106
+ type_validator = EnumAttributeValidator.new('String', ["eventStream"])
107
+ return false unless type_validator.valid?(@type)
108
+ true
109
+ end
110
+
111
+ # Custom attribute writer method checking allowed values (enum).
112
+ # @param [Object] type Object to be assigned
113
+ def type=(type)
114
+ validator = EnumAttributeValidator.new('String', ["eventStream"])
115
+ unless validator.valid?(type)
116
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
117
+ end
118
+ @type = type
119
+ end
120
+
121
+ # Checks equality by comparing each attribute.
122
+ # @param [Object] Object to be compared
123
+ def ==(o)
124
+ return true if self.equal?(o)
125
+ self.class == o.class &&
126
+ type == o.type
127
+ end
128
+
129
+ # @see the `==` method
130
+ # @param [Object] Object to be compared
131
+ def eql?(o)
132
+ self == o
133
+ end
134
+
135
+ # Calculates hash code according to all attributes.
136
+ # @return [Integer] Hash code
137
+ def hash
138
+ [type].hash
139
+ end
140
+
141
+ # Builds the object from hash
142
+ # @param [Hash] attributes Model attributes in the form of hash
143
+ # @return [Object] Returns the model itself
144
+ def self.build_from_hash(attributes)
145
+ return nil unless attributes.is_a?(Hash)
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
151
+ elsif type =~ /\AArray<(.*)>/i
152
+ # check to ensure the input is an array given that the attribute
153
+ # is documented as an array but the input is not
154
+ if attributes[attribute_map[key]].is_a?(Array)
155
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
156
+ end
157
+ elsif !attributes[attribute_map[key]].nil?
158
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
159
+ end
160
+ end
161
+ new(transformed_hash)
162
+ end
163
+
164
+ # Deserializes the data based on type
165
+ # @param string type Data type
166
+ # @param string value Value to be deserialized
167
+ # @return [Object] Deserialized data
168
+ def self._deserialize(type, value)
169
+ case type.to_sym
170
+ when :Time
171
+ Time.parse(value)
172
+ when :Date
173
+ Date.parse(value)
174
+ when :String
175
+ value.to_s
176
+ when :Integer
177
+ value.to_i
178
+ when :Float
179
+ value.to_f
180
+ when :Boolean
181
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
182
+ true
183
+ else
184
+ false
185
+ end
186
+ when :Object
187
+ # generic object (usually a Hash), return directly
188
+ value
189
+ when /\AArray<(?<inner_type>.+)>\z/
190
+ inner_type = Regexp.last_match[:inner_type]
191
+ value.map { |v| _deserialize(inner_type, v) }
192
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
193
+ k_type = Regexp.last_match[:k_type]
194
+ v_type = Regexp.last_match[:v_type]
195
+ {}.tap do |hash|
196
+ value.each do |k, v|
197
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
198
+ end
199
+ end
200
+ else # model
201
+ # models (e.g. Pet) or oneOf
202
+ klass = Svix.const_get(type)
203
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
204
+ end
205
+ end
206
+
207
+ # Returns the string representation of the object
208
+ # @return [String] String presentation of the object
209
+ def to_s
210
+ to_hash.to_s
211
+ end
212
+
213
+ # to_body is an alias to to_hash (backward compatibility)
214
+ # @return [Hash] Returns the object in the form of hash
215
+ def to_body
216
+ to_hash
217
+ end
218
+
219
+ # Returns the object in the form of hash
220
+ # @return [Hash] Returns the object in the form of hash
221
+ def to_hash
222
+ hash = {}
223
+ self.class.attribute_map.each_pair do |attr, param|
224
+ value = self.send(attr)
225
+ if value.nil?
226
+ is_nullable = self.class.openapi_nullable.include?(attr)
227
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
228
+ end
229
+
230
+ hash[param] = _to_hash(value)
231
+ end
232
+ hash
233
+ end
234
+
235
+ # Outputs non-array value in the form of hash
236
+ # For object, use to_hash. Otherwise, just return the value
237
+ # @param [Object] value Any valid value
238
+ # @return [Hash] Returns the value in the form of hash
239
+ def _to_hash(value)
240
+ if value.is_a?(Array)
241
+ value.compact.map { |v| _to_hash(v) }
242
+ elsif value.is_a?(Hash)
243
+ {}.tap do |hash|
244
+ value.each { |k, v| hash[k] = _to_hash(v) }
245
+ end
246
+ elsif value.respond_to? :to_hash
247
+ value.to_hash
248
+ else
249
+ value
250
+ end
251
+ end
252
+
253
+ end
254
+
255
+ end
@@ -22,7 +22,8 @@ module Svix
22
22
  :'SinkInOneOf',
23
23
  :'SinkInOneOf1',
24
24
  :'SinkInOneOf2',
25
- :'SinkInOneOf3'
25
+ :'SinkInOneOf3',
26
+ :'SinkInOneOf4'
26
27
  ]
27
28
  end
28
29
 
data/lib/svix/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Svix
4
- VERSION = "1.43.0"
4
+ VERSION = "1.44.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: svix
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.43.0
4
+ version: 1.44.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Svix
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-12-06 00:00:00.000000000 Z
11
+ date: 2024-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -126,8 +126,8 @@ files:
126
126
  - lib/svix/models/completion_choice.rb
127
127
  - lib/svix/models/completion_message.rb
128
128
  - lib/svix/models/count_out.rb
129
- - lib/svix/models/create_message_token_in.rb
130
129
  - lib/svix/models/create_stream_in.rb
130
+ - lib/svix/models/create_token_in.rb
131
131
  - lib/svix/models/custom_color_palette.rb
132
132
  - lib/svix/models/custom_strings_override.rb
133
133
  - lib/svix/models/custom_theme_override.rb
@@ -254,6 +254,7 @@ files:
254
254
  - lib/svix/models/sink_in_one_of1.rb
255
255
  - lib/svix/models/sink_in_one_of2.rb
256
256
  - lib/svix/models/sink_in_one_of3.rb
257
+ - lib/svix/models/sink_in_one_of4.rb
257
258
  - lib/svix/models/sink_otel_v1_config.rb
258
259
  - lib/svix/models/sink_out.rb
259
260
  - lib/svix/models/sink_payload_format.rb