svix 1.60.1 → 1.61.1

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 (297) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +5 -1
  3. data/Gemfile.lock +35 -21
  4. data/README.md +0 -7
  5. data/lib/svix/api/application.rb +90 -0
  6. data/lib/svix/api/authentication.rb +61 -0
  7. data/lib/svix/api/background_task.rb +37 -0
  8. data/lib/svix/api/endpoint.rb +185 -0
  9. data/lib/svix/api/environment.rb +37 -0
  10. data/lib/svix/api/event_type.rb +92 -0
  11. data/lib/svix/api/health.rb +20 -0
  12. data/lib/svix/api/ingest_endpoint.rb +100 -0
  13. data/lib/svix/api/integration.rb +84 -0
  14. data/lib/svix/api/message.rb +107 -0
  15. data/lib/svix/api/message_attempt.rb +116 -0
  16. data/lib/svix/api/operational_webhook_endpoint.rb +100 -0
  17. data/lib/svix/api/statistics.rb +34 -0
  18. data/lib/svix/api_error.rb +7 -17
  19. data/lib/svix/errors.rb +9 -9
  20. data/lib/svix/http_error_out.rb +18 -0
  21. data/lib/svix/http_validation_error.rb +18 -0
  22. data/lib/svix/internal.rb +0 -9
  23. data/lib/svix/models/aggregate_event_types_out.rb +32 -292
  24. data/lib/svix/models/app_portal_access_in.rb +31 -278
  25. data/lib/svix/models/app_portal_access_out.rb +27 -243
  26. data/lib/svix/models/app_usage_stats_in.rb +30 -234
  27. data/lib/svix/models/app_usage_stats_out.rb +31 -320
  28. data/lib/svix/models/application_in.rb +31 -298
  29. data/lib/svix/models/application_out.rb +37 -371
  30. data/lib/svix/models/application_patch.rb +31 -272
  31. data/lib/svix/models/application_token_expire_in.rb +28 -219
  32. data/lib/svix/models/background_task_out.rb +31 -307
  33. data/lib/svix/models/background_task_status.rb +14 -25
  34. data/lib/svix/models/background_task_type.rb +23 -26
  35. data/lib/svix/models/connector_in.rb +58 -385
  36. data/lib/svix/models/connector_kind.rb +28 -26
  37. data/lib/svix/models/dashboard_access_out.rb +27 -243
  38. data/lib/svix/models/endpoint_headers_in.rb +25 -202
  39. data/lib/svix/models/endpoint_headers_out.rb +30 -230
  40. data/lib/svix/models/endpoint_headers_patch_in.rb +28 -202
  41. data/lib/svix/models/endpoint_in.rb +65 -449
  42. data/lib/svix/models/endpoint_message_out.rb +48 -467
  43. data/lib/svix/models/endpoint_out.rb +67 -528
  44. data/lib/svix/models/endpoint_patch.rb +61 -383
  45. data/lib/svix/models/endpoint_secret_out.rb +25 -222
  46. data/lib/svix/models/endpoint_secret_rotate_in.rb +28 -212
  47. data/lib/svix/models/endpoint_stats.rb +31 -245
  48. data/lib/svix/models/endpoint_transformation_in.rb +30 -226
  49. data/lib/svix/models/endpoint_transformation_out.rb +30 -228
  50. data/lib/svix/models/endpoint_update.rb +58 -422
  51. data/lib/svix/models/environment_in.rb +31 -212
  52. data/lib/svix/models/environment_out.rb +35 -255
  53. data/lib/svix/models/event_example_in.rb +27 -261
  54. data/lib/svix/models/event_type_from_open_api.rb +35 -341
  55. data/lib/svix/models/event_type_import_open_api_in.rb +37 -228
  56. data/lib/svix/models/event_type_import_open_api_out.rb +28 -200
  57. data/lib/svix/models/event_type_import_open_api_out_data.rb +31 -211
  58. data/lib/svix/models/event_type_in.rb +37 -347
  59. data/lib/svix/models/event_type_out.rb +58 -389
  60. data/lib/svix/models/event_type_patch.rb +35 -289
  61. data/lib/svix/models/event_type_update.rb +35 -301
  62. data/lib/svix/models/expung_all_contents_out.rb +29 -292
  63. data/lib/svix/models/expunge_all_contents_out.rb +55 -0
  64. data/lib/svix/models/ingest_endpoint_headers_in.rb +49 -0
  65. data/lib/svix/models/ingest_endpoint_headers_out.rb +52 -0
  66. data/lib/svix/models/ingest_endpoint_in.rb +64 -0
  67. data/lib/svix/models/ingest_endpoint_out.rb +70 -0
  68. data/lib/svix/models/ingest_endpoint_secret_in.rb +49 -0
  69. data/lib/svix/models/ingest_endpoint_secret_out.rb +49 -0
  70. data/lib/svix/models/ingest_endpoint_update.rb +61 -0
  71. data/lib/svix/models/integration_in.rb +27 -239
  72. data/lib/svix/models/integration_key_out.rb +25 -200
  73. data/lib/svix/models/integration_out.rb +33 -324
  74. data/lib/svix/models/integration_update.rb +27 -239
  75. data/lib/svix/models/list_response_application_out.rb +34 -237
  76. data/lib/svix/models/list_response_background_task_out.rb +34 -237
  77. data/lib/svix/models/list_response_endpoint_message_out.rb +34 -237
  78. data/lib/svix/models/list_response_endpoint_out.rb +34 -237
  79. data/lib/svix/models/list_response_event_type_out.rb +34 -237
  80. data/lib/svix/models/list_response_ingest_endpoint_out.rb +58 -0
  81. data/lib/svix/models/list_response_integration_out.rb +34 -237
  82. data/lib/svix/models/list_response_message_attempt_out.rb +34 -237
  83. data/lib/svix/models/list_response_message_endpoint_out.rb +34 -237
  84. data/lib/svix/models/list_response_message_out.rb +34 -237
  85. data/lib/svix/models/list_response_operational_webhook_endpoint_out.rb +34 -237
  86. data/lib/svix/models/message_attempt_out.rb +64 -521
  87. data/lib/svix/models/message_attempt_trigger_type.rb +20 -28
  88. data/lib/svix/models/message_endpoint_out.rb +70 -557
  89. data/lib/svix/models/message_in.rb +58 -450
  90. data/lib/svix/models/message_out.rb +37 -414
  91. data/lib/svix/models/message_status.rb +24 -30
  92. data/lib/svix/models/operational_webhook_endpoint_headers_in.rb +28 -202
  93. data/lib/svix/models/operational_webhook_endpoint_headers_out.rb +30 -229
  94. data/lib/svix/models/operational_webhook_endpoint_in.rb +42 -380
  95. data/lib/svix/models/operational_webhook_endpoint_out.rb +64 -458
  96. data/lib/svix/models/operational_webhook_endpoint_secret_in.rb +28 -212
  97. data/lib/svix/models/operational_webhook_endpoint_secret_out.rb +28 -222
  98. data/lib/svix/models/operational_webhook_endpoint_update.rb +40 -353
  99. data/lib/svix/models/ordering.rb +15 -25
  100. data/lib/svix/models/recover_in.rb +28 -210
  101. data/lib/svix/models/recover_out.rb +29 -292
  102. data/lib/svix/models/replay_in.rb +28 -210
  103. data/lib/svix/models/replay_out.rb +29 -292
  104. data/lib/svix/models/status_code_class.rb +28 -32
  105. data/lib/svix/models/template_out.rb +70 -514
  106. data/lib/svix/svix.rb +50 -50
  107. data/lib/svix/svix_http_client.rb +110 -0
  108. data/lib/svix/util.rb +44 -25
  109. data/lib/svix/validation_error.rb +28 -0
  110. data/lib/svix/version.rb +1 -1
  111. data/lib/svix/webhook.rb +69 -65
  112. data/lib/svix.rb +60 -37
  113. data/svix.gemspec +1 -10
  114. data/templates/api_extra/application_create.rb +16 -0
  115. data/templates/api_extra/message.rb +26 -0
  116. data/templates/api_resource.rb.jinja +71 -0
  117. data/templates/component_type.rb.jinja +7 -0
  118. data/templates/summary.rb.jinja +41 -0
  119. data/templates/types/integer_enum.rb.jinja +37 -0
  120. data/templates/types/string_enum.rb.jinja +37 -0
  121. data/templates/types/struct.rb.jinja +87 -0
  122. metadata +40 -194
  123. data/lib/svix/api/application_api.rb +0 -772
  124. data/lib/svix/api/authentication_api.rb +0 -791
  125. data/lib/svix/api/background_tasks_api.rb +0 -191
  126. data/lib/svix/api/broadcast_api.rb +0 -93
  127. data/lib/svix/api/endpoint_api.rb +0 -2752
  128. data/lib/svix/api/environment_api.rb +0 -153
  129. data/lib/svix/api/environment_settings_api.rb +0 -79
  130. data/lib/svix/api/event_type_api.rb +0 -852
  131. data/lib/svix/api/events_api.rb +0 -102
  132. data/lib/svix/api/health_api.rb +0 -79
  133. data/lib/svix/api/inbound_api.rb +0 -209
  134. data/lib/svix/api/integration_api.rb +0 -707
  135. data/lib/svix/api/message_api.rb +0 -1192
  136. data/lib/svix/api/message_attempt_api.rb +0 -1245
  137. data/lib/svix/api/statistics_api.rb +0 -333
  138. data/lib/svix/api/stream_api.rb +0 -659
  139. data/lib/svix/api/stream_event_types_api.rb +0 -486
  140. data/lib/svix/api/transformation_template_api.rb +0 -967
  141. data/lib/svix/api/webhook_endpoint_api.rb +0 -748
  142. data/lib/svix/api_client.rb +0 -423
  143. data/lib/svix/application_api.rb +0 -35
  144. data/lib/svix/authentication_api.rb +0 -21
  145. data/lib/svix/background_tasks_api.rb +0 -17
  146. data/lib/svix/configuration.rb +0 -312
  147. data/lib/svix/endpoint_api.rb +0 -80
  148. data/lib/svix/event_type_api.rb +0 -37
  149. data/lib/svix/integration_api.rb +0 -38
  150. data/lib/svix/message_api.rb +0 -54
  151. data/lib/svix/message_attempt_api.rb +0 -51
  152. data/lib/svix/models/active_application_out.rb +0 -373
  153. data/lib/svix/models/active_endpoint_out.rb +0 -355
  154. data/lib/svix/models/aggregated_event_types.rb +0 -305
  155. data/lib/svix/models/application_message_failure.rb +0 -277
  156. data/lib/svix/models/application_message_id_pair.rb +0 -317
  157. data/lib/svix/models/application_stats.rb +0 -323
  158. data/lib/svix/models/application_stats_out.rb +0 -324
  159. data/lib/svix/models/attempt_statistics_data.rb +0 -229
  160. data/lib/svix/models/attempt_statistics_response.rb +0 -291
  161. data/lib/svix/models/auth_token_out.rb +0 -325
  162. data/lib/svix/models/azure_blob_storage_config.rb +0 -253
  163. data/lib/svix/models/background_task_finished_event.rb +0 -272
  164. data/lib/svix/models/background_task_finished_event2.rb +0 -331
  165. data/lib/svix/models/big_query_config.rb +0 -271
  166. data/lib/svix/models/border_radius_config.rb +0 -254
  167. data/lib/svix/models/border_radius_enum.rb +0 -43
  168. data/lib/svix/models/client_secret_jwt_params_in.rb +0 -297
  169. data/lib/svix/models/completion_choice.rb +0 -253
  170. data/lib/svix/models/completion_message.rb +0 -237
  171. data/lib/svix/models/count_out.rb +0 -258
  172. data/lib/svix/models/create_stream_in.rb +0 -232
  173. data/lib/svix/models/create_token_in.rb +0 -248
  174. data/lib/svix/models/custom_color_palette.rb +0 -295
  175. data/lib/svix/models/custom_strings_override.rb +0 -235
  176. data/lib/svix/models/custom_theme_override.rb +0 -223
  177. data/lib/svix/models/data.rb +0 -108
  178. data/lib/svix/models/data_any_of.rb +0 -240
  179. data/lib/svix/models/data_any_of1.rb +0 -223
  180. data/lib/svix/models/data_any_of2.rb +0 -241
  181. data/lib/svix/models/data_any_of3.rb +0 -223
  182. data/lib/svix/models/data_any_of4.rb +0 -240
  183. data/lib/svix/models/duration.rb +0 -275
  184. data/lib/svix/models/endpoint_created_event.rb +0 -272
  185. data/lib/svix/models/endpoint_created_event_data.rb +0 -410
  186. data/lib/svix/models/endpoint_deleted_event.rb +0 -272
  187. data/lib/svix/models/endpoint_deleted_event_data.rb +0 -410
  188. data/lib/svix/models/endpoint_disabled_event.rb +0 -272
  189. data/lib/svix/models/endpoint_disabled_event_data.rb +0 -451
  190. data/lib/svix/models/endpoint_disabled_trigger.rb +0 -40
  191. data/lib/svix/models/endpoint_enabled_event.rb +0 -272
  192. data/lib/svix/models/endpoint_enabled_event_data.rb +0 -410
  193. data/lib/svix/models/endpoint_mtls_config_in.rb +0 -233
  194. data/lib/svix/models/endpoint_mtls_config_out.rb +0 -215
  195. data/lib/svix/models/endpoint_oauth_config_in.rb +0 -350
  196. data/lib/svix/models/endpoint_oauth_config_out.rb +0 -315
  197. data/lib/svix/models/endpoint_transformation_simulate_in.rb +0 -330
  198. data/lib/svix/models/endpoint_transformation_simulate_out.rb +0 -296
  199. data/lib/svix/models/endpoint_updated_event.rb +0 -272
  200. data/lib/svix/models/endpoint_updated_event_data.rb +0 -410
  201. data/lib/svix/models/environment_settings_out.rb +0 -455
  202. data/lib/svix/models/event_in.rb +0 -258
  203. data/lib/svix/models/event_out.rb +0 -274
  204. data/lib/svix/models/event_stream_out.rb +0 -255
  205. data/lib/svix/models/event_type_example_out.rb +0 -221
  206. data/lib/svix/models/event_type_schema_in.rb +0 -221
  207. data/lib/svix/models/export_event_type_out.rb +0 -315
  208. data/lib/svix/models/font_size_config.rb +0 -230
  209. data/lib/svix/models/generate_in.rb +0 -221
  210. data/lib/svix/models/generate_out.rb +0 -287
  211. data/lib/svix/models/google_cloud_storage_config.rb +0 -239
  212. data/lib/svix/models/http_error_out.rb +0 -237
  213. data/lib/svix/models/http_validation_error.rb +0 -223
  214. data/lib/svix/models/hubspot_oauth_config_in.rb +0 -221
  215. data/lib/svix/models/inbound_path_params.rb +0 -277
  216. data/lib/svix/models/incoming_webhook_payload_out.rb +0 -235
  217. data/lib/svix/models/kafka_security_protocol_type.rb +0 -41
  218. data/lib/svix/models/list_response_active_application_out.rb +0 -261
  219. data/lib/svix/models/list_response_application_stats.rb +0 -261
  220. data/lib/svix/models/list_response_message_attempt_endpoint_out.rb +0 -261
  221. data/lib/svix/models/list_response_sink_out.rb +0 -261
  222. data/lib/svix/models/list_response_stream_event_type_out.rb +0 -261
  223. data/lib/svix/models/list_response_stream_out.rb +0 -261
  224. data/lib/svix/models/list_response_stream_sink_out.rb +0 -261
  225. data/lib/svix/models/list_response_template_out.rb +0 -261
  226. data/lib/svix/models/message_attempt_endpoint_out.rb +0 -545
  227. data/lib/svix/models/message_attempt_exhausted_event.rb +0 -272
  228. data/lib/svix/models/message_attempt_exhausted_event_data.rb +0 -482
  229. data/lib/svix/models/message_attempt_failed_data.rb +0 -293
  230. data/lib/svix/models/message_attempt_failing_event.rb +0 -272
  231. data/lib/svix/models/message_attempt_failing_event_data.rb +0 -482
  232. data/lib/svix/models/message_attempt_headers_out.rb +0 -263
  233. data/lib/svix/models/message_attempt_recovered_event.rb +0 -272
  234. data/lib/svix/models/message_attempt_recovered_event_data.rb +0 -482
  235. data/lib/svix/models/message_broadcast_in.rb +0 -423
  236. data/lib/svix/models/message_broadcast_out.rb +0 -315
  237. data/lib/svix/models/message_events_out.rb +0 -255
  238. data/lib/svix/models/message_precheck_in.rb +0 -288
  239. data/lib/svix/models/message_precheck_out.rb +0 -221
  240. data/lib/svix/models/message_raw_payload_out.rb +0 -221
  241. data/lib/svix/models/message_subscriber_auth_token_out.rb +0 -237
  242. data/lib/svix/models/o_auth_payload_in.rb +0 -237
  243. data/lib/svix/models/o_auth_payload_out.rb +0 -235
  244. data/lib/svix/models/oauth2_auth_method_in_out.rb +0 -41
  245. data/lib/svix/models/oauth2_grant_type_in_out.rb +0 -40
  246. data/lib/svix/models/oauth_jws_signing_algorithm.rb +0 -39
  247. data/lib/svix/models/one_time_token_in.rb +0 -221
  248. data/lib/svix/models/one_time_token_out.rb +0 -221
  249. data/lib/svix/models/polling_endpoint_message_out.rb +0 -454
  250. data/lib/svix/models/polling_endpoint_out.rb +0 -255
  251. data/lib/svix/models/redshift_config.rb +0 -317
  252. data/lib/svix/models/retry_schedule_in_out.rb +0 -216
  253. data/lib/svix/models/rotate_poller_token_in.rb +0 -280
  254. data/lib/svix/models/rotated_url_out.rb +0 -221
  255. data/lib/svix/models/s3_config.rb +0 -269
  256. data/lib/svix/models/sink_http_config.rb +0 -242
  257. data/lib/svix/models/sink_in.rb +0 -108
  258. data/lib/svix/models/sink_in_one_of.rb +0 -287
  259. data/lib/svix/models/sink_in_one_of1.rb +0 -319
  260. data/lib/svix/models/sink_in_one_of2.rb +0 -325
  261. data/lib/svix/models/sink_in_one_of3.rb +0 -271
  262. data/lib/svix/models/sink_in_one_of4.rb +0 -255
  263. data/lib/svix/models/sink_otel_v1_config.rb +0 -221
  264. data/lib/svix/models/sink_out.rb +0 -108
  265. data/lib/svix/models/sink_payload_format.rb +0 -39
  266. data/lib/svix/models/sink_secret_out.rb +0 -233
  267. data/lib/svix/models/sink_status.rb +0 -41
  268. data/lib/svix/models/sink_status_in.rb +0 -40
  269. data/lib/svix/models/sink_transform_in.rb +0 -248
  270. data/lib/svix/models/sink_transformation_out.rb +0 -226
  271. data/lib/svix/models/snowflake_config.rb +0 -287
  272. data/lib/svix/models/statistics_period.rb +0 -40
  273. data/lib/svix/models/stream_event_type_in.rb +0 -262
  274. data/lib/svix/models/stream_event_type_out.rb +0 -294
  275. data/lib/svix/models/stream_event_type_patch.rb +0 -254
  276. data/lib/svix/models/stream_in.rb +0 -287
  277. data/lib/svix/models/stream_out.rb +0 -350
  278. data/lib/svix/models/stream_patch.rb +0 -261
  279. data/lib/svix/models/stream_portal_access_in.rb +0 -293
  280. data/lib/svix/models/stream_sink_in.rb +0 -111
  281. data/lib/svix/models/stream_sink_in_one_of.rb +0 -271
  282. data/lib/svix/models/stream_sink_in_one_of1.rb +0 -271
  283. data/lib/svix/models/stream_sink_in_one_of2.rb +0 -271
  284. data/lib/svix/models/stream_sink_in_one_of3.rb +0 -271
  285. data/lib/svix/models/stream_sink_in_one_of4.rb +0 -271
  286. data/lib/svix/models/stream_sink_in_one_of5.rb +0 -271
  287. data/lib/svix/models/stream_sink_in_one_of6.rb +0 -271
  288. data/lib/svix/models/stream_sink_in_one_of7.rb +0 -271
  289. data/lib/svix/models/stream_sink_out.rb +0 -111
  290. data/lib/svix/models/stream_sink_patch.rb +0 -111
  291. data/lib/svix/models/template_patch.rb +0 -382
  292. data/lib/svix/models/template_update.rb +0 -402
  293. data/lib/svix/models/transformation_http_method.rb +0 -41
  294. data/lib/svix/models/transformation_simulate_in.rb +0 -330
  295. data/lib/svix/models/transformation_simulate_out.rb +0 -296
  296. data/lib/svix/models/validation_error.rb +0 -259
  297. data/lib/svix/statistics_api.rb +0 -17
