hooksniff 0.3.0 → 1.1.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 (214) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +7 -0
  3. data/Gemfile.lock +56 -0
  4. data/README.md +23 -199
  5. data/Rakefile +2 -0
  6. data/hooksniff.gemspec +48 -0
  7. data/lib/hooksniff/api/authentication.rb +36 -0
  8. data/lib/hooksniff/api/endpoint.rb +102 -0
  9. data/lib/hooksniff/api/event_type.rb +66 -0
  10. data/lib/hooksniff/api/health.rb +16 -0
  11. data/lib/hooksniff/api/integration.rb +42 -0
  12. data/lib/hooksniff/api/message.rb +48 -0
  13. data/lib/hooksniff/api/message_attempt.rb +38 -0
  14. data/lib/hooksniff/api/statistics.rb +37 -0
  15. data/lib/hooksniff/api/stream.rb +45 -0
  16. data/lib/{openapi_client → hooksniff}/api_error.rb +8 -18
  17. data/lib/hooksniff/background_task.rb +21 -0
  18. data/lib/hooksniff/connector.rb +33 -0
  19. data/lib/hooksniff/environment.rb +53 -0
  20. data/lib/hooksniff/errors.rb +129 -0
  21. data/lib/hooksniff/hooksniff.rb +52 -0
  22. data/lib/hooksniff/hooksniff_http_client.rb +128 -0
  23. data/lib/hooksniff/http_error_out.rb +18 -0
  24. data/lib/hooksniff/http_validation_error.rb +18 -0
  25. data/lib/hooksniff/inbound.rb +25 -0
  26. data/lib/hooksniff/internal.rb +7 -0
  27. data/lib/hooksniff/message_poller.rb +32 -0
  28. data/lib/hooksniff/models/endpoint_created_event.rb +50 -0
  29. data/lib/hooksniff/models/endpoint_created_event_data.rb +63 -0
  30. data/lib/hooksniff/models/endpoint_deleted_event.rb +50 -0
  31. data/lib/hooksniff/models/endpoint_deleted_event_data.rb +63 -0
  32. data/lib/hooksniff/models/endpoint_disabled_event.rb +53 -0
  33. data/lib/hooksniff/models/endpoint_disabled_event_data.rb +69 -0
  34. data/lib/hooksniff/models/endpoint_enabled_event.rb +50 -0
  35. data/lib/hooksniff/models/endpoint_enabled_event_data.rb +63 -0
  36. data/lib/hooksniff/models/endpoint_headers_in.rb +46 -0
  37. data/lib/hooksniff/models/endpoint_headers_out.rb +52 -0
  38. data/lib/hooksniff/models/endpoint_headers_patch_in.rb +53 -0
  39. data/lib/hooksniff/models/endpoint_in.rb +102 -0
  40. data/lib/hooksniff/models/endpoint_out.rb +104 -0
  41. data/lib/hooksniff/models/endpoint_patch.rb +97 -0
  42. data/lib/hooksniff/models/endpoint_secret_out.rb +50 -0
  43. data/lib/hooksniff/models/endpoint_secret_rotate_in.rb +53 -0
  44. data/lib/hooksniff/models/endpoint_update.rb +90 -0
  45. data/lib/hooksniff/models/endpoint_updated_event.rb +50 -0
  46. data/lib/hooksniff/models/endpoint_updated_event_data.rb +63 -0
  47. data/lib/hooksniff/models/event_in.rb +50 -0
  48. data/lib/hooksniff/models/event_out.rb +53 -0
  49. data/lib/hooksniff/models/event_type_in.rb +80 -0
  50. data/lib/hooksniff/models/event_type_out.rb +87 -0
  51. data/lib/hooksniff/models/event_type_patch.rb +66 -0
  52. data/lib/hooksniff/models/event_type_update.rb +67 -0
  53. data/lib/hooksniff/models/list_response_endpoint_out.rb +58 -0
  54. data/lib/hooksniff/models/list_response_event_type_out.rb +58 -0
  55. data/lib/hooksniff/models/list_response_message_attempt_out.rb +58 -0
  56. data/lib/hooksniff/models/list_response_message_out.rb +58 -0
  57. data/lib/hooksniff/models/message_attempt_exhausted_event.rb +53 -0
  58. data/lib/hooksniff/models/message_attempt_exhausted_event_data.rb +70 -0
  59. data/lib/hooksniff/models/message_attempt_failed_data.rb +56 -0
  60. data/lib/hooksniff/models/message_attempt_failing_event.rb +54 -0
  61. data/lib/hooksniff/models/message_attempt_failing_event_data.rb +70 -0
  62. data/lib/hooksniff/models/message_attempt_log.rb +112 -0
  63. data/lib/hooksniff/models/message_attempt_log_event.rb +53 -0
  64. data/lib/hooksniff/models/message_attempt_out.rb +96 -0
  65. data/lib/hooksniff/models/message_attempt_trigger_type.rb +33 -0
  66. data/lib/hooksniff/models/message_endpoint_out.rb +112 -0
  67. data/lib/hooksniff/models/message_in.rb +99 -0
  68. data/lib/hooksniff/models/message_out.rb +71 -0
  69. data/lib/hooksniff/models/message_status.rb +39 -0
  70. data/lib/hooksniff/models/message_status_text.rb +32 -0
  71. data/lib/hooksniff/models/ordering.rb +30 -0
  72. data/lib/hooksniff/models/status_code_class.rb +41 -0
  73. data/lib/hooksniff/operational_webhook.rb +12 -0
  74. data/lib/hooksniff/util.rb +69 -0
  75. data/lib/hooksniff/validation_error.rb +28 -0
  76. data/lib/hooksniff/version.rb +5 -0
  77. data/lib/hooksniff/webhook.rb +84 -0
  78. data/lib/hooksniff.rb +78 -0
  79. data/test/test_hooksniff.rb +86 -0
  80. metadata +131 -159
  81. data/lib/openapi_client/api/admin_api.rb +0 -452
  82. data/lib/openapi_client/api/alerts_api.rb +0 -322
  83. data/lib/openapi_client/api/analytics_api.rb +0 -208
  84. data/lib/openapi_client/api/api_keys_api.rb +0 -252
  85. data/lib/openapi_client/api/audit_log_api.rb +0 -140
  86. data/lib/openapi_client/api/auth_api.rb +0 -1080
  87. data/lib/openapi_client/api/billing_api.rb +0 -500
  88. data/lib/openapi_client/api/contact_api.rb +0 -88
  89. data/lib/openapi_client/api/custom_domains_api.rb +0 -253
  90. data/lib/openapi_client/api/customer_portal_api.rb +0 -700
  91. data/lib/openapi_client/api/delivery_details_api.rb +0 -146
  92. data/lib/openapi_client/api/devices_api.rb +0 -202
  93. data/lib/openapi_client/api/embed_api.rb +0 -128
  94. data/lib/openapi_client/api/endpoints_api.rb +0 -468
  95. data/lib/openapi_client/api/events_api.rb +0 -75
  96. data/lib/openapi_client/api/health_api.rb +0 -193
  97. data/lib/openapi_client/api/inbound_api.rb +0 -170
  98. data/lib/openapi_client/api/notifications_api.rb +0 -309
  99. data/lib/openapi_client/api/o_auth_api.rb +0 -181
  100. data/lib/openapi_client/api/outbound_ips_api.rb +0 -77
  101. data/lib/openapi_client/api/playground_api.rb +0 -143
  102. data/lib/openapi_client/api/rate_limits_api.rb +0 -252
  103. data/lib/openapi_client/api/routing_api.rb +0 -393
  104. data/lib/openapi_client/api/schemas_api.rb +0 -268
  105. data/lib/openapi_client/api/search_api.rb +0 -96
  106. data/lib/openapi_client/api/simulator_api.rb +0 -82
  107. data/lib/openapi_client/api/sso_api.rb +0 -241
  108. data/lib/openapi_client/api/stats_api.rb +0 -77
  109. data/lib/openapi_client/api/stream_api.rb +0 -88
  110. data/lib/openapi_client/api/teams_api.rb +0 -476
  111. data/lib/openapi_client/api/templates_api.rb +0 -213
  112. data/lib/openapi_client/api/transforms_api.rb +0 -368
  113. data/lib/openapi_client/api/webhooks_api.rb +0 -534
  114. data/lib/openapi_client/api_client.rb +0 -397
  115. data/lib/openapi_client/api_model_base.rb +0 -88
  116. data/lib/openapi_client/configuration.rb +0 -312
  117. data/lib/openapi_client/models/admin_revenue_get200_response_inner.rb +0 -165
  118. data/lib/openapi_client/models/admin_sdk_update_post_request.rb +0 -156
  119. data/lib/openapi_client/models/admin_users_id_plan_put_request.rb +0 -181
  120. data/lib/openapi_client/models/admin_users_id_status_put_request.rb +0 -147
  121. data/lib/openapi_client/models/alert_rule.rb +0 -237
  122. data/lib/openapi_client/models/api_key_info.rb +0 -185
  123. data/lib/openapi_client/models/apply_template_request.rb +0 -173
  124. data/lib/openapi_client/models/apply_template_response.rb +0 -156
  125. data/lib/openapi_client/models/auth2fa_enable_post200_response.rb +0 -156
  126. data/lib/openapi_client/models/auth_login_post200_response.rb +0 -104
  127. data/lib/openapi_client/models/auth_response.rb +0 -167
  128. data/lib/openapi_client/models/batch_replay_request.rb +0 -166
  129. data/lib/openapi_client/models/batch_response.rb +0 -160
  130. data/lib/openapi_client/models/batch_response_errors_inner.rb +0 -156
  131. data/lib/openapi_client/models/batch_webhook_request.rb +0 -166
  132. data/lib/openapi_client/models/billing_portal_post200_response.rb +0 -147
  133. data/lib/openapi_client/models/change_password_request.rb +0 -199
  134. data/lib/openapi_client/models/change_role_request.rb +0 -188
  135. data/lib/openapi_client/models/confirm2fa_request.rb +0 -182
  136. data/lib/openapi_client/models/contact_request.rb +0 -242
  137. data/lib/openapi_client/models/contact_response.rb +0 -156
  138. data/lib/openapi_client/models/create_alert_request.rb +0 -277
  139. data/lib/openapi_client/models/create_api_key_response.rb +0 -175
  140. data/lib/openapi_client/models/create_endpoint_request.rb +0 -288
  141. data/lib/openapi_client/models/create_team_request.rb +0 -164
  142. data/lib/openapi_client/models/create_transform_rule_request.rb +0 -216
  143. data/lib/openapi_client/models/create_webhook_request.rb +0 -201
  144. data/lib/openapi_client/models/custom_domains_post_request.rb +0 -147
  145. data/lib/openapi_client/models/customer_response.rb +0 -256
  146. data/lib/openapi_client/models/delivery.rb +0 -246
  147. data/lib/openapi_client/models/delivery_attempt.rb +0 -205
  148. data/lib/openapi_client/models/delivery_list_response.rb +0 -176
  149. data/lib/openapi_client/models/delivery_trend_response.rb +0 -158
  150. data/lib/openapi_client/models/delivery_trend_response_buckets_inner.rb +0 -174
  151. data/lib/openapi_client/models/device_token_response.rb +0 -174
  152. data/lib/openapi_client/models/disable2fa_request.rb +0 -164
  153. data/lib/openapi_client/models/enable2fa_request.rb +0 -164
  154. data/lib/openapi_client/models/endpoint.rb +0 -321
  155. data/lib/openapi_client/models/endpoint_health.rb +0 -183
  156. data/lib/openapi_client/models/endpoints_endpoint_id_transforms_test_post_request.rb +0 -156
  157. data/lib/openapi_client/models/endpoints_id_rotate_secret_post200_response.rb +0 -156
  158. data/lib/openapi_client/models/error.rb +0 -165
  159. data/lib/openapi_client/models/forgot_password_request.rb +0 -164
  160. data/lib/openapi_client/models/invite_request.rb +0 -207
  161. data/lib/openapi_client/models/invoice_response.rb +0 -183
  162. data/lib/openapi_client/models/latency_trend_response.rb +0 -167
  163. data/lib/openapi_client/models/latency_trend_response_buckets_inner.rb +0 -165
  164. data/lib/openapi_client/models/login_request.rb +0 -190
  165. data/lib/openapi_client/models/notification.rb +0 -193
  166. data/lib/openapi_client/models/notification_list_response.rb +0 -167
  167. data/lib/openapi_client/models/notification_preferences.rb +0 -201
  168. data/lib/openapi_client/models/notifications_unread_count_get200_response.rb +0 -147
  169. data/lib/openapi_client/models/outbound_ips_response.rb +0 -158
  170. data/lib/openapi_client/models/paginated_users.rb +0 -176
  171. data/lib/openapi_client/models/playground_get200_response.rb +0 -160
  172. data/lib/openapi_client/models/portal_notifications_put200_response.rb +0 -156
  173. data/lib/openapi_client/models/portal_profile.rb +0 -184
  174. data/lib/openapi_client/models/refresh_token_request.rb +0 -164
  175. data/lib/openapi_client/models/register_device_request.rb +0 -208
  176. data/lib/openapi_client/models/register_request.rb +0 -201
  177. data/lib/openapi_client/models/register_schema_request.rb +0 -191
  178. data/lib/openapi_client/models/resend_verification_request.rb +0 -164
  179. data/lib/openapi_client/models/reset_password_request.rb +0 -199
  180. data/lib/openapi_client/models/retry_policy.rb +0 -216
  181. data/lib/openapi_client/models/routing_info.rb +0 -193
  182. data/lib/openapi_client/models/search_result.rb +0 -158
  183. data/lib/openapi_client/models/simulator_post_request.rb +0 -165
  184. data/lib/openapi_client/models/sso_config_post_request.rb +0 -190
  185. data/lib/openapi_client/models/stats_response.rb +0 -210
  186. data/lib/openapi_client/models/stream_params.rb +0 -201
  187. data/lib/openapi_client/models/subscription_response.rb +0 -201
  188. data/lib/openapi_client/models/success_rate_response.rb +0 -183
  189. data/lib/openapi_client/models/system_stats.rb +0 -185
  190. data/lib/openapi_client/models/system_stats_plan_breakdown_inner.rb +0 -156
  191. data/lib/openapi_client/models/system_status.rb +0 -210
  192. data/lib/openapi_client/models/system_status_components_inner.rb +0 -184
  193. data/lib/openapi_client/models/team.rb +0 -165
  194. data/lib/openapi_client/models/team_detail_response.rb +0 -169
  195. data/lib/openapi_client/models/team_invite.rb +0 -174
  196. data/lib/openapi_client/models/team_member.rb +0 -193
  197. data/lib/openapi_client/models/test_webhook_request.rb +0 -199
  198. data/lib/openapi_client/models/test_webhook_response.rb +0 -174
  199. data/lib/openapi_client/models/transform_rule.rb +0 -201
  200. data/lib/openapi_client/models/two_factor_required_response.rb +0 -165
  201. data/lib/openapi_client/models/update_endpoint_request.rb +0 -278
  202. data/lib/openapi_client/models/update_notification_preferences.rb +0 -195
  203. data/lib/openapi_client/models/update_profile_request.rb +0 -190
  204. data/lib/openapi_client/models/update_routing_request.rb +0 -190
  205. data/lib/openapi_client/models/upgrade_request.rb +0 -209
  206. data/lib/openapi_client/models/upgrade_response.rb +0 -166
  207. data/lib/openapi_client/models/usage_response.rb +0 -201
  208. data/lib/openapi_client/models/user_summary.rb +0 -193
  209. data/lib/openapi_client/models/validate_event_request.rb +0 -164
  210. data/lib/openapi_client/models/verify2fa_request.rb +0 -208
  211. data/lib/openapi_client/models/verify_email_request.rb +0 -164
  212. data/lib/openapi_client/models/webhook_template.rb +0 -183
  213. data/lib/openapi_client/version.rb +0 -15
  214. data/lib/openapi_client.rb +0 -169
