svix 1.64.1 → 1.65.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/ingest_endpoint.rb +18 -18
- data/lib/svix/api/message_poller.rb +1 -3
- data/lib/svix/models/aggregate_event_types_out.rb +1 -0
- data/lib/svix/models/api_token_censored_out.rb +1 -0
- data/lib/svix/models/api_token_expire_in.rb +1 -0
- data/lib/svix/models/api_token_out.rb +1 -0
- data/lib/svix/models/app_portal_access_in.rb +8 -0
- data/lib/svix/models/app_usage_stats_in.rb +3 -0
- data/lib/svix/models/app_usage_stats_out.rb +4 -0
- data/lib/svix/models/application_in.rb +1 -0
- data/lib/svix/models/application_out.rb +2 -0
- data/lib/svix/models/application_patch.rb +1 -0
- data/lib/svix/models/application_token_expire_in.rb +1 -0
- data/lib/svix/models/background_task_finished_event2.rb +1 -0
- data/lib/svix/models/background_task_out.rb +1 -0
- data/lib/svix/models/connector_out.rb +2 -0
- data/lib/svix/models/cron_config.rb +3 -0
- data/lib/svix/models/endpoint_created_event_data.rb +4 -0
- data/lib/svix/models/endpoint_deleted_event_data.rb +4 -0
- data/lib/svix/models/endpoint_disabled_event_data.rb +4 -0
- data/lib/svix/models/endpoint_enabled_event_data.rb +4 -0
- data/lib/svix/models/endpoint_in.rb +6 -0
- data/lib/svix/models/endpoint_message_out.rb +4 -0
- data/lib/svix/models/endpoint_out.rb +4 -0
- data/lib/svix/models/endpoint_patch.rb +5 -0
- data/lib/svix/models/endpoint_secret_out.rb +4 -0
- data/lib/svix/models/endpoint_secret_rotate_in.rb +4 -0
- data/lib/svix/models/endpoint_update.rb +2 -0
- data/lib/svix/models/endpoint_updated_event_data.rb +4 -0
- data/lib/svix/models/event_example_in.rb +4 -0
- data/lib/svix/models/event_type_from_open_api.rb +2 -0
- data/lib/svix/models/event_type_import_open_api_in.rb +4 -0
- data/lib/svix/models/event_type_in.rb +3 -0
- data/lib/svix/models/event_type_out.rb +3 -0
- data/lib/svix/models/event_type_patch.rb +1 -0
- data/lib/svix/models/event_type_update.rb +2 -0
- data/lib/svix/models/expunge_all_contents_out.rb +1 -0
- data/lib/svix/models/ingest_endpoint_in.rb +5 -0
- data/lib/svix/models/ingest_endpoint_out.rb +3 -0
- data/lib/svix/models/ingest_endpoint_secret_in.rb +4 -0
- data/lib/svix/models/ingest_endpoint_secret_out.rb +4 -0
- data/lib/svix/models/ingest_endpoint_update.rb +1 -0
- data/lib/svix/models/ingest_source_consumer_portal_access_in.rb +4 -0
- data/lib/svix/models/ingest_source_in.rb +1 -0
- data/lib/svix/models/ingest_source_out.rb +2 -0
- data/lib/svix/models/integration_in.rb +1 -0
- data/lib/svix/models/integration_out.rb +2 -0
- data/lib/svix/models/integration_update.rb +1 -0
- data/lib/svix/models/message_attempt_exhausted_event_data.rb +5 -0
- data/lib/svix/models/message_attempt_failed_data.rb +1 -0
- data/lib/svix/models/message_attempt_failing_event_data.rb +5 -0
- data/lib/svix/models/message_attempt_out.rb +4 -0
- data/lib/svix/models/message_attempt_recovered_event_data.rb +5 -0
- data/lib/svix/models/message_endpoint_out.rb +4 -0
- data/lib/svix/models/message_in.rb +13 -0
- data/lib/svix/models/message_out.rb +4 -0
- data/lib/svix/models/operational_webhook_endpoint_in.rb +5 -0
- data/lib/svix/models/operational_webhook_endpoint_out.rb +3 -0
- data/lib/svix/models/operational_webhook_endpoint_secret_in.rb +4 -0
- data/lib/svix/models/operational_webhook_endpoint_secret_out.rb +4 -0
- data/lib/svix/models/operational_webhook_endpoint_update.rb +1 -0
- data/lib/svix/models/polling_endpoint_message_out.rb +4 -0
- data/lib/svix/models/recover_out.rb +1 -0
- data/lib/svix/models/replay_out.rb +1 -0
- data/lib/svix/svix.rb +4 -0
- data/lib/svix/version.rb +1 -1
- metadata +2 -15
- data/lib/svix/api/events_public.rb +0 -41
- data/lib/svix/models/template_out.rb +0 -96
- data/templates/api_extra/application_create.rb +0 -16
- data/templates/api_extra/authentication_expire_all.rb +0 -11
- data/templates/api_extra/message.rb +0 -26
- data/templates/api_resource.rb.jinja +0 -78
- data/templates/component_type.rb.jinja +0 -9
- data/templates/summary.rb.jinja +0 -39
- data/templates/types/integer_enum.rb.jinja +0 -37
- data/templates/types/macros.rb.jinja +0 -43
- data/templates/types/string_enum.rb.jinja +0 -37
- data/templates/types/struct.rb.jinja +0 -58
- data/templates/types/struct_enum.rb.jinja +0 -116
data/templates/summary.rb.jinja
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# This file is @generated
|
3
|
-
|
4
|
-
require "json"
|
5
|
-
require "openssl"
|
6
|
-
require "base64"
|
7
|
-
require "uri"
|
8
|
-
require "logger"
|
9
|
-
|
10
|
-
{% macro require_api(resource) -%}
|
11
|
-
require "svix/api/{{ resource.name | to_snake_case }}"
|
12
|
-
{% endmacro -%}
|
13
|
-
|
14
|
-
|
15
|
-
# API
|
16
|
-
{% for resource in api.resources -%}
|
17
|
-
{{ require_api(resource) -}}
|
18
|
-
{% for _resource_name, resource in resource.subresources | items -%}
|
19
|
-
{{ require_api(resource) -}}
|
20
|
-
{% endfor -%}
|
21
|
-
{% endfor -%}
|
22
|
-
|
23
|
-
# Models
|
24
|
-
{% for type in types -%}
|
25
|
-
require "svix/models/{{ type | to_snake_case }}"
|
26
|
-
{% endfor -%}
|
27
|
-
|
28
|
-
# Core
|
29
|
-
require "svix/api_error"
|
30
|
-
require "svix/errors"
|
31
|
-
require "svix/svix"
|
32
|
-
require "svix/util"
|
33
|
-
require "svix/version"
|
34
|
-
require "svix/webhook"
|
35
|
-
require "svix/http_error_out"
|
36
|
-
require "svix/http_validation_error"
|
37
|
-
require "svix/validation_error"
|
38
|
-
require "svix/svix_http_client.rb"
|
39
|
-
require "svix/internal"
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# This file is @generated
|
3
|
-
{% set class_ty = type.name | to_upper_camel_case -%}
|
4
|
-
|
5
|
-
module Svix
|
6
|
-
{% if type.description is defined -%}
|
7
|
-
{{ type.description | to_doc_comment(style="ruby") | indent(4) }}
|
8
|
-
{% endif -%}
|
9
|
-
class {{ class_ty }}
|
10
|
-
{% for name, value in type.variants -%}
|
11
|
-
{{ name | to_upper_snake_case }} = {{ value }}.freeze
|
12
|
-
{% endfor %}
|
13
|
-
def self.all_vars
|
14
|
-
@all_vars ||= [
|
15
|
-
{%- for name, value in type.variants -%}
|
16
|
-
{{ name | to_upper_snake_case }},
|
17
|
-
{%- endfor -%}
|
18
|
-
].freeze
|
19
|
-
end
|
20
|
-
|
21
|
-
def initialize(value)
|
22
|
-
unless {{ class_ty }}.all_vars.include?(value)
|
23
|
-
raise "Invalid ENUM value '#{value}' for class #{{ class_ty }}"
|
24
|
-
end
|
25
|
-
@value = value
|
26
|
-
end
|
27
|
-
|
28
|
-
def self.deserialize(value)
|
29
|
-
return value if {{ class_ty }}.all_vars.include?(value)
|
30
|
-
raise "Invalid ENUM value '#{value}' for class #{{ class_ty }}"
|
31
|
-
end
|
32
|
-
|
33
|
-
def serialize
|
34
|
-
@value
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
{% macro deserialize_field(field) -%}
|
2
|
-
{% set val_expr %}attributes['{{ field.name }}']{% endset -%}
|
3
|
-
{% set not_nil_check = "" -%}
|
4
|
-
{% if not field.required -%}
|
5
|
-
{% set not_nil_check %}if {{ val_expr }}{% endset -%}
|
6
|
-
{% endif -%}
|
7
|
-
|
8
|
-
{% if (field.type.is_set() or field.type.is_list()) and field.type.inner_type().is_schema_ref() -%}
|
9
|
-
{% set val_expr -%}
|
10
|
-
attributes['{{ field.name }}'].map { | v | Svix::{{ field.type.inner_type().to_ruby() }}.deserialize v } {{ not_nil_check }}
|
11
|
-
{%- endset -%}
|
12
|
-
{% elif field.type.is_schema_ref() -%}
|
13
|
-
{# TODO(10055): the schema called "Data" does not exist -#}
|
14
|
-
{% if field.type.to_ruby() != "Data" -%}
|
15
|
-
{% set val_expr -%}
|
16
|
-
Svix::{{ field.type.to_ruby() }}.deserialize(attributes['{{ field.name }}']) {{ not_nil_check }}
|
17
|
-
{%- endset -%}
|
18
|
-
{% endif -%}
|
19
|
-
{% elif field.type.is_datetime() -%}
|
20
|
-
{% set val_expr %}DateTime.rfc3339({{ val_expr }}).to_time {{ not_nil_check }}{% endset -%}
|
21
|
-
{% endif -%}
|
22
|
-
attrs['{{ field.name | to_snake_case }}'] = {{ val_expr }}
|
23
|
-
{% endmacro -%}
|
24
|
-
|
25
|
-
{% macro serialize_field(field) -%}
|
26
|
-
{% set val_expr %}@{{ field.name | to_snake_case }}{% endset -%}
|
27
|
-
|
28
|
-
{% if (field.type.is_set() or field.type.is_list()) and field.type.inner_type().is_schema_ref() -%}
|
29
|
-
{% set val_expr %}{{ val_expr }}.map { | v | v.serialize }{% endset -%}
|
30
|
-
{% elif field.type.is_schema_ref() -%}
|
31
|
-
{# TODO(10055): the schema called "Data" does not exist -#}
|
32
|
-
{% if field.type.to_ruby() != "Data" -%}
|
33
|
-
{% set val_expr %}Svix::serialize_schema_ref({{ val_expr }}){% endset -%}
|
34
|
-
{% endif -%}
|
35
|
-
{% else -%}
|
36
|
-
{% set val_expr %}Svix::serialize_primitive({{ val_expr }}){% endset -%}
|
37
|
-
{% endif -%}
|
38
|
-
{% if type.name is endingwith "Patch" and field.nullable -%}
|
39
|
-
out['{{ field.name }}'] = {{ val_expr }} if @__{{ field.name | to_snake_case }}_is_defined
|
40
|
-
{% else -%}
|
41
|
-
out['{{ field.name }}'] = {{ val_expr }} if @{{ field.name | to_snake_case }}
|
42
|
-
{% endif -%}
|
43
|
-
{% endmacro -%}
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
# This file is @generated
|
3
|
-
{% set class_ty = type.name | to_upper_camel_case -%}
|
4
|
-
|
5
|
-
module Svix
|
6
|
-
{% if type.description is defined -%}
|
7
|
-
{{ type.description | to_doc_comment(style="ruby") | indent(4) }}
|
8
|
-
{% endif -%}
|
9
|
-
class {{ class_ty }}
|
10
|
-
{% for value in type.values -%}
|
11
|
-
{{ value | to_upper_snake_case }} = "{{ value }}".freeze
|
12
|
-
{% endfor %}
|
13
|
-
def self.all_vars
|
14
|
-
@all_vars ||= [
|
15
|
-
{%- for value in type.values -%}
|
16
|
-
{{ value | to_upper_snake_case }},
|
17
|
-
{%- endfor -%}
|
18
|
-
].freeze
|
19
|
-
end
|
20
|
-
|
21
|
-
def initialize(value)
|
22
|
-
unless {{ class_ty }}.all_vars.include?(value)
|
23
|
-
raise "Invalid ENUM value '#{value}' for class #{{ class_ty }}"
|
24
|
-
end
|
25
|
-
@value = value
|
26
|
-
end
|
27
|
-
|
28
|
-
def self.deserialize(value)
|
29
|
-
return value if {{ class_ty }}.all_vars.include?(value)
|
30
|
-
raise "Invalid ENUM value '#{value}' for class #{{ class_ty }}"
|
31
|
-
end
|
32
|
-
|
33
|
-
def serialize
|
34
|
-
@value
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,58 +0,0 @@
|
|
1
|
-
{% from "types/macros.rb.jinja" import deserialize_field, serialize_field -%}
|
2
|
-
{% set class_ty = type.name | to_upper_camel_case -%}
|
3
|
-
# frozen_string_literal: true
|
4
|
-
# This file is @generated
|
5
|
-
require 'json'
|
6
|
-
|
7
|
-
module Svix
|
8
|
-
{% if type.description is defined -%}
|
9
|
-
{{ type.description | to_doc_comment(style="ruby") | indent(4) }}
|
10
|
-
{% endif -%}
|
11
|
-
class {{ class_ty }}
|
12
|
-
{% for field in type.fields -%}
|
13
|
-
attr_accessor :{{ field.name | to_snake_case }}
|
14
|
-
{% endfor %}
|
15
|
-
ALL_FIELD ||= [
|
16
|
-
{%- for f in type.fields -%}
|
17
|
-
"{{ f.name | to_snake_case }}"{% if not loop.last %},{% endif %}
|
18
|
-
{%- endfor -%}
|
19
|
-
].freeze
|
20
|
-
private_constant :ALL_FIELD
|
21
|
-
|
22
|
-
def initialize(attributes = {})
|
23
|
-
unless attributes.is_a?(Hash)
|
24
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `Svix::{{ class_ty }}` new method"
|
25
|
-
end
|
26
|
-
attributes.each do |k, v|
|
27
|
-
unless ALL_FIELD.include? k.to_s
|
28
|
-
fail ArgumentError, "The field #{k} is not part of Svix::{{ class_ty }}"
|
29
|
-
end
|
30
|
-
instance_variable_set("@#{k}", v)
|
31
|
-
instance_variable_set("@__#{k}_is_defined", true)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def self.deserialize(attributes = {})
|
36
|
-
attributes = attributes.transform_keys(&:to_s)
|
37
|
-
attrs = Hash.new
|
38
|
-
{% for field in type.fields -%}
|
39
|
-
{{ deserialize_field(field) -}}
|
40
|
-
{% endfor -%}
|
41
|
-
new attrs
|
42
|
-
end
|
43
|
-
|
44
|
-
def serialize
|
45
|
-
out = Hash.new
|
46
|
-
{% for field in type.fields -%}
|
47
|
-
{{ serialize_field(field) -}}
|
48
|
-
{% endfor -%}
|
49
|
-
out
|
50
|
-
end
|
51
|
-
|
52
|
-
# Serializes the object to a json string
|
53
|
-
# @return String
|
54
|
-
def to_json
|
55
|
-
JSON.dump(serialize)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
@@ -1,116 +0,0 @@
|
|
1
|
-
{% from "types/macros.rb.jinja" import deserialize_field, serialize_field -%}
|
2
|
-
{% set class_ty = type.name | to_upper_camel_case -%}
|
3
|
-
{% set enum_type_name %}{{ class_ty }}{{ type.content_field | to_upper_camel_case }}{% endset-%}
|
4
|
-
# frozen_string_literal: true
|
5
|
-
# This file is @generated
|
6
|
-
require 'json'
|
7
|
-
|
8
|
-
{% for r in referenced_components -%}
|
9
|
-
require_relative "./{{ r | to_snake_case }}"
|
10
|
-
{% endfor %}
|
11
|
-
|
12
|
-
module Svix
|
13
|
-
class {{ enum_type_name }}
|
14
|
-
{% for v in type.variants -%}
|
15
|
-
class {{ v.name | to_upper_camel_case }} {%- if v.schema_ref is defined -%}< {{ v.schema_ref | to_upper_camel_case}}{%- endif %}
|
16
|
-
{% if not v.schema_ref is defined %}
|
17
|
-
def serialize
|
18
|
-
Hash.new
|
19
|
-
end
|
20
|
-
def self.deserialize(attributes = {})
|
21
|
-
new()
|
22
|
-
end
|
23
|
-
# Serializes the object to a json string
|
24
|
-
# @return String
|
25
|
-
def to_json
|
26
|
-
JSON.dump(serialize)
|
27
|
-
end
|
28
|
-
{% endif -%}
|
29
|
-
end
|
30
|
-
{% endfor -%}
|
31
|
-
end
|
32
|
-
|
33
|
-
{% if type.description is defined -%}
|
34
|
-
{{ type.description | to_doc_comment(style="ruby") | indent(4) }}
|
35
|
-
{% endif -%}
|
36
|
-
class {{ class_ty }}
|
37
|
-
{% for field in type.fields -%}
|
38
|
-
attr_accessor :{{ field.name | to_snake_case }}
|
39
|
-
{% endfor -%}
|
40
|
-
attr_accessor :{{ type.content_field | to_snake_case }}
|
41
|
-
|
42
|
-
ALL_FIELD ||= [
|
43
|
-
{%- for f in type.fields -%}
|
44
|
-
"{{ f.name | to_snake_case }}",
|
45
|
-
{%- endfor -%}
|
46
|
-
"{{ type.content_field | to_snake_case }}"
|
47
|
-
].freeze
|
48
|
-
private_constant :ALL_FIELD
|
49
|
-
TYPE_TO_NAME = {
|
50
|
-
{% for v in type.variants -%}
|
51
|
-
{{ enum_type_name }}::{{ v.name | to_upper_camel_case }} => "{{ v.name }}",
|
52
|
-
{% endfor %}
|
53
|
-
}
|
54
|
-
private_constant :TYPE_TO_NAME
|
55
|
-
NAME_TO_TYPE = TYPE_TO_NAME.invert
|
56
|
-
private_constant :NAME_TO_TYPE
|
57
|
-
|
58
|
-
def initialize(attributes = {})
|
59
|
-
unless attributes.is_a?(Hash)
|
60
|
-
fail(
|
61
|
-
ArgumentError,
|
62
|
-
"The input argument (attributes) must be a hash in `Svix::{{ class_ty }}` new method"
|
63
|
-
)
|
64
|
-
end
|
65
|
-
attributes.each do |k, v|
|
66
|
-
unless ALL_FIELD.include?(k.to_s)
|
67
|
-
fail(ArgumentError, "The field #{k} is not part of Svix::{{ class_ty }}")
|
68
|
-
end
|
69
|
-
if k == "{{type.content_field | to_snake_case }}"
|
70
|
-
unless TYPE_TO_NAME.key?(v.class)
|
71
|
-
fail(ArgumentError, "The field #{k} can't be a `#{v.class}` expected one of #{TYPE_TO_NAME.keys}")
|
72
|
-
end
|
73
|
-
instance_variable_set("@__enum_discriminator", TYPE_TO_NAME[v.class])
|
74
|
-
end
|
75
|
-
instance_variable_set("@#{k}", v)
|
76
|
-
instance_variable_set("@__#{k}_is_defined", true)
|
77
|
-
end
|
78
|
-
if @__enum_discriminator.nil?
|
79
|
-
fail(ArgumentError, "Required {{ type.content_field | to_snake_case }} field was not set")
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
def self.deserialize(attributes = {})
|
84
|
-
attributes = attributes.transform_keys(&:to_s)
|
85
|
-
attrs = Hash.new
|
86
|
-
{% for f in type.fields -%}
|
87
|
-
{{ deserialize_field(f) -}}
|
88
|
-
{% endfor -%}
|
89
|
-
unless NAME_TO_TYPE.key?(attributes["{{ type.discriminator_field }}"])
|
90
|
-
fail(ArgumentError, "Invalid {{ type.discriminator_field | to_snake_case }} `#{attributes["{{ type.discriminator_field }}"]}` expected on of #{NAME_TO_TYPE.keys}")
|
91
|
-
end
|
92
|
-
unless attributes.key? "{{ type.content_field }}"
|
93
|
-
fail(ArgumentError, "Missing required field {{ type.content_field }}")
|
94
|
-
end
|
95
|
-
attrs["{{ type.content_field }}"] = NAME_TO_TYPE[attributes["{{ type.discriminator_field }}"]].deserialize(attributes["{{ type.content_field }}"])
|
96
|
-
new(attrs)
|
97
|
-
end
|
98
|
-
|
99
|
-
def serialize
|
100
|
-
out = Hash.new
|
101
|
-
{% for f in type.fields -%}
|
102
|
-
{{ serialize_field(f) -}}
|
103
|
-
{% endfor -%}
|
104
|
-
out["{{ type.discriminator_field }}"] = @__enum_discriminator
|
105
|
-
out["{{ type.content_field }}"] = @{{ type.content_field | to_snake_case }}.serialize
|
106
|
-
out
|
107
|
-
end
|
108
|
-
|
109
|
-
# Serializes the object to a json string
|
110
|
-
# @return String
|
111
|
-
def to_json
|
112
|
-
JSON.dump(serialize)
|
113
|
-
end
|
114
|
-
|
115
|
-
end
|
116
|
-
end
|