@@ -1,349 +1,58 @@
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'
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
15
4
 
16
5
  module Svix
17
6
  class IntegrationOut
18
7
  attr_accessor :created_at
19
-
20
- # The set of feature flags the integration has access to.
21
8
  attr_accessor :feature_flags
22
-
23
- # The Integration's ID.
24
9
  attr_accessor :id
25
-
26
10
  attr_accessor :name
27
-
28
11
  attr_accessor :updated_at
29
12
 
30
- # Attribute mapping from ruby-style variable name to JSON key.
31
- def self.attribute_map
32
- {
33
- :'created_at' => :'createdAt',
34
- :'feature_flags' => :'featureFlags',
35
- :'id' => :'id',
36
- :'name' => :'name',
37
- :'updated_at' => :'updatedAt'
38
- }
39
- end
40
-
41
- # Returns all the JSON keys this model knows about
42
- def self.acceptable_attributes
43
- attribute_map.values
44
- end
13
+ ALL_FIELD ||= ["created_at", "feature_flags", "id", "name", "updated_at"].freeze
14
+ private_constant :ALL_FIELD
45
15
 
46
- # Attribute type mapping.
47
- def self.openapi_types
48
- {
49
- :'created_at' => :'Time',
50
- :'feature_flags' => :'Array<String>',
51
- :'id' => :'String',
52
- :'name' => :'String',
53
- :'updated_at' => :'Time'
54
- }
55
- end
56
-
57
- # List of attributes with nullable: true
58
- def self.openapi_nullable
59
- Set.new([
60
- ])
61
- end
62
-
63
- # Initializes the object
64
- # @param [Hash] attributes Model attributes in the form of hash
65
16
  def initialize(attributes = {})
