svix 1.61.3 → 1.61.4

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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/svix/api/ingest.rb +26 -0
  4. data/lib/svix/api/ingest_source.rb +76 -0
  5. data/lib/svix/models/adobe_sign_config.rb +46 -0
  6. data/lib/svix/models/adobe_sign_config_out.rb +43 -0
  7. data/lib/svix/models/aggregate_event_types_out.rb +2 -2
  8. data/lib/svix/models/app_portal_access_in.rb +1 -1
  9. data/lib/svix/models/app_usage_stats_out.rb +2 -2
  10. data/lib/svix/models/background_task_finished_event.rb +53 -0
  11. data/lib/svix/models/background_task_finished_event2.rb +58 -0
  12. data/lib/svix/models/background_task_out.rb +2 -2
  13. data/lib/svix/models/connector_in.rb +1 -1
  14. data/lib/svix/models/connector_out.rb +96 -0
  15. data/lib/svix/models/cron_config.rb +52 -0
  16. data/lib/svix/models/docusign_config.rb +46 -0
  17. data/lib/svix/models/docusign_config_out.rb +43 -0
  18. data/lib/svix/models/endpoint_created_event.rb +50 -0
  19. data/lib/svix/models/endpoint_created_event_data.rb +59 -0
  20. data/lib/svix/models/endpoint_deleted_event.rb +50 -0
  21. data/lib/svix/models/endpoint_deleted_event_data.rb +59 -0
  22. data/lib/svix/models/endpoint_disabled_event.rb +53 -0
  23. data/lib/svix/models/endpoint_disabled_event_data.rb +65 -0
  24. data/lib/svix/models/endpoint_disabled_trigger.rb +29 -0
  25. data/lib/svix/models/endpoint_enabled_event.rb +50 -0
  26. data/lib/svix/models/endpoint_enabled_event_data.rb +59 -0
  27. data/lib/svix/models/endpoint_message_out.rb +1 -1
  28. data/lib/svix/models/endpoint_updated_event.rb +50 -0
  29. data/lib/svix/models/endpoint_updated_event_data.rb +59 -0
  30. data/lib/svix/models/environment_out.rb +1 -1
  31. data/lib/svix/models/event_type_import_open_api_out.rb +1 -1
  32. data/lib/svix/models/expunge_all_contents_out.rb +2 -2
  33. data/lib/svix/models/github_config.rb +46 -0
  34. data/lib/svix/models/github_config_out.rb +43 -0
  35. data/lib/svix/models/hubspot_config.rb +46 -0
  36. data/lib/svix/models/hubspot_config_out.rb +43 -0
  37. data/lib/svix/models/ingest_source_consumer_portal_access_in.rb +52 -0
  38. data/lib/svix/models/ingest_source_in.rb +209 -0
  39. data/lib/svix/models/ingest_source_out.rb +221 -0
  40. data/lib/svix/models/list_response_ingest_source_out.rb +58 -0
  41. data/lib/svix/models/message_attempt_exhausted_event.rb +53 -0
  42. data/lib/svix/models/message_attempt_exhausted_event_data.rb +65 -0
  43. data/lib/svix/models/message_attempt_failed_data.rb +55 -0
  44. data/lib/svix/models/message_attempt_failing_event.rb +54 -0
  45. data/lib/svix/models/message_attempt_failing_event_data.rb +65 -0
  46. data/lib/svix/models/message_attempt_out.rb +3 -3
  47. data/lib/svix/models/message_attempt_recovered_event.rb +53 -0
  48. data/lib/svix/models/message_attempt_recovered_event_data.rb +65 -0
  49. data/lib/svix/models/message_endpoint_out.rb +1 -1
  50. data/lib/svix/models/message_in.rb +1 -1
  51. data/lib/svix/models/recover_out.rb +2 -2
  52. data/lib/svix/models/replay_out.rb +2 -2
  53. data/lib/svix/models/rotate_token_out.rb +46 -0
  54. data/lib/svix/models/segment_config.rb +46 -0
  55. data/lib/svix/models/segment_config_out.rb +43 -0
  56. data/lib/svix/models/shopify_config.rb +46 -0
  57. data/lib/svix/models/shopify_config_out.rb +43 -0
  58. data/lib/svix/models/slack_config.rb +46 -0
  59. data/lib/svix/models/slack_config_out.rb +43 -0
  60. data/lib/svix/models/stripe_config.rb +46 -0
  61. data/lib/svix/models/stripe_config_out.rb +43 -0
  62. data/lib/svix/models/svix_config.rb +46 -0
  63. data/lib/svix/models/svix_config_out.rb +43 -0
  64. data/lib/svix/models/zoom_config.rb +46 -0
  65. data/lib/svix/models/zoom_config_out.rb +43 -0
  66. data/lib/svix/util.rb +13 -0
  67. data/lib/svix/version.rb +1 -1
  68. data/lib/svix.rb +49 -1
  69. data/templates/component_type.rb.jinja +2 -0
  70. data/templates/types/macros.rb.jinja +43 -0
  71. data/templates/types/struct.rb.jinja +4 -33
  72. data/templates/types/struct_enum.rb.jinja +116 -0
  73. metadata +53 -2
