svix 1.92.2 → 1.93.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/svix/api/message_attempt.rb +9 -2
- data/lib/svix/api_internal/endpoint.rb +23 -0
- data/lib/svix/api_internal/endpoint_auto_config.rb +22 -0
- data/lib/svix/autoconfig.rb +67 -0
- data/lib/svix/internal.rb +2 -0
- data/lib/svix/models/application_patch.rb +8 -1
- data/lib/svix/models/endpoint_out.rb +3 -1
- data/lib/svix/models/endpoint_stats.rb +4 -1
- data/lib/svix/models/ingest_source_in.rb +6 -1
- data/lib/svix/models/ingest_source_out.rb +6 -1
- data/lib/svix/models/message_endpoint_out.rb +3 -1
- data/lib/svix/models/message_status.rb +3 -1
- data/lib/svix/models/message_status_text.rb +2 -1
- data/lib/svix/models/operational_webhook_endpoint_in.rb +18 -1
- data/lib/svix/models/operational_webhook_endpoint_out.rb +8 -0
- data/lib/svix/models/operational_webhook_endpoint_update.rb +8 -1
- data/lib/svix/models/subscribe_in.rb +46 -0
- data/lib/svix/models/vgs_config.rb +46 -0
- data/lib/svix/models/vgs_config_out.rb +43 -0
- data/lib/svix/version.rb +1 -1
- data/lib/svix.rb +2 -0
- metadata +8 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c93ea5ce62cf3681a65b3244a48e8787c65e763798398ed81a662bed6cb8f5d0
|
|
4
|
+
data.tar.gz: d0242261a2b37ac3e49c27246b854bc027dc4ef6369968f47ca73ee899716605
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5824f3ebe1dfae4ae4f1455e85bf731ebf43f5d7b73dc1791474ce041b5683595300faac9c11cd7afbfa5e5000bb366c03b291fafa06adc1868d62a2f47b4dca
|
|
7
|
+
data.tar.gz: e3b796b52c466792f4dc2e34e4ea3be1528cefea41b5405ca792a64d924a5f3df00cb66b5aaa3ba61ab8ec607cfb5e5fbb9ecb9fa1f4b71df9a454d9702327b1
|
data/Gemfile.lock
CHANGED
|
@@ -25,6 +25,7 @@ module Svix
|
|
|
25
25
|
"after" => options["after"],
|
|
26
26
|
"with_content" => options["with_content"],
|
|
27
27
|
"with_msg" => options["with_msg"],
|
|
28
|
+
"expanded_statuses" => options["expanded_statuses"],
|
|
28
29
|
"event_types" => options["event_types"]
|
|
29
30
|
}
|
|
30
31
|
)
|
|
@@ -47,6 +48,7 @@ module Svix
|
|
|
47
48
|
"before" => options["before"],
|
|
48
49
|
"after" => options["after"],
|
|
49
50
|
"with_content" => options["with_content"],
|
|
51
|
+
"expanded_statuses" => options["expanded_statuses"],
|
|
50
52
|
"event_types" => options["event_types"]
|
|
51
53
|
}
|
|
52
54
|
)
|
|
@@ -67,16 +69,21 @@ module Svix
|
|
|
67
69
|
"before" => options["before"],
|
|
68
70
|
"after" => options["after"],
|
|
69
71
|
"with_content" => options["with_content"],
|
|
72
|
+
"expanded_statuses" => options["expanded_statuses"],
|
|
70
73
|
"event_types" => options["event_types"]
|
|
71
74
|
}
|
|
72
75
|
)
|
|
73
76
|
ListResponseEndpointMessageOut.deserialize(res)
|
|
74
77
|
end
|
|
75
78
|
|
|
76
|
-
def get(app_id, msg_id, attempt_id)
|
|
79
|
+
def get(app_id, msg_id, attempt_id, options = {})
|
|
80
|
+
options = options.transform_keys(&:to_s)
|
|
77
81
|
res = @client.execute_request(
|
|
78
82
|
"GET",
|
|
79
|
-
"/api/v1/app/#{app_id}/msg/#{msg_id}/attempt/#{attempt_id}"
|
|
83
|
+
"/api/v1/app/#{app_id}/msg/#{msg_id}/attempt/#{attempt_id}",
|
|
84
|
+
query_params: {
|
|
85
|
+
"expanded_statuses" => options["expanded_statuses"]
|
|
86
|
+
}
|
|
80
87
|
)
|
|
81
88
|
MessageAttemptOut.deserialize(res)
|
|
82
89
|
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file is @generated
|
|
3
|
+
|
|
4
|
+
require "net/http"
|
|
5
|
+
|
|
6
|
+
module Svix
|
|
7
|
+
class Endpoint
|
|
8
|
+
attr_accessor :auto_config
|
|
9
|
+
def initialize(client)
|
|
10
|
+
@client = client
|
|
11
|
+
@auto_config = EndpointAutoConfig.new(client)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def transformation_partial_update(app_id, endpoint_id, endpoint_transformation_in)
|
|
15
|
+
@client.execute_request(
|
|
16
|
+
"PATCH",
|
|
17
|
+
"/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/transformation",
|
|
18
|
+
body: endpoint_transformation_in
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file is @generated
|
|
3
|
+
|
|
4
|
+
require "net/http"
|
|
5
|
+
|
|
6
|
+
module Svix
|
|
7
|
+
class EndpointAutoConfig
|
|
8
|
+
def initialize(client)
|
|
9
|
+
@client = client
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def update(app_id, endpoint_id, subscribe_in)
|
|
13
|
+
res = @client.execute_request(
|
|
14
|
+
"PUT",
|
|
15
|
+
"/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/auto-config",
|
|
16
|
+
body: subscribe_in
|
|
17
|
+
)
|
|
18
|
+
EndpointOut.deserialize(res)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
require "base64"
|
|
5
|
+
require "uri"
|
|
6
|
+
|
|
7
|
+
require "svix/models/subscribe_in"
|
|
8
|
+
require "svix/api_internal/endpoint_auto_config"
|
|
9
|
+
|
|
10
|
+
module Svix
|
|
11
|
+
class AutoConfig
|
|
12
|
+
AUTOCONFIG_TOKEN_PREFIX_V1 = "auto_v1_"
|
|
13
|
+
|
|
14
|
+
class InvalidTokenError < StandardError; end
|
|
15
|
+
|
|
16
|
+
attr_reader :app_id, :endpoint_id, :endpoint
|
|
17
|
+
|
|
18
|
+
def initialize(token, endpoint_in)
|
|
19
|
+
content = AutoConfig.decode_token!(token)
|
|
20
|
+
@app_id = content.fetch("app_id")
|
|
21
|
+
@endpoint_id = content.fetch("endpoint_id")
|
|
22
|
+
@endpoint = endpoint_in
|
|
23
|
+
@webhook = Webhook.new(content.fetch("endpoint_secret"))
|
|
24
|
+
@client = SvixHttpClient.new(
|
|
25
|
+
content.fetch("token_plaintext"),
|
|
26
|
+
URI(content.fetch("server_url"))
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def subscribe
|
|
31
|
+
EndpointAutoConfig.new(@client).update(
|
|
32
|
+
@app_id,
|
|
33
|
+
@endpoint_id,
|
|
34
|
+
SubscribeIn.new("endpoint" => @endpoint)
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def verify(payload, headers)
|
|
39
|
+
@webhook.verify(payload, headers)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
class << self
|
|
43
|
+
def decode_token!(token)
|
|
44
|
+
unless token.is_a?(String) && token.start_with?(AUTOCONFIG_TOKEN_PREFIX_V1)
|
|
45
|
+
raise InvalidTokenError
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
encoded = token.byteslice(AUTOCONFIG_TOKEN_PREFIX_V1.length..-1)
|
|
49
|
+
json = Base64.decode64(encoded)
|
|
50
|
+
data = JSON.parse(json)
|
|
51
|
+
unless data.is_a?(Hash)
|
|
52
|
+
raise InvalidTokenError
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
{
|
|
56
|
+
"app_id" => data.fetch("aid"),
|
|
57
|
+
"endpoint_id" => data.fetch("eid"),
|
|
58
|
+
"server_url" => data.fetch("surl"),
|
|
59
|
+
"endpoint_secret" => data.fetch("esec"),
|
|
60
|
+
"token_plaintext" => data.fetch("tok"),
|
|
61
|
+
}
|
|
62
|
+
rescue ArgumentError, JSON::ParserError, KeyError, TypeError
|
|
63
|
+
raise InvalidTokenError
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
data/lib/svix/internal.rb
CHANGED
|
@@ -6,11 +6,16 @@ module Svix
|
|
|
6
6
|
class ApplicationPatch
|
|
7
7
|
attr_accessor :metadata
|
|
8
8
|
attr_accessor :name
|
|
9
|
+
# Deprecated, use `throttleRate` instead.
|
|
9
10
|
attr_accessor :rate_limit
|
|
11
|
+
# Maximum messages per second to send to this application.
|
|
12
|
+
#
|
|
13
|
+
# Outgoing messages will be throttled to this rate.
|
|
14
|
+
attr_accessor :throttle_rate
|
|
10
15
|
# The Application's UID.
|
|
11
16
|
attr_accessor :uid
|
|
12
17
|
|
|
13
|
-
ALL_FIELD ||= ["metadata", "name", "rate_limit", "uid"].freeze
|
|
18
|
+
ALL_FIELD ||= ["metadata", "name", "rate_limit", "throttle_rate", "uid"].freeze
|
|
14
19
|
private_constant :ALL_FIELD
|
|
15
20
|
|
|
16
21
|
def initialize(attributes = {})
|
|
@@ -34,6 +39,7 @@ module Svix
|
|
|
34
39
|
attrs["metadata"] = attributes["metadata"]
|
|
35
40
|
attrs["name"] = attributes["name"]
|
|
36
41
|
attrs["rate_limit"] = attributes["rateLimit"]
|
|
42
|
+
attrs["throttle_rate"] = attributes["throttleRate"]
|
|
37
43
|
attrs["uid"] = attributes["uid"]
|
|
38
44
|
new(attrs)
|
|
39
45
|
end
|
|
@@ -43,6 +49,7 @@ module Svix
|
|
|
43
49
|
out["metadata"] = Svix::serialize_primitive(@metadata) if @metadata
|
|
44
50
|
out["name"] = Svix::serialize_primitive(@name) if @name
|
|
45
51
|
out["rateLimit"] = Svix::serialize_primitive(@rate_limit) if @__rate_limit_is_defined
|
|
52
|
+
out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) if @__throttle_rate_is_defined
|
|
46
53
|
out["uid"] = Svix::serialize_primitive(@uid) if @__uid_is_defined
|
|
47
54
|
out
|
|
48
55
|
end
|
|
@@ -16,7 +16,9 @@ module Svix
|
|
|
16
16
|
attr_accessor :metadata
|
|
17
17
|
# Deprecated, use `throttleRate` instead.
|
|
18
18
|
attr_accessor :rate_limit
|
|
19
|
-
# Maximum messages per second to send to this endpoint.
|
|
19
|
+
# Maximum messages per second to send to this endpoint.
|
|
20
|
+
#
|
|
21
|
+
# Outgoing messages will be throttled to this rate.
|
|
20
22
|
attr_accessor :throttle_rate
|
|
21
23
|
# Optional unique identifier for the endpoint.
|
|
22
24
|
attr_accessor :uid
|
|
@@ -4,12 +4,13 @@ require "json"
|
|
|
4
4
|
|
|
5
5
|
module Svix
|
|
6
6
|
class EndpointStats
|
|
7
|
+
attr_accessor :canceled
|
|
7
8
|
attr_accessor :fail
|
|
8
9
|
attr_accessor :pending
|
|
9
10
|
attr_accessor :sending
|
|
10
11
|
attr_accessor :success
|
|
11
12
|
|
|
12
|
-
ALL_FIELD ||= ["fail", "pending", "sending", "success"].freeze
|
|
13
|
+
ALL_FIELD ||= ["canceled", "fail", "pending", "sending", "success"].freeze
|
|
13
14
|
private_constant :ALL_FIELD
|
|
14
15
|
|
|
15
16
|
def initialize(attributes = {})
|
|
@@ -30,6 +31,7 @@ module Svix
|
|
|
30
31
|
def self.deserialize(attributes = {})
|
|
31
32
|
attributes = attributes.transform_keys(&:to_s)
|
|
32
33
|
attrs = Hash.new
|
|
34
|
+
attrs["canceled"] = attributes["canceled"]
|
|
33
35
|
attrs["fail"] = attributes["fail"]
|
|
34
36
|
attrs["pending"] = attributes["pending"]
|
|
35
37
|
attrs["sending"] = attributes["sending"]
|
|
@@ -39,6 +41,7 @@ module Svix
|
|
|
39
41
|
|
|
40
42
|
def serialize
|
|
41
43
|
out = Hash.new
|
|
44
|
+
out["canceled"] = Svix::serialize_primitive(@canceled) if @canceled
|
|
42
45
|
out["fail"] = Svix::serialize_primitive(@fail) if @fail
|
|
43
46
|
out["pending"] = Svix::serialize_primitive(@pending) if @pending
|
|
44
47
|
out["sending"] = Svix::serialize_primitive(@sending) if @sending
|
|
@@ -23,6 +23,7 @@ require_relative "./svix_config"
|
|
|
23
23
|
require_relative "./telnyx_config"
|
|
24
24
|
require_relative "./vapi_config"
|
|
25
25
|
require_relative "./veriff_config"
|
|
26
|
+
require_relative "./vgs_config"
|
|
26
27
|
require_relative "./zoom_config"
|
|
27
28
|
|
|
28
29
|
module Svix
|
|
@@ -156,6 +157,9 @@ module Svix
|
|
|
156
157
|
|
|
157
158
|
class Airwallex < AirwallexConfig
|
|
158
159
|
end
|
|
160
|
+
|
|
161
|
+
class Vgs < VgsConfig
|
|
162
|
+
end
|
|
159
163
|
end
|
|
160
164
|
|
|
161
165
|
class IngestSourceIn
|
|
@@ -206,7 +210,8 @@ module Svix
|
|
|
206
210
|
IngestSourceInConfig::OpenAi => "open-ai",
|
|
207
211
|
IngestSourceInConfig::Render => "render",
|
|
208
212
|
IngestSourceInConfig::Veriff => "veriff",
|
|
209
|
-
IngestSourceInConfig::Airwallex => "airwallex"
|
|
213
|
+
IngestSourceInConfig::Airwallex => "airwallex",
|
|
214
|
+
IngestSourceInConfig::Vgs => "vgs"
|
|
210
215
|
}
|
|
211
216
|
private_constant :TYPE_TO_NAME
|
|
212
217
|
NAME_TO_TYPE = TYPE_TO_NAME.invert
|
|
@@ -23,6 +23,7 @@ require_relative "./svix_config_out"
|
|
|
23
23
|
require_relative "./telnyx_config_out"
|
|
24
24
|
require_relative "./vapi_config_out"
|
|
25
25
|
require_relative "./veriff_config_out"
|
|
26
|
+
require_relative "./vgs_config_out"
|
|
26
27
|
require_relative "./zoom_config_out"
|
|
27
28
|
|
|
28
29
|
module Svix
|
|
@@ -156,6 +157,9 @@ module Svix
|
|
|
156
157
|
|
|
157
158
|
class Airwallex < AirwallexConfigOut
|
|
158
159
|
end
|
|
160
|
+
|
|
161
|
+
class Vgs < VgsConfigOut
|
|
162
|
+
end
|
|
159
163
|
end
|
|
160
164
|
|
|
161
165
|
class IngestSourceOut
|
|
@@ -211,7 +215,8 @@ module Svix
|
|
|
211
215
|
IngestSourceOutConfig::OpenAi => "open-ai",
|
|
212
216
|
IngestSourceOutConfig::Render => "render",
|
|
213
217
|
IngestSourceOutConfig::Veriff => "veriff",
|
|
214
|
-
IngestSourceOutConfig::Airwallex => "airwallex"
|
|
218
|
+
IngestSourceOutConfig::Airwallex => "airwallex",
|
|
219
|
+
IngestSourceOutConfig::Vgs => "vgs"
|
|
215
220
|
}
|
|
216
221
|
private_constant :TYPE_TO_NAME
|
|
217
222
|
NAME_TO_TYPE = TYPE_TO_NAME.invert
|
|
@@ -18,7 +18,9 @@ module Svix
|
|
|
18
18
|
attr_accessor :rate_limit
|
|
19
19
|
attr_accessor :status
|
|
20
20
|
attr_accessor :status_text
|
|
21
|
-
# Maximum messages per second to send to this endpoint.
|
|
21
|
+
# Maximum messages per second to send to this endpoint.
|
|
22
|
+
#
|
|
23
|
+
# Outgoing messages will be throttled to this rate.
|
|
22
24
|
attr_accessor :throttle_rate
|
|
23
25
|
# Optional unique identifier for the endpoint.
|
|
24
26
|
attr_accessor :uid
|
|
@@ -7,14 +7,16 @@ module Svix
|
|
|
7
7
|
# - Pending = 1
|
|
8
8
|
# - Fail = 2
|
|
9
9
|
# - Sending = 3
|
|
10
|
+
# - Canceled = 4
|
|
10
11
|
class MessageStatus
|
|
11
12
|
SUCCESS = 0.freeze
|
|
12
13
|
PENDING = 1.freeze
|
|
13
14
|
FAIL = 2.freeze
|
|
14
15
|
SENDING = 3.freeze
|
|
16
|
+
CANCELED = 4.freeze
|
|
15
17
|
|
|
16
18
|
def self.all_vars
|
|
17
|
-
@all_vars ||= [SUCCESS, PENDING, FAIL, SENDING].freeze
|
|
19
|
+
@all_vars ||= [SUCCESS, PENDING, FAIL, SENDING, CANCELED].freeze
|
|
18
20
|
end
|
|
19
21
|
|
|
20
22
|
def initialize(value)
|
|
@@ -6,9 +6,10 @@ module Svix
|
|
|
6
6
|
PENDING = "pending".freeze
|
|
7
7
|
FAIL = "fail".freeze
|
|
8
8
|
SENDING = "sending".freeze
|
|
9
|
+
CANCELED = "canceled".freeze
|
|
9
10
|
|
|
10
11
|
def self.all_vars
|
|
11
|
-
@all_vars ||= [SUCCESS, PENDING, FAIL, SENDING].freeze
|
|
12
|
+
@all_vars ||= [SUCCESS, PENDING, FAIL, SENDING, CANCELED].freeze
|
|
12
13
|
end
|
|
13
14
|
|
|
14
15
|
def initialize(value)
|
|
@@ -8,17 +8,32 @@ module Svix
|
|
|
8
8
|
attr_accessor :disabled
|
|
9
9
|
attr_accessor :filter_types
|
|
10
10
|
attr_accessor :metadata
|
|
11
|
+
# Deprecated, use `throttleRate` instead.
|
|
11
12
|
attr_accessor :rate_limit
|
|
12
13
|
# The endpoint's verification secret.
|
|
13
14
|
#
|
|
14
15
|
# Format: `base64` encoded random bytes optionally prefixed with `whsec_`.
|
|
15
16
|
# It is recommended to not set this and let the server generate the secret.
|
|
16
17
|
attr_accessor :secret
|
|
18
|
+
# Maximum messages per second to send to this endpoint.
|
|
19
|
+
#
|
|
20
|
+
# Outgoing messages will be throttled to this rate.
|
|
21
|
+
attr_accessor :throttle_rate
|
|
17
22
|
# Optional unique identifier for the endpoint.
|
|
18
23
|
attr_accessor :uid
|
|
19
24
|
attr_accessor :url
|
|
20
25
|
|
|
21
|
-
ALL_FIELD ||= [
|
|
26
|
+
ALL_FIELD ||= [
|
|
27
|
+
"description",
|
|
28
|
+
"disabled",
|
|
29
|
+
"filter_types",
|
|
30
|
+
"metadata",
|
|
31
|
+
"rate_limit",
|
|
32
|
+
"secret",
|
|
33
|
+
"throttle_rate",
|
|
34
|
+
"uid",
|
|
35
|
+
"url"
|
|
36
|
+
].freeze
|
|
22
37
|
private_constant :ALL_FIELD
|
|
23
38
|
|
|
24
39
|
def initialize(attributes = {})
|
|
@@ -48,6 +63,7 @@ module Svix
|
|
|
48
63
|
attrs["metadata"] = attributes["metadata"]
|
|
49
64
|
attrs["rate_limit"] = attributes["rateLimit"]
|
|
50
65
|
attrs["secret"] = attributes["secret"]
|
|
66
|
+
attrs["throttle_rate"] = attributes["throttleRate"]
|
|
51
67
|
attrs["uid"] = attributes["uid"]
|
|
52
68
|
attrs["url"] = attributes["url"]
|
|
53
69
|
new(attrs)
|
|
@@ -61,6 +77,7 @@ module Svix
|
|
|
61
77
|
out["metadata"] = Svix::serialize_primitive(@metadata) if @metadata
|
|
62
78
|
out["rateLimit"] = Svix::serialize_primitive(@rate_limit) if @rate_limit
|
|
63
79
|
out["secret"] = Svix::serialize_primitive(@secret) if @secret
|
|
80
|
+
out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) if @throttle_rate
|
|
64
81
|
out["uid"] = Svix::serialize_primitive(@uid) if @uid
|
|
65
82
|
out["url"] = Svix::serialize_primitive(@url) if @url
|
|
66
83
|
out
|
|
@@ -12,7 +12,12 @@ module Svix
|
|
|
12
12
|
# The Endpoint's ID.
|
|
13
13
|
attr_accessor :id
|
|
14
14
|
attr_accessor :metadata
|
|
15
|
+
# Deprecated, use `throttleRate` instead.
|
|
15
16
|
attr_accessor :rate_limit
|
|
17
|
+
# Maximum messages per second to send to this endpoint.
|
|
18
|
+
#
|
|
19
|
+
# Outgoing messages will be throttled to this rate.
|
|
20
|
+
attr_accessor :throttle_rate
|
|
16
21
|
# Optional unique identifier for the endpoint.
|
|
17
22
|
attr_accessor :uid
|
|
18
23
|
attr_accessor :updated_at
|
|
@@ -26,6 +31,7 @@ module Svix
|
|
|
26
31
|
"id",
|
|
27
32
|
"metadata",
|
|
28
33
|
"rate_limit",
|
|
34
|
+
"throttle_rate",
|
|
29
35
|
"uid",
|
|
30
36
|
"updated_at",
|
|
31
37
|
"url"
|
|
@@ -60,6 +66,7 @@ module Svix
|
|
|
60
66
|
attrs["id"] = attributes["id"]
|
|
61
67
|
attrs["metadata"] = attributes["metadata"]
|
|
62
68
|
attrs["rate_limit"] = attributes["rateLimit"]
|
|
69
|
+
attrs["throttle_rate"] = attributes["throttleRate"]
|
|
63
70
|
attrs["uid"] = attributes["uid"]
|
|
64
71
|
attrs["updated_at"] = DateTime.rfc3339(attributes["updatedAt"]).to_time
|
|
65
72
|
attrs["url"] = attributes["url"]
|
|
@@ -75,6 +82,7 @@ module Svix
|
|
|
75
82
|
out["id"] = Svix::serialize_primitive(@id) if @id
|
|
76
83
|
out["metadata"] = Svix::serialize_primitive(@metadata) if @metadata
|
|
77
84
|
out["rateLimit"] = Svix::serialize_primitive(@rate_limit) if @rate_limit
|
|
85
|
+
out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) if @throttle_rate
|
|
78
86
|
out["uid"] = Svix::serialize_primitive(@uid) if @uid
|
|
79
87
|
out["updatedAt"] = Svix::serialize_primitive(@updated_at) if @updated_at
|
|
80
88
|
out["url"] = Svix::serialize_primitive(@url) if @url
|
|
@@ -8,12 +8,17 @@ module Svix
|
|
|
8
8
|
attr_accessor :disabled
|
|
9
9
|
attr_accessor :filter_types
|
|
10
10
|
attr_accessor :metadata
|
|
11
|
+
# Deprecated, use `throttleRate` instead.
|
|
11
12
|
attr_accessor :rate_limit
|
|
13
|
+
# Maximum messages per second to send to this endpoint.
|
|
14
|
+
#
|
|
15
|
+
# Outgoing messages will be throttled to this rate.
|
|
16
|
+
attr_accessor :throttle_rate
|
|
12
17
|
# Optional unique identifier for the endpoint.
|
|
13
18
|
attr_accessor :uid
|
|
14
19
|
attr_accessor :url
|
|
15
20
|
|
|
16
|
-
ALL_FIELD ||= ["description", "disabled", "filter_types", "metadata", "rate_limit", "uid", "url"].freeze
|
|
21
|
+
ALL_FIELD ||= ["description", "disabled", "filter_types", "metadata", "rate_limit", "throttle_rate", "uid", "url"].freeze
|
|
17
22
|
private_constant :ALL_FIELD
|
|
18
23
|
|
|
19
24
|
def initialize(attributes = {})
|
|
@@ -42,6 +47,7 @@ module Svix
|
|
|
42
47
|
attrs["filter_types"] = attributes["filterTypes"]
|
|
43
48
|
attrs["metadata"] = attributes["metadata"]
|
|
44
49
|
attrs["rate_limit"] = attributes["rateLimit"]
|
|
50
|
+
attrs["throttle_rate"] = attributes["throttleRate"]
|
|
45
51
|
attrs["uid"] = attributes["uid"]
|
|
46
52
|
attrs["url"] = attributes["url"]
|
|
47
53
|
new(attrs)
|
|
@@ -54,6 +60,7 @@ module Svix
|
|
|
54
60
|
out["filterTypes"] = Svix::serialize_primitive(@filter_types) if @filter_types
|
|
55
61
|
out["metadata"] = Svix::serialize_primitive(@metadata) if @metadata
|
|
56
62
|
out["rateLimit"] = Svix::serialize_primitive(@rate_limit) if @rate_limit
|
|
63
|
+
out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) if @throttle_rate
|
|
57
64
|
out["uid"] = Svix::serialize_primitive(@uid) if @uid
|
|
58
65
|
out["url"] = Svix::serialize_primitive(@url) if @url
|
|
59
66
|
out
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file is @generated
|
|
3
|
+
require "json"
|
|
4
|
+
|
|
5
|
+
module Svix
|
|
6
|
+
class SubscribeIn
|
|
7
|
+
attr_accessor :endpoint
|
|
8
|
+
|
|
9
|
+
ALL_FIELD ||= ["endpoint"].freeze
|
|
10
|
+
private_constant :ALL_FIELD
|
|
11
|
+
|
|
12
|
+
def initialize(attributes = {})
|
|
13
|
+
unless attributes.is_a?(Hash)
|
|
14
|
+
fail(ArgumentError, "The input argument (attributes) must be a hash in `Svix::SubscribeIn` new method")
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
attributes.each do |k, v|
|
|
18
|
+
unless ALL_FIELD.include?(k.to_s)
|
|
19
|
+
fail(ArgumentError, "The field #{k} is not part of Svix::SubscribeIn")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
instance_variable_set("@#{k}", v)
|
|
23
|
+
instance_variable_set("@__#{k}_is_defined", true)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def self.deserialize(attributes = {})
|
|
28
|
+
attributes = attributes.transform_keys(&:to_s)
|
|
29
|
+
attrs = Hash.new
|
|
30
|
+
attrs["endpoint"] = Svix::EndpointIn.deserialize(attributes["endpoint"])
|
|
31
|
+
new(attrs)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def serialize
|
|
35
|
+
out = Hash.new
|
|
36
|
+
out["endpoint"] = Svix::serialize_schema_ref(@endpoint) if @endpoint
|
|
37
|
+
out
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Serializes the object to a json string
|
|
41
|
+
# @return String
|
|
42
|
+
def to_json
|
|
43
|
+
JSON.dump(serialize)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file is @generated
|
|
3
|
+
require "json"
|
|
4
|
+
|
|
5
|
+
module Svix
|
|
6
|
+
class VgsConfig
|
|
7
|
+
attr_accessor :secret
|
|
8
|
+
|
|
9
|
+
ALL_FIELD ||= ["secret"].freeze
|
|
10
|
+
private_constant :ALL_FIELD
|
|
11
|
+
|
|
12
|
+
def initialize(attributes = {})
|
|
13
|
+
unless attributes.is_a?(Hash)
|
|
14
|
+
fail(ArgumentError, "The input argument (attributes) must be a hash in `Svix::VgsConfig` new method")
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
attributes.each do |k, v|
|
|
18
|
+
unless ALL_FIELD.include?(k.to_s)
|
|
19
|
+
fail(ArgumentError, "The field #{k} is not part of Svix::VgsConfig")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
instance_variable_set("@#{k}", v)
|
|
23
|
+
instance_variable_set("@__#{k}_is_defined", true)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def self.deserialize(attributes = {})
|
|
28
|
+
attributes = attributes.transform_keys(&:to_s)
|
|
29
|
+
attrs = Hash.new
|
|
30
|
+
attrs["secret"] = attributes["secret"]
|
|
31
|
+
new(attrs)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def serialize
|
|
35
|
+
out = Hash.new
|
|
36
|
+
out["secret"] = Svix::serialize_primitive(@secret) if @secret
|
|
37
|
+
out
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Serializes the object to a json string
|
|
41
|
+
# @return String
|
|
42
|
+
def to_json
|
|
43
|
+
JSON.dump(serialize)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file is @generated
|
|
3
|
+
require "json"
|
|
4
|
+
|
|
5
|
+
module Svix
|
|
6
|
+
class VgsConfigOut
|
|
7
|
+
|
|
8
|
+
ALL_FIELD ||= [].freeze
|
|
9
|
+
private_constant :ALL_FIELD
|
|
10
|
+
|
|
11
|
+
def initialize(attributes = {})
|
|
12
|
+
unless attributes.is_a?(Hash)
|
|
13
|
+
fail(ArgumentError, "The input argument (attributes) must be a hash in `Svix::VgsConfigOut` new method")
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
attributes.each do |k, v|
|
|
17
|
+
unless ALL_FIELD.include?(k.to_s)
|
|
18
|
+
fail(ArgumentError, "The field #{k} is not part of Svix::VgsConfigOut")
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
instance_variable_set("@#{k}", v)
|
|
22
|
+
instance_variable_set("@__#{k}_is_defined", true)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.deserialize(attributes = {})
|
|
27
|
+
attributes = attributes.transform_keys(&:to_s)
|
|
28
|
+
attrs = Hash.new
|
|
29
|
+
new(attrs)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def serialize
|
|
33
|
+
out = Hash.new
|
|
34
|
+
out
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Serializes the object to a json string
|
|
38
|
+
# @return String
|
|
39
|
+
def to_json
|
|
40
|
+
JSON.dump(serialize)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
data/lib/svix/version.rb
CHANGED
data/lib/svix.rb
CHANGED
|
@@ -246,6 +246,8 @@ require "svix/models/vapi_config"
|
|
|
246
246
|
require "svix/models/vapi_config_out"
|
|
247
247
|
require "svix/models/veriff_config"
|
|
248
248
|
require "svix/models/veriff_config_out"
|
|
249
|
+
require "svix/models/vgs_config"
|
|
250
|
+
require "svix/models/vgs_config_out"
|
|
249
251
|
require "svix/models/zoom_config"
|
|
250
252
|
require "svix/models/zoom_config_out"
|
|
251
253
|
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: svix
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.93.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Svix
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
10
|
+
date: 2026-05-07 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: base64
|
|
@@ -115,6 +115,9 @@ files:
|
|
|
115
115
|
- lib/svix/api/streaming_sink.rb
|
|
116
116
|
- lib/svix/api/streaming_stream.rb
|
|
117
117
|
- lib/svix/api_error.rb
|
|
118
|
+
- lib/svix/api_internal/endpoint.rb
|
|
119
|
+
- lib/svix/api_internal/endpoint_auto_config.rb
|
|
120
|
+
- lib/svix/autoconfig.rb
|
|
118
121
|
- lib/svix/errors.rb
|
|
119
122
|
- lib/svix/http_error_out.rb
|
|
120
123
|
- lib/svix/http_validation_error.rb
|
|
@@ -324,6 +327,7 @@ files:
|
|
|
324
327
|
- lib/svix/models/stream_token_expire_in.rb
|
|
325
328
|
- lib/svix/models/stripe_config.rb
|
|
326
329
|
- lib/svix/models/stripe_config_out.rb
|
|
330
|
+
- lib/svix/models/subscribe_in.rb
|
|
327
331
|
- lib/svix/models/svix_config.rb
|
|
328
332
|
- lib/svix/models/svix_config_out.rb
|
|
329
333
|
- lib/svix/models/telnyx_config.rb
|
|
@@ -332,6 +336,8 @@ files:
|
|
|
332
336
|
- lib/svix/models/vapi_config_out.rb
|
|
333
337
|
- lib/svix/models/veriff_config.rb
|
|
334
338
|
- lib/svix/models/veriff_config_out.rb
|
|
339
|
+
- lib/svix/models/vgs_config.rb
|
|
340
|
+
- lib/svix/models/vgs_config_out.rb
|
|
335
341
|
- lib/svix/models/zoom_config.rb
|
|
336
342
|
- lib/svix/models/zoom_config_out.rb
|
|
337
343
|
- lib/svix/svix.rb
|