66
- if (!attributes.is_a?(Hash))
67
- fail ArgumentError, "The input argument (attributes) must be a hash in `Svix::IntegrationOut` initialize method"
17
+ unless attributes.is_a?(Hash)
18
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `Svix::IntegrationOut` new method")
68
19
  end
69
20
 
70
- # check to see if the attribute exists and convert string to symbol for hash key
71
- attributes = attributes.each_with_object({}) { |(k, v), h|
72
- if (!self.class.attribute_map.key?(k.to_sym))
73
- fail ArgumentError, "`#{k}` is not a valid attribute in `Svix::IntegrationOut`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
21
+ attributes.each do |k, v|
22
+ unless ALL_FIELD.include?(k.to_s)
23
+ fail(ArgumentError, "The field #{k} is not part of Svix::IntegrationOut")
74
24
  end
75
- h[k.to_sym] = v
76
- }
77
-
78
- if attributes.key?(:'created_at')
79
- self.created_at = attributes[:'created_at']
80
- else
81
- self.created_at = nil
82
- end
83
-
84
- if attributes.key?(:'feature_flags')
85
- if (value = attributes[:'feature_flags']).is_a?(Array)
86
- self.feature_flags = value
87
- end
88
- end
89
-
90
- if attributes.key?(:'id')
91
- self.id = attributes[:'id']
92
- else
93
- self.id = nil
94
- end
95
25
 
