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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/svix/api/ingest_endpoint.rb +18 -18
  4. data/lib/svix/api/message_poller.rb +1 -3
  5. data/lib/svix/models/aggregate_event_types_out.rb +1 -0
  6. data/lib/svix/models/api_token_censored_out.rb +1 -0
  7. data/lib/svix/models/api_token_expire_in.rb +1 -0
  8. data/lib/svix/models/api_token_out.rb +1 -0
  9. data/lib/svix/models/app_portal_access_in.rb +8 -0
  10. data/lib/svix/models/app_usage_stats_in.rb +3 -0
  11. data/lib/svix/models/app_usage_stats_out.rb +4 -0
  12. data/lib/svix/models/application_in.rb +1 -0
  13. data/lib/svix/models/application_out.rb +2 -0
  14. data/lib/svix/models/application_patch.rb +1 -0
  15. data/lib/svix/models/application_token_expire_in.rb +1 -0
  16. data/lib/svix/models/background_task_finished_event2.rb +1 -0
  17. data/lib/svix/models/background_task_out.rb +1 -0
  18. data/lib/svix/models/connector_out.rb +2 -0
  19. data/lib/svix/models/cron_config.rb +3 -0
  20. data/lib/svix/models/endpoint_created_event_data.rb +4 -0
  21. data/lib/svix/models/endpoint_deleted_event_data.rb +4 -0
  22. data/lib/svix/models/endpoint_disabled_event_data.rb +4 -0
  23. data/lib/svix/models/endpoint_enabled_event_data.rb +4 -0
  24. data/lib/svix/models/endpoint_in.rb +6 -0
  25. data/lib/svix/models/endpoint_message_out.rb +4 -0
  26. data/lib/svix/models/endpoint_out.rb +4 -0
  27. data/lib/svix/models/endpoint_patch.rb +5 -0
  28. data/lib/svix/models/endpoint_secret_out.rb +4 -0
  29. data/lib/svix/models/endpoint_secret_rotate_in.rb +4 -0
  30. data/lib/svix/models/endpoint_update.rb +2 -0
  31. data/lib/svix/models/endpoint_updated_event_data.rb +4 -0
  32. data/lib/svix/models/event_example_in.rb +4 -0
  33. data/lib/svix/models/event_type_from_open_api.rb +2 -0
  34. data/lib/svix/models/event_type_import_open_api_in.rb +4 -0
  35. data/lib/svix/models/event_type_in.rb +3 -0
  36. data/lib/svix/models/event_type_out.rb +3 -0
  37. data/lib/svix/models/event_type_patch.rb +1 -0
  38. data/lib/svix/models/event_type_update.rb +2 -0
  39. data/lib/svix/models/expunge_all_contents_out.rb +1 -0
  40. data/lib/svix/models/ingest_endpoint_in.rb +5 -0
  41. data/lib/svix/models/ingest_endpoint_out.rb +3 -0
  42. data/lib/svix/models/ingest_endpoint_secret_in.rb +4 -0
  43. data/lib/svix/models/ingest_endpoint_secret_out.rb +4 -0
  44. data/lib/svix/models/ingest_endpoint_update.rb +1 -0
  45. data/lib/svix/models/ingest_source_consumer_portal_access_in.rb +4 -0
  46. data/lib/svix/models/ingest_source_in.rb +1 -0
  47. data/lib/svix/models/ingest_source_out.rb +2 -0
  48. data/lib/svix/models/integration_in.rb +1 -0
  49. data/lib/svix/models/integration_out.rb +2 -0
  50. data/lib/svix/models/integration_update.rb +1 -0
  51. data/lib/svix/models/message_attempt_exhausted_event_data.rb +5 -0
  52. data/lib/svix/models/message_attempt_failed_data.rb +1 -0
  53. data/lib/svix/models/message_attempt_failing_event_data.rb +5 -0
  54. data/lib/svix/models/message_attempt_out.rb +4 -0
  55. data/lib/svix/models/message_attempt_recovered_event_data.rb +5 -0
  56. data/lib/svix/models/message_endpoint_out.rb +4 -0
  57. data/lib/svix/models/message_in.rb +13 -0
  58. data/lib/svix/models/message_out.rb +4 -0
  59. data/lib/svix/models/operational_webhook_endpoint_in.rb +5 -0
  60. data/lib/svix/models/operational_webhook_endpoint_out.rb +3 -0
  61. data/lib/svix/models/operational_webhook_endpoint_secret_in.rb +4 -0
  62. data/lib/svix/models/operational_webhook_endpoint_secret_out.rb +4 -0
  63. data/lib/svix/models/operational_webhook_endpoint_update.rb +1 -0
  64. data/lib/svix/models/polling_endpoint_message_out.rb +4 -0
  65. data/lib/svix/models/recover_out.rb +1 -0
  66. data/lib/svix/models/replay_out.rb +1 -0
  67. data/lib/svix/svix.rb +4 -0
  68. data/lib/svix/version.rb +1 -1
  69. metadata +2 -15
  70. data/lib/svix/api/events_public.rb +0 -41
  71. data/lib/svix/models/template_out.rb +0 -96
  72. data/templates/api_extra/application_create.rb +0 -16
  73. data/templates/api_extra/authentication_expire_all.rb +0 -11
  74. data/templates/api_extra/message.rb +0 -26
  75. data/templates/api_resource.rb.jinja +0 -78
  76. data/templates/component_type.rb.jinja +0 -9
  77. data/templates/summary.rb.jinja +0 -39
  78. data/templates/types/integer_enum.rb.jinja +0 -37
  79. data/templates/types/macros.rb.jinja +0 -43
  80. data/templates/types/string_enum.rb.jinja +0 -37
  81. data/templates/types/struct.rb.jinja +0 -58
  82. data/templates/types/struct_enum.rb.jinja +0 -116
@@ -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