@@ -0,0 +1,102 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module HookSniff
6
+ class EndpointIn
7
+ # List of message channels this endpoint listens to (omit for all).
8
+ attr_accessor :channels
9
+ attr_accessor :description
10
+ attr_accessor :disabled
11
+ attr_accessor :filter_types
12
+ attr_accessor :headers
13
+ attr_accessor :metadata
14
+ # Deprecated, use `throttleRate` instead.
15
+ attr_accessor :rate_limit
16
+ # The endpoint's verification secret.
17
+ #
18
+ # Format: `base64` encoded random bytes optionally prefixed with `whsec_`.
19
+ # It is recommended to not set this and let the server generate the secret.
20
+ attr_accessor :secret
21
+ # Maximum messages per second to send to this endpoint.
22
+ #
23
+ # Outgoing messages will be throttled to this rate.
24
+ attr_accessor :throttle_rate
25
+ # Optional unique identifier for the endpoint.
26
+ attr_accessor :uid
27
+ attr_accessor :url
28
+ attr_accessor :version
29
+
30
+ ALL_FIELD ||= [
31
+ "channels",
32
+ "description",
33
+ "disabled",
34
+ "filter_types",
35
+ "headers",
36
+ "metadata",
37
+ "rate_limit",
38
+ "secret",
39
+ "throttle_rate",
40
+ "uid",
41
+ "url",
42
+ "version"
43
+ ].freeze
44
+ private_constant :ALL_FIELD
45
+
46
+ def initialize(attributes = {})
47
+ unless attributes.is_a?(Hash)
48
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `HookSniff::EndpointIn` new method")
49
+ end
50
+
51
+ attributes.each do |k, v|
52
+ unless ALL_FIELD.include?(k.to_s)
53
+ fail(ArgumentError, "The field #{k} is not part of HookSniff::EndpointIn")
54
+ end
55
+
56
+ instance_variable_set("@#{k}", v)
57
+ instance_variable_set("@__#{k}_is_defined", true)
58
+ end
59
+ end
60
+
61
+ def self.deserialize(attributes = {})
62
+ attributes = attributes.transform_keys(&:to_s)
63
+ attrs = Hash.new
64
+ attrs["channels"] = attributes["channels"]
65
+ attrs["description"] = attributes["description"]
66
+ attrs["disabled"] = attributes["disabled"]
67
+ attrs["filter_types"] = attributes["filterTypes"]
68
+ attrs["headers"] = attributes["headers"]
69
+ attrs["metadata"] = attributes["metadata"]
70
+ attrs["rate_limit"] = attributes["rateLimit"]
71
+ attrs["secret"] = attributes["secret"]
72
+ attrs["throttle_rate"] = attributes["throttleRate"]
73
+ attrs["uid"] = attributes["uid"]
74
+ attrs["url"] = attributes["url"]
75
+ attrs["version"] = attributes["version"]
76
+ new(attrs)
77
+ end
78
+
79
+ def serialize
80
+ out = Hash.new
81
+ out["channels"] = HookSniff::serialize_primitive(@channels) if @channels
82
+ out["description"] = HookSniff::serialize_primitive(@description) if @description
83
+ out["disabled"] = HookSniff::serialize_primitive(@disabled) if @disabled
84
+ out["filterTypes"] = HookSniff::serialize_primitive(@filter_types) if @filter_types
85
+ out["headers"] = HookSniff::serialize_primitive(@headers) if @headers
86
+ out["metadata"] = HookSniff::serialize_primitive(@metadata) if @metadata
87
+ out["rateLimit"] = HookSniff::serialize_primitive(@rate_limit) if @rate_limit
88
+ out["secret"] = HookSniff::serialize_primitive(@secret) if @secret
89
+ out["throttleRate"] = HookSniff::serialize_primitive(@throttle_rate) if @throttle_rate
90
+ out["uid"] = HookSniff::serialize_primitive(@uid) if @uid
91
+ out["url"] = HookSniff::serialize_primitive(@url) if @url
92
+ out["version"] = HookSniff::serialize_primitive(@version) if @version
93
+ out
94
+ end
95
+
96
+ # Serializes the object to a json string
97
+ # @return String
98
+ def to_json
99
+ JSON.dump(serialize)
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module HookSniff
6
+ class EndpointOut
7
+ # List of message channels this endpoint listens to (omit for all).
8
+ attr_accessor :channels
9
+ attr_accessor :created_at
10
+ # An example endpoint name.
11
+ attr_accessor :description
12
+ attr_accessor :disabled
13
+ attr_accessor :filter_types
14
+ # The Endpoint's ID.
15
+ attr_accessor :id
16
+ attr_accessor :metadata
17
+ # Deprecated, use `throttleRate` instead.
18
+ attr_accessor :rate_limit
19
+ # Maximum messages per second to send to this endpoint.
20
+ #
21
+ # Outgoing messages will be throttled to this rate.
22
+ attr_accessor :throttle_rate
23
+ # Optional unique identifier for the endpoint.
24
+ attr_accessor :uid
25
+ attr_accessor :updated_at
26
+ attr_accessor :url
27
+ attr_accessor :version
28
+
29
+ ALL_FIELD ||= [
30
+ "channels",
31
+ "created_at",
32
+ "description",
33
+ "disabled",
34
+ "filter_types",
35
+ "id",
36
+ "metadata",
37
+ "rate_limit",
38
+ "throttle_rate",
39
+ "uid",
40
+ "updated_at",
41
+ "url",
42
+ "version"
43
+ ].freeze
44
+ private_constant :ALL_FIELD
45
+
46
+ def initialize(attributes = {})
47
+ unless attributes.is_a?(Hash)
48
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `HookSniff::EndpointOut` new method")
49
+ end
50
+
51
+ attributes.each do |k, v|
52
+ unless ALL_FIELD.include?(k.to_s)
53
+ fail(ArgumentError, "The field #{k} is not part of HookSniff::EndpointOut")
54
+ end
55
+
56
+ instance_variable_set("@#{k}", v)
57
+ instance_variable_set("@__#{k}_is_defined", true)
58
+ end
59
+ end
60
+
61
+ def self.deserialize(attributes = {})
62
+ attributes = attributes.transform_keys(&:to_s)
63
+ attrs = Hash.new
64
+ attrs["channels"] = attributes["channels"]
65
+ attrs["created_at"] = DateTime.rfc3339(attributes["createdAt"]).to_time
66
+ attrs["description"] = attributes["description"]
67
+ attrs["disabled"] = attributes["disabled"]
68
+ attrs["filter_types"] = attributes["filterTypes"]
69
+ attrs["id"] = attributes["id"]
70
+ attrs["metadata"] = attributes["metadata"]
71
+ attrs["rate_limit"] = attributes["rateLimit"]
72
+ attrs["throttle_rate"] = attributes["throttleRate"]
73
+ attrs["uid"] = attributes["uid"]
74
+ attrs["updated_at"] = DateTime.rfc3339(attributes["updatedAt"]).to_time
75
+ attrs["url"] = attributes["url"]
76
+ attrs["version"] = attributes["version"]
77
+ new(attrs)
78
+ end
79
+
80
+ def serialize
81
+ out = Hash.new
82
+ out["channels"] = HookSniff::serialize_primitive(@channels) if @channels
83
+ out["createdAt"] = HookSniff::serialize_primitive(@created_at) if @created_at
84
+ out["description"] = HookSniff::serialize_primitive(@description) if @description
85
+ out["disabled"] = HookSniff::serialize_primitive(@disabled) if @disabled
86
+ out["filterTypes"] = HookSniff::serialize_primitive(@filter_types) if @filter_types
87
+ out["id"] = HookSniff::serialize_primitive(@id) if @id
88
+ out["metadata"] = HookSniff::serialize_primitive(@metadata) if @metadata
89
+ out["rateLimit"] = HookSniff::serialize_primitive(@rate_limit) if @rate_limit
90
+ out["throttleRate"] = HookSniff::serialize_primitive(@throttle_rate) if @throttle_rate
91
+ out["uid"] = HookSniff::serialize_primitive(@uid) if @uid
92
+ out["updatedAt"] = HookSniff::serialize_primitive(@updated_at) if @updated_at
93
+ out["url"] = HookSniff::serialize_primitive(@url) if @url
94
+ out["version"] = HookSniff::serialize_primitive(@version) if @version
95
+ out
96
+ end
97
+
98
+ # Serializes the object to a json string
99
+ # @return String
100
+ def to_json
101
+ JSON.dump(serialize)
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,97 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module HookSniff
6
+ class EndpointPatch
7
+ attr_accessor :channels
8
+ attr_accessor :description
9
+ attr_accessor :disabled
10
+ attr_accessor :filter_types
11
+ attr_accessor :metadata
12
+ # Deprecated, use `throttleRate` instead.
13
+ attr_accessor :rate_limit
14
+ # The endpoint's verification secret.
15
+ #
16
+ # Format: `base64` encoded random bytes optionally prefixed with `whsec_`.
17
+ # It is recommended to not set this and let the server generate the secret.
18
+ attr_accessor :secret
19
+ # Maximum messages per second to send to this endpoint.
20
+ #
21
+ # Outgoing messages will be throttled to this rate.
22
+ attr_accessor :throttle_rate
23
+ # The Endpoint's UID.
24
+ attr_accessor :uid
25
+ attr_accessor :url
26
+ attr_accessor :version
27
+
28
+ ALL_FIELD ||= [
29
+ "channels",
30
+ "description",
31
+ "disabled",
32
+ "filter_types",
33
+ "metadata",
34
+ "rate_limit",
35
+ "secret",
36
+ "throttle_rate",
37
+ "uid",
38
+ "url",
39
+ "version"
40
+ ].freeze
41
+ private_constant :ALL_FIELD
42
+
43
+ def initialize(attributes = {})
44
+ unless attributes.is_a?(Hash)
45
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `HookSniff::EndpointPatch` new method")
46
+ end
47
+
48
+ attributes.each do |k, v|
49
+ unless ALL_FIELD.include?(k.to_s)
50
+ fail(ArgumentError, "The field #{k} is not part of HookSniff::EndpointPatch")
51
+ end
52
+
53
+ instance_variable_set("@#{k}", v)
54
+ instance_variable_set("@__#{k}_is_defined", true)
55
+ end
56
+ end
57
+
58
+ def self.deserialize(attributes = {})
59
+ attributes = attributes.transform_keys(&:to_s)
60
+ attrs = Hash.new
61
+ attrs["channels"] = attributes["channels"]
62
+ attrs["description"] = attributes["description"]
63
+ attrs["disabled"] = attributes["disabled"]
64
+ attrs["filter_types"] = attributes["filterTypes"]
65
+ attrs["metadata"] = attributes["metadata"]
66
+ attrs["rate_limit"] = attributes["rateLimit"]
67
+ attrs["secret"] = attributes["secret"]
68
+ attrs["throttle_rate"] = attributes["throttleRate"]
69
+ attrs["uid"] = attributes["uid"]
70
+ attrs["url"] = attributes["url"]
71
+ attrs["version"] = attributes["version"]
72
+ new(attrs)
73
+ end
74
+
75
+ def serialize
76
+ out = Hash.new
77
+ out["channels"] = HookSniff::serialize_primitive(@channels) if @__channels_is_defined
78
+ out["description"] = HookSniff::serialize_primitive(@description) if @description
79
+ out["disabled"] = HookSniff::serialize_primitive(@disabled) if @disabled
80
+ out["filterTypes"] = HookSniff::serialize_primitive(@filter_types) if @__filter_types_is_defined
81
+ out["metadata"] = HookSniff::serialize_primitive(@metadata) if @metadata
82
+ out["rateLimit"] = HookSniff::serialize_primitive(@rate_limit) if @__rate_limit_is_defined
83
+ out["secret"] = HookSniff::serialize_primitive(@secret) if @__secret_is_defined
84
+ out["throttleRate"] = HookSniff::serialize_primitive(@throttle_rate) if @__throttle_rate_is_defined
85
+ out["uid"] = HookSniff::serialize_primitive(@uid) if @__uid_is_defined
86
+ out["url"] = HookSniff::serialize_primitive(@url) if @url
87
+ out["version"] = HookSniff::serialize_primitive(@version) if @version
88
+ out
89
+ end
90
+
91
+ # Serializes the object to a json string
92
+ # @return String
93
+ def to_json
94
+ JSON.dump(serialize)
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module HookSniff
6
+ class EndpointSecretOut
7
+ # The endpoint's verification secret.
8
+ #
9
+ # Format: `base64` encoded random bytes optionally prefixed with `whsec_`.
10
+ # It is recommended to not set this and let the server generate the secret.
11
+ attr_accessor :key
12
+
13
+ ALL_FIELD ||= ["key"].freeze
14
+ private_constant :ALL_FIELD
15
+
16
+ def initialize(attributes = {})
17
+ unless attributes.is_a?(Hash)
18
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `HookSniff::EndpointSecretOut` new method")
19
+ end
20
+
21
+ attributes.each do |k, v|
22
+ unless ALL_FIELD.include?(k.to_s)
23
+ fail(ArgumentError, "The field #{k} is not part of HookSniff::EndpointSecretOut")
24
+ end
25
+
26
+ instance_variable_set("@#{k}", v)
27
+ instance_variable_set("@__#{k}_is_defined", true)
28
+ end
29
+ end
30
+
31
+ def self.deserialize(attributes = {})
32
+ attributes = attributes.transform_keys(&:to_s)
33
+ attrs = Hash.new
34
+ attrs["key"] = attributes["key"]
35
+ new(attrs)
36
+ end
37
+
38
+ def serialize
39
+ out = Hash.new
40
+ out["key"] = HookSniff::serialize_primitive(@key) if @key
41
+ out
42
+ end
43
+
44
+ # Serializes the object to a json string
45
+ # @return String
46
+ def to_json
47
+ JSON.dump(serialize)
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module HookSniff
6
+ class EndpointSecretRotateIn
7
+ # The endpoint's verification secret.
8
+ #
9
+ # Format: `base64` encoded random bytes optionally prefixed with `whsec_`.
10
+ # It is recommended to not set this and let the server generate the secret.
11
+ attr_accessor :key
12
+
13
+ ALL_FIELD ||= ["key"].freeze
14
+ private_constant :ALL_FIELD
15
+
16
+ def initialize(attributes = {})
17
+ unless attributes.is_a?(Hash)
18
+ fail(
19
+ ArgumentError,
20
+ "The input argument (attributes) must be a hash in `HookSniff::EndpointSecretRotateIn` new method"
21
+ )
22
+ end
23
+
24
+ attributes.each do |k, v|
25
+ unless ALL_FIELD.include?(k.to_s)
26
+ fail(ArgumentError, "The field #{k} is not part of HookSniff::EndpointSecretRotateIn")
27
+ end
28
+
29
+ instance_variable_set("@#{k}", v)
30
+ instance_variable_set("@__#{k}_is_defined", true)
31
+ end
32
+ end
33
+
34
+ def self.deserialize(attributes = {})
35
+ attributes = attributes.transform_keys(&:to_s)
36
+ attrs = Hash.new
37
+ attrs["key"] = attributes["key"]
38
+ new(attrs)
39
+ end
40
+
41
+ def serialize
42
+ out = Hash.new
43
+ out["key"] = HookSniff::serialize_primitive(@key) if @key
44
+ out
45
+ end
46
+
47
+ # Serializes the object to a json string
48
+ # @return String
49
+ def to_json
50
+ JSON.dump(serialize)
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module HookSniff
6
+ class EndpointUpdate
7
+ # List of message channels this endpoint listens to (omit for all).
8
+ attr_accessor :channels
9
+ attr_accessor :description
10
+ attr_accessor :disabled
11
+ attr_accessor :filter_types
12
+ attr_accessor :metadata
13
+ # Deprecated, use `throttleRate` instead.
14
+ attr_accessor :rate_limit
15
+ # Maximum messages per second to send to this endpoint.
16
+ #
17
+ # Outgoing messages will be throttled to this rate.
18
+ attr_accessor :throttle_rate
19
+ # Optional unique identifier for the endpoint.
20
+ attr_accessor :uid
21
+ attr_accessor :url
22
+ attr_accessor :version
23
+
24
+ ALL_FIELD ||= [
25
+ "channels",
26
+ "description",
27
+ "disabled",
28
+ "filter_types",
29
+ "metadata",
30
+ "rate_limit",
31
+ "throttle_rate",
32
+ "uid",
33
+ "url",
34
+ "version"
35
+ ].freeze
36
+ private_constant :ALL_FIELD
37
+
38
+ def initialize(attributes = {})
39
+ unless attributes.is_a?(Hash)
40
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `HookSniff::EndpointUpdate` new method")
41
+ end
42
+
43
+ attributes.each do |k, v|
44
+ unless ALL_FIELD.include?(k.to_s)
45
+ fail(ArgumentError, "The field #{k} is not part of HookSniff::EndpointUpdate")
46
+ end
47
+
48
+ instance_variable_set("@#{k}", v)
49
+ instance_variable_set("@__#{k}_is_defined", true)
50
+ end
51
+ end
52
+
53
+ def self.deserialize(attributes = {})
54
+ attributes = attributes.transform_keys(&:to_s)
55
+ attrs = Hash.new
56
+ attrs["channels"] = attributes["channels"]
57
+ attrs["description"] = attributes["description"]
58
+ attrs["disabled"] = attributes["disabled"]
59
+ attrs["filter_types"] = attributes["filterTypes"]
60
+ attrs["metadata"] = attributes["metadata"]
61
+ attrs["rate_limit"] = attributes["rateLimit"]
62
+ attrs["throttle_rate"] = attributes["throttleRate"]
63
+ attrs["uid"] = attributes["uid"]
64
+ attrs["url"] = attributes["url"]
65
+ attrs["version"] = attributes["version"]
66
+ new(attrs)
67
+ end
68
+
69
+ def serialize
70
+ out = Hash.new
71
+ out["channels"] = HookSniff::serialize_primitive(@channels) if @channels
72
+ out["description"] = HookSniff::serialize_primitive(@description) if @description
73
+ out["disabled"] = HookSniff::serialize_primitive(@disabled) if @disabled
74
+ out["filterTypes"] = HookSniff::serialize_primitive(@filter_types) if @filter_types
75
+ out["metadata"] = HookSniff::serialize_primitive(@metadata) if @metadata
76
+ out["rateLimit"] = HookSniff::serialize_primitive(@rate_limit) if @rate_limit
77
+ out["throttleRate"] = HookSniff::serialize_primitive(@throttle_rate) if @throttle_rate
78
+ out["uid"] = HookSniff::serialize_primitive(@uid) if @uid
79
+ out["url"] = HookSniff::serialize_primitive(@url) if @url
80
+ out["version"] = HookSniff::serialize_primitive(@version) if @version
81
+ out
82
+ end
83
+
84
+ # Serializes the object to a json string
85
+ # @return String
86
+ def to_json
87
+ JSON.dump(serialize)
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module HookSniff
6
+ # Sent when an endpoint is updated.
7
+ class EndpointUpdatedEvent
8
+ attr_accessor :data
9
+ attr_accessor :type
10
+
11
+ ALL_FIELD ||= ["data", "type"].freeze
12
+ private_constant :ALL_FIELD
13
+
14
+ def initialize(attributes = {})
15
+ unless attributes.is_a?(Hash)
16
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `HookSniff::EndpointUpdatedEvent` new method")
17
+ end
18
+
19
+ attributes.each do |k, v|
20
+ unless ALL_FIELD.include?(k.to_s)
21
+ fail(ArgumentError, "The field #{k} is not part of HookSniff::EndpointUpdatedEvent")
22
+ end
23
+
24
+ instance_variable_set("@#{k}", v)
25
+ instance_variable_set("@__#{k}_is_defined", true)
26
+ end
27
+ end
28
+
29
+ def self.deserialize(attributes = {})
30
+ attributes = attributes.transform_keys(&:to_s)
31
+ attrs = Hash.new
32
+ attrs["data"] = HookSniff::EndpointUpdatedEventData.deserialize(attributes["data"])
33
+ attrs["type"] = attributes["type"]
34
+ new(attrs)
35
+ end
36
+
37
+ def serialize
38
+ out = Hash.new
39
+ out["data"] = HookSniff::serialize_schema_ref(@data) if @data
40
+ out["type"] = HookSniff::serialize_primitive(@type) if @type
41
+ out
42
+ end
43
+
44
+ # Serializes the object to a json string
45
+ # @return String
46
+ def to_json
47
+ JSON.dump(serialize)
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module HookSniff
6
+ # Sent when an endpoint is created, updated, or deleted
7
+ class EndpointUpdatedEventData
8
+ # The Application's ID.
9
+ attr_accessor :app_id
10
+ # The Application's UID.
11
+ attr_accessor :app_uid
12
+ # The Endpoint's ID.
13
+ attr_accessor :endpoint_id
14
+ # The Endpoint's UID.
15
+ attr_accessor :endpoint_uid
16
+
17
+ ALL_FIELD ||= ["app_id", "app_uid", "endpoint_id", "endpoint_uid"].freeze
18
+ private_constant :ALL_FIELD
19
+
20
+ def initialize(attributes = {})
21
+ unless attributes.is_a?(Hash)
22
+ fail(
23
+ ArgumentError,
24
+ "The input argument (attributes) must be a hash in `HookSniff::EndpointUpdatedEventData` new method"
25
+ )
26
+ end
27
+
28
+ attributes.each do |k, v|
29
+ unless ALL_FIELD.include?(k.to_s)
30
+ fail(ArgumentError, "The field #{k} is not part of HookSniff::EndpointUpdatedEventData")
31
+ end
32
+
33
+ instance_variable_set("@#{k}", v)
34
+ instance_variable_set("@__#{k}_is_defined", true)
35
+ end
36
+ end
37
+
38
+ def self.deserialize(attributes = {})
39
+ attributes = attributes.transform_keys(&:to_s)
40
+ attrs = Hash.new
41
+ attrs["app_id"] = attributes["appId"]
42
+ attrs["app_uid"] = attributes["appUid"]
43
+ attrs["endpoint_id"] = attributes["endpointId"]
44
+ attrs["endpoint_uid"] = attributes["endpointUid"]
45
+ new(attrs)
46
+ end
47
+
48
+ def serialize
49
+ out = Hash.new
50
+ out["appId"] = HookSniff::serialize_primitive(@app_id) if @app_id
51
+ out["appUid"] = HookSniff::serialize_primitive(@app_uid) if @app_uid
52
+ out["endpointId"] = HookSniff::serialize_primitive(@endpoint_id) if @endpoint_id
53
+ out["endpointUid"] = HookSniff::serialize_primitive(@endpoint_uid) if @endpoint_uid
54
+ out
55
+ end
56
+
57
+ # Serializes the object to a json string
58
+ # @return String
59
+ def to_json
60
+ JSON.dump(serialize)
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module HookSniff
6
+ class EventIn
7
+ # The event type's name
8
+ attr_accessor :event_type
9
+ attr_accessor :payload
10
+
11
+ ALL_FIELD ||= ["event_type", "payload"].freeze
12
+ private_constant :ALL_FIELD
13
+
14
+ def initialize(attributes = {})
15
+ unless attributes.is_a?(Hash)
16
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `HookSniff::EventIn` new method")
17
+ end
18
+
19
+ attributes.each do |k, v|
20
+ unless ALL_FIELD.include?(k.to_s)
21
+ fail(ArgumentError, "The field #{k} is not part of HookSniff::EventIn")
22
+ end
23
+
24
+ instance_variable_set("@#{k}", v)
25
+ instance_variable_set("@__#{k}_is_defined", true)
26
+ end
27
+ end
28
+
29
+ def self.deserialize(attributes = {})
30
+ attributes = attributes.transform_keys(&:to_s)
31
+ attrs = Hash.new
32
+ attrs["event_type"] = attributes["eventType"]
33
+ attrs["payload"] = attributes["payload"]
34
+ new(attrs)
35
+ end
36
+
37
+ def serialize
38
+ out = Hash.new
39
+ out["eventType"] = HookSniff::serialize_primitive(@event_type) if @event_type
40
+ out["payload"] = HookSniff::serialize_primitive(@payload) if @payload
41
+ out
42
+ end
43
+
44
+ # Serializes the object to a json string
45
+ # @return String
46
+ def to_json
47
+ JSON.dump(serialize)
48
+ end
49
+ end
50
+ end