96
- if attributes.key?(:'name')
97
- self.name = attributes[:'name']
98
- else
99
- self.name = nil
100
- end
101
-
102
- if attributes.key?(:'updated_at')
103
- self.updated_at = attributes[:'updated_at']
104
- else
105
- self.updated_at = nil
26
+ instance_variable_set("@#{k}", v)
27
+ instance_variable_set("@__#{k}_is_defined", true)
106
28
  end
107
29
  end
108
30
 
109
- # Show invalid properties with the reasons. Usually used together with valid?
110
- # @return Array for valid properties with the reasons
111
- def list_invalid_properties
112
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
113
- invalid_properties = Array.new
114
- if @created_at.nil?
115
- invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
116
- end
117
-
118
- if !@feature_flags.nil? && @feature_flags.length > 25
119
- invalid_properties.push('invalid value for "feature_flags", number of items must be less than or equal to 25.')
120
- end
121
-
122
- if !@feature_flags.nil? && @feature_flags.length < 1
123
- invalid_properties.push('invalid value for "feature_flags", number of items must be greater than or equal to 1.')
124
- end
125
-
126
- if @id.nil?
127
- invalid_properties.push('invalid value for "id", id cannot be nil.')
128
- end
129
-
130
- if @id.to_s.length > 33
131
- invalid_properties.push('invalid value for "id", the character length must be smaller than or equal to 33.')
132
- end
133
-
134
- if @id.to_s.length < 33
135
- invalid_properties.push('invalid value for "id", the character length must be great than or equal to 33.')
136
- end
137
-
138
- pattern = Regexp.new(/^integ_[A-Za-z0-9]{27}$/)
139
- if @id !~ pattern
140
- invalid_properties.push("invalid value for \"id\", must conform to the pattern #{pattern}.")
141
- end
142
-
143
- if @name.nil?
144
- invalid_properties.push('invalid value for "name", name cannot be nil.')
145
- end
146
-
147
- if @updated_at.nil?
148
- invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
149
- end
150
-
151
- invalid_properties
31
+ def self.deserialize(attributes = {})
32
+ attributes = attributes.transform_keys(&:to_s)
33
+ attrs = Hash.new
34
+ attrs["created_at"] = DateTime.rfc3339(attributes["createdAt"]).to_time
35
+ attrs["feature_flags"] = attributes["featureFlags"]
36
+ attrs["id"] = attributes["id"]
37
+ attrs["name"] = attributes["name"]
38
+ attrs["updated_at"] = DateTime.rfc3339(attributes["updatedAt"]).to_time
39
+ new(attrs)
152
40
  end