@@ -0,0 +1,116 @@
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
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.61.3
4
+ version: 1.61.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Svix
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-06 00:00:00.000000000 Z
10
+ date: 2025-03-11 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rake
@@ -70,7 +70,9 @@ files:
70
70
  - lib/svix/api/environment.rb
71
71
  - lib/svix/api/event_type.rb
72
72
  - lib/svix/api/health.rb
73
+ - lib/svix/api/ingest.rb
73
74
  - lib/svix/api/ingest_endpoint.rb
75
+ - lib/svix/api/ingest_source.rb
74
76
  - lib/svix/api/integration.rb
75
77
  - lib/svix/api/message.rb
76
78
  - lib/svix/api/message_attempt.rb
@@ -81,6 +83,8 @@ files:
81
83
  - lib/svix/http_error_out.rb
82
84
  - lib/svix/http_validation_error.rb
83
85
  - lib/svix/internal.rb
86
+ - lib/svix/models/adobe_sign_config.rb
87
+ - lib/svix/models/adobe_sign_config_out.rb
84
88
  - lib/svix/models/aggregate_event_types_out.rb
85
89
  - lib/svix/models/app_portal_access_in.rb
86
90
  - lib/svix/models/app_portal_access_out.rb
@@ -90,12 +94,27 @@ files:
90
94
  - lib/svix/models/application_out.rb
91
95
  - lib/svix/models/application_patch.rb
92
96
  - lib/svix/models/application_token_expire_in.rb
97
+ - lib/svix/models/background_task_finished_event.rb
98
+ - lib/svix/models/background_task_finished_event2.rb
93
99
  - lib/svix/models/background_task_out.rb
94
100
  - lib/svix/models/background_task_status.rb
95
101
  - lib/svix/models/background_task_type.rb
96
102
  - lib/svix/models/connector_in.rb
97
103
  - lib/svix/models/connector_kind.rb
104
+ - lib/svix/models/connector_out.rb
105
+ - lib/svix/models/cron_config.rb
98
106
  - lib/svix/models/dashboard_access_out.rb
107
+ - lib/svix/models/docusign_config.rb
108
+ - lib/svix/models/docusign_config_out.rb
109
+ - lib/svix/models/endpoint_created_event.rb
110
+ - lib/svix/models/endpoint_created_event_data.rb
111
+ - lib/svix/models/endpoint_deleted_event.rb
112
+ - lib/svix/models/endpoint_deleted_event_data.rb
113
+ - lib/svix/models/endpoint_disabled_event.rb
114
+ - lib/svix/models/endpoint_disabled_event_data.rb
115
+ - lib/svix/models/endpoint_disabled_trigger.rb
116
+ - lib/svix/models/endpoint_enabled_event.rb
117
+ - lib/svix/models/endpoint_enabled_event_data.rb
99
118
  - lib/svix/models/endpoint_headers_in.rb
100
119
  - lib/svix/models/endpoint_headers_out.rb
101
120
  - lib/svix/models/endpoint_headers_patch_in.rb
@@ -109,6 +128,8 @@ files:
109
128
  - lib/svix/models/endpoint_transformation_in.rb
110
129
  - lib/svix/models/endpoint_transformation_out.rb
111
130
  - lib/svix/models/endpoint_update.rb
131
+ - lib/svix/models/endpoint_updated_event.rb
132
+ - lib/svix/models/endpoint_updated_event_data.rb
112
133
  - lib/svix/models/environment_in.rb
113
134
  - lib/svix/models/environment_out.rb
114
135
  - lib/svix/models/event_example_in.rb
@@ -122,6 +143,10 @@ files:
122
143
  - lib/svix/models/event_type_update.rb