153
41
 
154
- # Check to see if the all the properties in the model are valid
155
- # @return true if the model is valid
156
- def valid?
157
- warn '[DEPRECATED] the `valid?` method is obsolete'
158
- return false if @created_at.nil?
159
- return false if !@feature_flags.nil? && @feature_flags.length > 25
160
- return false if !@feature_flags.nil? && @feature_flags.length < 1
161
- return false if @id.nil?
162
- return false if @id.to_s.length > 33
163
- return false if @id.to_s.length < 33
164
- return false if @id !~ Regexp.new(/^integ_[A-Za-z0-9]{27}$/)
165
- return false if @name.nil?
166
- return false if @updated_at.nil?
167
- true
42
+ def serialize
43
+ out = Hash.new
44
+ out["createdAt"] = Svix::serialize_primitive(@created_at) if @created_at
45
+ out["featureFlags"] = Svix::serialize_primitive(@feature_flags) if @feature_flags
46
+ out["id"] = Svix::serialize_primitive(@id) if @id
47
+ out["name"] = Svix::serialize_primitive(@name) if @name
48
+ out["updatedAt"] = Svix::serialize_primitive(@updated_at) if @updated_at
49
+ out
168
50
  end
169
51
 
170
- # Custom attribute writer method with validation
171
- # @param [Object] feature_flags Value to be assigned
172
- def feature_flags=(feature_flags)
173
- if feature_flags.nil?
174
- fail ArgumentError, 'feature_flags cannot be nil'
175
- end
176
-
177
- if feature_flags.length > 25
178
- fail ArgumentError, 'invalid value for "feature_flags", number of items must be less than or equal to 25.'
179
- end
180
-
181
- if feature_flags.length < 1
182
- fail ArgumentError, 'invalid value for "feature_flags", number of items must be greater than or equal to 1.'
183
- end
184
-
185
- @feature_flags = feature_flags
186
- end
187
-
188
- # Custom attribute writer method with validation
189
- # @param [Object] id Value to be assigned
190
- def id=(id)
191
- if id.nil?
192
- fail ArgumentError, 'id cannot be nil'
193
- end
194
-
195
- if id.to_s.length > 33
196
- fail ArgumentError, 'invalid value for "id", the character length must be smaller than or equal to 33.'
197
- end
198
-
199
- if id.to_s.length < 33
200
- fail ArgumentError, 'invalid value for "id", the character length must be great than or equal to 33.'
201
- end
202
-
203
- pattern = Regexp.new(/^integ_[A-Za-z0-9]{27}$/)
204
- if id !~ pattern
205
- fail ArgumentError, "invalid value for \"id\", must conform to the pattern #{pattern}."
206
- end
207
-
208
- @id = id
209
- end
210
-
211
- # Checks equality by comparing each attribute.
212
- # @param [Object] Object to be compared
213
- def ==(o)
214
- return true if self.equal?(o)
215
- self.class == o.class &&
216
- created_at == o.created_at &&
217
- feature_flags == o.feature_flags &&
218
- id == o.id &&
219
- name == o.name &&
220
- updated_at == o.updated_at
221
- end
222
-
223
- # @see the `==` method
224
- # @param [Object] Object to be compared
225
- def eql?(o)
226
- self == o
227
- end
228
-
229
- # Calculates hash code according to all attributes.
230
- # @return [Integer] Hash code
231
- def hash
232
- [created_at, feature_flags, id, name, updated_at].hash
233
- end
234
-
235
- # Builds the object from hash
236
- # @param [Hash] attributes Model attributes in the form of hash
237
- # @return [Object] Returns the model itself
238
- def self.build_from_hash(attributes)
239
- return nil unless attributes.is_a?(Hash)
240
- attributes = attributes.transform_keys(&:to_sym)
241
- transformed_hash = {}
242
- openapi_types.each_pair do |key, type|
243
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
244
- transformed_hash["#{key}"] = nil
245
- elsif type =~ /\AArray<(.*)>/i
246
- # check to ensure the input is an array given that the attribute
247
- # is documented as an array but the input is not
248
- if attributes[attribute_map[key]].is_a?(Array)
249
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
250
- end
251
- elsif !attributes[attribute_map[key]].nil?
252
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
253
- end
254
- end
255
- new(transformed_hash)
256
- end
257
-
258
- # Deserializes the data based on type
259
- # @param string type Data type
260
- # @param string value Value to be deserialized
261
- # @return [Object] Deserialized data
262
- def self._deserialize(type, value)
263
- case type.to_sym
264
- when :Time
265
- Time.parse(value)
266
- when :Date
267
- Date.parse(value)
268
- when :String
269
- value.to_s
270
- when :Integer
271
- value.to_i
272
- when :Float
273
- value.to_f
274
- when :Boolean
275
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
276
- true
277
- else
278
- false
279
- end
280
- when :Object
281
- # generic object (usually a Hash), return directly
282
- value
283
- when /\AArray<(?<inner_type>.+)>\z/
284
- inner_type = Regexp.last_match[:inner_type]
285
- value.map { |v| _deserialize(inner_type, v) }
286
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
287
- k_type = Regexp.last_match[:k_type]
288
- v_type = Regexp.last_match[:v_type]
289
- {}.tap do |hash|
290
- value.each do |k, v|
291
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
292
- end
293
- end
294
- else # model
295
- # models (e.g. Pet) or oneOf
296
- klass = Svix.const_get(type)
297
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
298
- end
299
- end
300
-
301
- # Returns the string representation of the object
302
- # @return [String] String presentation of the object
303
- def to_s
304
- to_hash.to_s
305
- end
306
-
307
- # to_body is an alias to to_hash (backward compatibility)
308
- # @return [Hash] Returns the object in the form of hash
309
- def to_body
310
- to_hash
52
+ # Serializes the object to a json string
53
+ # @return String
54
+ def to_json
55
+ JSON.dump(serialize)
311
56
  end
312
-
313
- # Returns the object in the form of hash
314
- # @return [Hash] Returns the object in the form of hash
315
- def to_hash
316
- hash = {}
317
- self.class.attribute_map.each_pair do |attr, param|
318
- value = self.send(attr)
319
- if value.nil?
320
- is_nullable = self.class.openapi_nullable.include?(attr)
321
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
322
- end
323
-
324
- hash[param] = _to_hash(value)
325
- end
326
- hash
327
- end
328
-
329
- # Outputs non-array value in the form of hash
330
- # For object, use to_hash. Otherwise, just return the value
331
- # @param [Object] value Any valid value
332
- # @return [Hash] Returns the value in the form of hash
333
- def _to_hash(value)
334
- if value.is_a?(Array)
335
- value.compact.map { |v| _to_hash(v) }
336
- elsif value.is_a?(Hash)
337
- {}.tap do |hash|
338
- value.each { |k, v| hash[k] = _to_hash(v) }
339
- end
340
- elsif value.respond_to? :to_hash
341
- value.to_hash
342
- else
343
- value
344
- end
345
- end
346
-
347
57
  end
348
-
349
58
  end
@@ -1,261 +1,49 @@
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'
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
15
4
 
16
5
  module Svix
17
6
  class IntegrationUpdate
18
- # The set of feature flags the integration will have access to.
19
7
  attr_accessor :feature_flags