123
144
  - lib/svix/models/expung_all_contents_out.rb
124
145
  - lib/svix/models/expunge_all_contents_out.rb
146
+ - lib/svix/models/github_config.rb
147
+ - lib/svix/models/github_config_out.rb
148
+ - lib/svix/models/hubspot_config.rb
149
+ - lib/svix/models/hubspot_config_out.rb
125
150
  - lib/svix/models/ingest_endpoint_headers_in.rb
126
151
  - lib/svix/models/ingest_endpoint_headers_out.rb
127
152
  - lib/svix/models/ingest_endpoint_in.rb
@@ -129,6 +154,9 @@ files:
129
154
  - lib/svix/models/ingest_endpoint_secret_in.rb
130
155
  - lib/svix/models/ingest_endpoint_secret_out.rb
131
156
  - lib/svix/models/ingest_endpoint_update.rb
157
+ - lib/svix/models/ingest_source_consumer_portal_access_in.rb
158
+ - lib/svix/models/ingest_source_in.rb
159
+ - lib/svix/models/ingest_source_out.rb
132
160
  - lib/svix/models/integration_in.rb
133
161
  - lib/svix/models/integration_key_out.rb
134
162
  - lib/svix/models/integration_out.rb
@@ -139,12 +167,20 @@ files:
139
167
  - lib/svix/models/list_response_endpoint_out.rb
140
168
  - lib/svix/models/list_response_event_type_out.rb
141
169
  - lib/svix/models/list_response_ingest_endpoint_out.rb
170
+ - lib/svix/models/list_response_ingest_source_out.rb
142
171
  - lib/svix/models/list_response_integration_out.rb
143
172
  - lib/svix/models/list_response_message_attempt_out.rb
144
173
  - lib/svix/models/list_response_message_endpoint_out.rb
145
174
  - lib/svix/models/list_response_message_out.rb
146
175
  - lib/svix/models/list_response_operational_webhook_endpoint_out.rb
176
+ - lib/svix/models/message_attempt_exhausted_event.rb
177
+ - lib/svix/models/message_attempt_exhausted_event_data.rb
178
+ - lib/svix/models/message_attempt_failed_data.rb
179
+ - lib/svix/models/message_attempt_failing_event.rb
180
+ - lib/svix/models/message_attempt_failing_event_data.rb
147
181
  - lib/svix/models/message_attempt_out.rb
182
+ - lib/svix/models/message_attempt_recovered_event.rb
183
+ - lib/svix/models/message_attempt_recovered_event_data.rb
148
184
  - lib/svix/models/message_attempt_trigger_type.rb
149
185
  - lib/svix/models/message_endpoint_out.rb
150
186
  - lib/svix/models/message_in.rb
@@ -162,8 +198,21 @@ files:
162
198
  - lib/svix/models/recover_out.rb
163
199
  - lib/svix/models/replay_in.rb
164
200
  - lib/svix/models/replay_out.rb
201
+ - lib/svix/models/rotate_token_out.rb
202
+ - lib/svix/models/segment_config.rb
203
+ - lib/svix/models/segment_config_out.rb
204
+ - lib/svix/models/shopify_config.rb
205
+ - lib/svix/models/shopify_config_out.rb
206
+ - lib/svix/models/slack_config.rb
207
+ - lib/svix/models/slack_config_out.rb
165
208
  - lib/svix/models/status_code_class.rb
209
+ - lib/svix/models/stripe_config.rb
210
+ - lib/svix/models/stripe_config_out.rb
211
+ - lib/svix/models/svix_config.rb
212
+ - lib/svix/models/svix_config_out.rb
166
213
  - lib/svix/models/template_out.rb
214
+ - lib/svix/models/zoom_config.rb
215
+ - lib/svix/models/zoom_config_out.rb
167
216
  - lib/svix/svix.rb
168
217
  - lib/svix/svix_http_client.rb
169
218
  - lib/svix/util.rb
@@ -177,8 +226,10 @@ files:
177
226
  - templates/component_type.rb.jinja
178
227
  - templates/summary.rb.jinja
179
228
  - templates/types/integer_enum.rb.jinja
229
+ - templates/types/macros.rb.jinja
180
230
  - templates/types/string_enum.rb.jinja
181
231
  - templates/types/struct.rb.jinja
232
+ - templates/types/struct_enum.rb.jinja
182
233
  homepage: https://www.svix.com
183
234
  licenses:
184
235
  - MIT