20
-
21
8
  attr_accessor :name
22
9
 
23
- # Attribute mapping from ruby-style variable name to JSON key.
24
- def self.attribute_map
25
- {
26
- :'feature_flags' => :'featureFlags',
27
- :'name' => :'name'
28
- }
29
- end
10
+ ALL_FIELD ||= ["feature_flags", "name"].freeze
11
+ private_constant :ALL_FIELD
30
12
 
31
- # Returns all the JSON keys this model knows about
32
- def self.acceptable_attributes
33
- attribute_map.values
34
- end
35
-
36
- # Attribute type mapping.
37
- def self.openapi_types
38
- {
39
- :'feature_flags' => :'Array<String>',
40
- :'name' => :'String'
41
- }
42
- end
43
-
44
- # List of attributes with nullable: true
45
- def self.openapi_nullable
46
- Set.new([
47
- ])
48
- end
49
-
50
- # Initializes the object
51
- # @param [Hash] attributes Model attributes in the form of hash
52
13
  def initialize(attributes = {})
53
- if (!attributes.is_a?(Hash))
54
- fail ArgumentError, "The input argument (attributes) must be a hash in `Svix::IntegrationUpdate` initialize method"
55
- end
56
-
57
- # check to see if the attribute exists and convert string to symbol for hash key
58
- attributes = attributes.each_with_object({}) { |(k, v), h|
59
- if (!self.class.attribute_map.key?(k.to_sym))
60
- fail ArgumentError, "`#{k}` is not a valid attribute in `Svix::IntegrationUpdate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
- end
62
- h[k.to_sym] = v
63
- }
64
-
65
- if attributes.key?(:'feature_flags')
66
- if (value = attributes[:'feature_flags']).is_a?(Array)
67
- self.feature_flags = value
68
- end
69
- end
70
-
71
- if attributes.key?(:'name')
72
- self.name = attributes[:'name']
73
- else
74
- self.name = nil
75
- end
76
- end
77
-
78
- # Show invalid properties with the reasons. Usually used together with valid?
79
- # @return Array for valid properties with the reasons
80
- def list_invalid_properties
81
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
82
- invalid_properties = Array.new
83
- if !@feature_flags.nil? && @feature_flags.length > 25
84
- invalid_properties.push('invalid value for "feature_flags", number of items must be less than or equal to 25.')
85
- end
86
-
87
- if !@feature_flags.nil? && @feature_flags.length < 1
88
- invalid_properties.push('invalid value for "feature_flags", number of items must be greater than or equal to 1.')
89
- end
90
-
91
- if @name.nil?
92
- invalid_properties.push('invalid value for "name", name cannot be nil.')
93
- end
94
-
95
- invalid_properties
96
- end
97
-
98
- # Check to see if the all the properties in the model are valid
99
- # @return true if the model is valid
100
- def valid?
101
- warn '[DEPRECATED] the `valid?` method is obsolete'
102
- return false if !@feature_flags.nil? && @feature_flags.length > 25
103
- return false if !@feature_flags.nil? && @feature_flags.length < 1
104
- return false if @name.nil?
105
- true
106
- end
107
-
108
- # Custom attribute writer method with validation
109
- # @param [Object] feature_flags Value to be assigned
110
- def feature_flags=(feature_flags)
111
- if feature_flags.nil?
112
- fail ArgumentError, 'feature_flags cannot be nil'
113
- end
114
-
115
- if feature_flags.length > 25
116
- fail ArgumentError, 'invalid value for "feature_flags", number of items must be less than or equal to 25.'
117
- end
118
-
119
- if feature_flags.length < 1
120
- fail ArgumentError, 'invalid value for "feature_flags", number of items must be greater than or equal to 1.'
14
+ unless attributes.is_a?(Hash)
15
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `Svix::IntegrationUpdate` new method")
121
16
  end
122
17
 
123
- @feature_flags = feature_flags
124
- end
125
-
126
- # Checks equality by comparing each attribute.
127
- # @param [Object] Object to be compared
128
- def ==(o)
129
- return true if self.equal?(o)
130
- self.class == o.class &&
131
- feature_flags == o.feature_flags &&
132
- name == o.name
133
- end
134
-
135
- # @see the `==` method
136
- # @param [Object] Object to be compared
137
- def eql?(o)
138
- self == o
139
- end
140
-
141
- # Calculates hash code according to all attributes.
142
- # @return [Integer] Hash code
143
- def hash
144
- [feature_flags, name].hash
145
- end
146
-
147
- # Builds the object from hash
148
- # @param [Hash] attributes Model attributes in the form of hash
149
- # @return [Object] Returns the model itself
150
- def self.build_from_hash(attributes)
151
- return nil unless attributes.is_a?(Hash)
152
- attributes = attributes.transform_keys(&:to_sym)
153
- transformed_hash = {}
154
- openapi_types.each_pair do |key, type|
155
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
156
- transformed_hash["#{key}"] = nil
157
- elsif type =~ /\AArray<(.*)>/i
158
- # check to ensure the input is an array given that the attribute
159
- # is documented as an array but the input is not
160
- if attributes[attribute_map[key]].is_a?(Array)
161
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
162
- end
163
- elsif !attributes[attribute_map[key]].nil?
164
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
18
+ attributes.each do |k, v|
19
+ unless ALL_FIELD.include?(k.to_s)
20
+ fail(ArgumentError, "The field #{k} is not part of Svix::IntegrationUpdate")
165
21
  end
166
- end
167
- new(transformed_hash)
168
- end
169
22
 
170
- # Deserializes the data based on type
171
- # @param string type Data type
172
- # @param string value Value to be deserialized
173
- # @return [Object] Deserialized data
174
- def self._deserialize(type, value)
175
- case type.to_sym
176
- when :Time
177
- Time.parse(value)
178
- when :Date
179
- Date.parse(value)
180
- when :String
181
- value.to_s
182
- when :Integer
183
- value.to_i
184
- when :Float
185
- value.to_f
186
- when :Boolean
187
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
188
- true
189
- else
190
- false
191
- end
192
- when :Object
193
- # generic object (usually a Hash), return directly
194
- value
195
- when /\AArray<(?<inner_type>.+)>\z/
196
- inner_type = Regexp.last_match[:inner_type]
197
- value.map { |v| _deserialize(inner_type, v) }
198
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
199
- k_type = Regexp.last_match[:k_type]
200
- v_type = Regexp.last_match[:v_type]
201
- {}.tap do |hash|
202
- value.each do |k, v|
203
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
204
- end
205
- end
206
- else # model
207
- # models (e.g. Pet) or oneOf
208
- klass = Svix.const_get(type)
209
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
23
+ instance_variable_set("@#{k}", v)
24
+ instance_variable_set("@__#{k}_is_defined", true)
210
25
  end
211
26
  end
212
27
 
213
- # Returns the string representation of the object
214
- # @return [String] String presentation of the object
215
- def to_s
216
- to_hash.to_s
217
- end
218
-
219
- # to_body is an alias to to_hash (backward compatibility)
220
- # @return [Hash] Returns the object in the form of hash
221
- def to_body
222
- to_hash
28
+ def self.deserialize(attributes = {})
29
+ attributes = attributes.transform_keys(&:to_s)
30
+ attrs = Hash.new
31
+ attrs["feature_flags"] = attributes["featureFlags"]
32
+ attrs["name"] = attributes["name"]
33
+ new(attrs)
223
34
  end
224
35
 
225
- # Returns the object in the form of hash
226
- # @return [Hash] Returns the object in the form of hash
227
- def to_hash
228
- hash = {}
229
- self.class.attribute_map.each_pair do |attr, param|
230
- value = self.send(attr)
231
- if value.nil?
232
- is_nullable = self.class.openapi_nullable.include?(attr)
233
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
234
- end
235
-
236
- hash[param] = _to_hash(value)
237
- end
238
- hash
36
+ def serialize
37
+ out = Hash.new
38
+ out["featureFlags"] = Svix::serialize_primitive(@feature_flags) if @feature_flags
39
+ out["name"] = Svix::serialize_primitive(@name) if @name
40
+ out
239
41
  end
240
42
 
241
- # Outputs non-array value in the form of hash
242
- # For object, use to_hash. Otherwise, just return the value
243
- # @param [Object] value Any valid value
244
- # @return [Hash] Returns the value in the form of hash
245
- def _to_hash(value)
246
- if value.is_a?(Array)
247
- value.compact.map { |v| _to_hash(v) }
248
- elsif value.is_a?(Hash)
249
- {}.tap do |hash|
250
- value.each { |k, v| hash[k] = _to_hash(v) }
251
- end
252
- elsif value.respond_to? :to_hash
253
- value.to_hash
254
- else
255
- value
256
- end
43
+ # Serializes the object to a json string
44
+ # @return String
45
+ def to_json
46
+ JSON.dump(serialize)
257
47
  end
258
-
259
48
  end
260
-
261
49
  end