svix 1.15.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -5
- data/lib/svix/api/environment_api.rb +61 -12
- data/lib/svix/api/event_type_api.rb +152 -0
- data/lib/svix/api/inbound_api.rb +206 -0
- data/lib/svix/api/message_api.rb +96 -0
- data/lib/svix/api/message_attempt_api.rb +62 -2
- data/lib/svix/api/transformation_template_api.rb +68 -0
- data/lib/svix/models/completion_choice.rb +251 -0
- data/lib/svix/models/completion_message.rb +237 -0
- data/lib/svix/models/custom_color_palette.rb +28 -7
- data/lib/svix/models/duration.rb +275 -0
- data/lib/svix/models/endpoint_message_out.rb +19 -1
- data/lib/svix/models/environment_settings_out.rb +56 -2
- data/lib/svix/models/font_size_config.rb +15 -0
- data/lib/svix/models/generate_in.rb +223 -0
- data/lib/svix/models/generate_out.rb +281 -0
- data/lib/svix/models/inbound_path_params.rb +277 -0
- data/lib/svix/models/message_in.rb +16 -5
- data/lib/svix/models/message_out.rb +19 -1
- data/lib/svix/models/message_stream_out.rb +253 -0
- data/lib/svix/models/retry_schedule_in_out.rb +220 -0
- data/lib/svix/models/rotated_url_out.rb +223 -0
- data/lib/svix/models/settings_in.rb +35 -2
- data/lib/svix/models/settings_out.rb +35 -2
- data/lib/svix/version.rb +1 -1
- data/svix.gemspec +1 -1
- metadata +13 -3
@@ -439,6 +439,7 @@ module Svix
|
|
439
439
|
# @option opts [Integer] :limit Limit the number of returned items
|
440
440
|
# @option opts [String] :iterator The iterator returned from a prior invocation
|
441
441
|
# @option opts [String] :channel Filter response based on the channel
|
442
|
+
# @option opts [String] :tag Filter response based on the message tags
|
442
443
|
# @option opts [MessageStatus] :status Filter response based on the delivery status
|
443
444
|
# @option opts [Time] :before Only include items created before a certain date
|
444
445
|
# @option opts [Time] :after Only include items created after a certain date
|
@@ -458,6 +459,7 @@ module Svix
|
|
458
459
|
# @option opts [Integer] :limit Limit the number of returned items
|
459
460
|
# @option opts [String] :iterator The iterator returned from a prior invocation
|
460
461
|
# @option opts [String] :channel Filter response based on the channel
|
462
|
+
# @option opts [String] :tag Filter response based on the message tags
|
461
463
|
# @option opts [MessageStatus] :status Filter response based on the delivery status
|
462
464
|
# @option opts [Time] :before Only include items created before a certain date
|
463
465
|
# @option opts [Time] :after Only include items created after a certain date
|
@@ -519,6 +521,15 @@ module Svix
|
|
519
521
|
fail ArgumentError, "invalid value for 'opts[:\"channel\"]' when calling MessageAttemptApi.v1_message_attempt_list_attempted_messages, must conform to the pattern #{pattern}."
|
520
522
|
end
|
521
523
|
|
524
|
+
if @api_client.config.client_side_validation && !opts[:'tag'].nil? && opts[:'tag'].to_s.length > 128
|
525
|
+
fail ArgumentError, 'invalid value for "opts[:"tag"]" when calling MessageAttemptApi.v1_message_attempt_list_attempted_messages, the character length must be smaller than or equal to 128.'
|
526
|
+
end
|
527
|
+
|
528
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
529
|
+
if @api_client.config.client_side_validation && !opts[:'tag'].nil? && opts[:'tag'] !~ pattern
|
530
|
+
fail ArgumentError, "invalid value for 'opts[:\"tag\"]' when calling MessageAttemptApi.v1_message_attempt_list_attempted_messages, must conform to the pattern #{pattern}."
|
531
|
+
end
|
532
|
+
|
522
533
|
# resource path
|
523
534
|
local_var_path = '/api/v1/app/{app_id}/endpoint/{endpoint_id}/msg/'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s)).sub('{' + 'endpoint_id' + '}', CGI.escape(endpoint_id.to_s))
|
524
535
|
|
@@ -527,6 +538,7 @@ module Svix
|
|
527
538
|
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
528
539
|
query_params[:'iterator'] = opts[:'iterator'] if !opts[:'iterator'].nil?
|
529
540
|
query_params[:'channel'] = opts[:'channel'] if !opts[:'channel'].nil?
|
541
|
+
query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
|
530
542
|
query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
|
531
543
|
query_params[:'before'] = opts[:'before'] if !opts[:'before'].nil?
|
532
544
|
query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil?
|
@@ -577,10 +589,11 @@ module Svix
|
|
577
589
|
# @option opts [MessageStatus] :status Filter response based on the delivery status
|
578
590
|
# @option opts [StatusCodeClass] :status_code_class Filter response based on the HTTP status code
|
579
591
|
# @option opts [String] :channel Filter response based on the channel
|
592
|
+
# @option opts [String] :tag Filter response based on the tag
|
580
593
|
# @option opts [Time] :before Only include items created before a certain date
|
581
594
|
# @option opts [Time] :after Only include items created after a certain date
|
582
595
|
# @option opts [Boolean] :with_content When `true` attempt content is included in the response (default to true)
|
583
|
-
# @option opts [Boolean] :with_msg
|
596
|
+
# @option opts [Boolean] :with_msg When `true`, the message information is included in the response (default to false)
|
584
597
|
# @option opts [Array<String>] :event_types Filter response based on the event type
|
585
598
|
# @return [ListResponseMessageAttemptOut]
|
586
599
|
def v1_message_attempt_list_by_endpoint(app_id, endpoint_id, opts = {})
|
@@ -598,10 +611,11 @@ module Svix
|
|
598
611
|
# @option opts [MessageStatus] :status Filter response based on the delivery status
|
599
612
|
# @option opts [StatusCodeClass] :status_code_class Filter response based on the HTTP status code
|
600
613
|
# @option opts [String] :channel Filter response based on the channel
|
614
|
+
# @option opts [String] :tag Filter response based on the tag
|
601
615
|
# @option opts [Time] :before Only include items created before a certain date
|
602
616
|
# @option opts [Time] :after Only include items created after a certain date
|
603
617
|
# @option opts [Boolean] :with_content When `true` attempt content is included in the response
|
604
|
-
# @option opts [Boolean] :with_msg
|
618
|
+
# @option opts [Boolean] :with_msg When `true`, the message information is included in the response
|
605
619
|
# @option opts [Array<String>] :event_types Filter response based on the event type
|
606
620
|
# @return [Array<(ListResponseMessageAttemptOut, Integer, Hash)>] ListResponseMessageAttemptOut data, response status code and response headers
|
607
621
|
def v1_message_attempt_list_by_endpoint_with_http_info(app_id, endpoint_id, opts = {})
|
@@ -659,6 +673,15 @@ module Svix
|
|
659
673
|
fail ArgumentError, "invalid value for 'opts[:\"channel\"]' when calling MessageAttemptApi.v1_message_attempt_list_by_endpoint, must conform to the pattern #{pattern}."
|
660
674
|
end
|
661
675
|
|
676
|
+
if @api_client.config.client_side_validation && !opts[:'tag'].nil? && opts[:'tag'].to_s.length > 128
|
677
|
+
fail ArgumentError, 'invalid value for "opts[:"tag"]" when calling MessageAttemptApi.v1_message_attempt_list_by_endpoint, the character length must be smaller than or equal to 128.'
|
678
|
+
end
|
679
|
+
|
680
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
681
|
+
if @api_client.config.client_side_validation && !opts[:'tag'].nil? && opts[:'tag'] !~ pattern
|
682
|
+
fail ArgumentError, "invalid value for 'opts[:\"tag\"]' when calling MessageAttemptApi.v1_message_attempt_list_by_endpoint, must conform to the pattern #{pattern}."
|
683
|
+
end
|
684
|
+
|
662
685
|
# resource path
|
663
686
|
local_var_path = '/api/v1/app/{app_id}/attempt/endpoint/{endpoint_id}/'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s)).sub('{' + 'endpoint_id' + '}', CGI.escape(endpoint_id.to_s))
|
664
687
|
|
@@ -669,6 +692,7 @@ module Svix
|
|
669
692
|
query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
|
670
693
|
query_params[:'status_code_class'] = opts[:'status_code_class'] if !opts[:'status_code_class'].nil?
|
671
694
|
query_params[:'channel'] = opts[:'channel'] if !opts[:'channel'].nil?
|
695
|
+
query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
|
672
696
|
query_params[:'before'] = opts[:'before'] if !opts[:'before'].nil?
|
673
697
|
query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil?
|
674
698
|
query_params[:'with_content'] = opts[:'with_content'] if !opts[:'with_content'].nil?
|
@@ -718,6 +742,7 @@ module Svix
|
|
718
742
|
# @option opts [Integer] :limit Limit the number of returned items
|
719
743
|
# @option opts [String] :iterator The iterator returned from a prior invocation
|
720
744
|
# @option opts [String] :channel Filter response based on the channel
|
745
|
+
# @option opts [String] :tag Filter response based on the tag
|
721
746
|
# @option opts [MessageStatus] :status Filter response based on the delivery status
|
722
747
|
# @option opts [Time] :before Only include items created before a certain date
|
723
748
|
# @option opts [Time] :after Only include items created after a certain date
|
@@ -737,6 +762,7 @@ module Svix
|
|
737
762
|
# @option opts [Integer] :limit Limit the number of returned items
|
738
763
|
# @option opts [String] :iterator The iterator returned from a prior invocation
|
739
764
|
# @option opts [String] :channel Filter response based on the channel
|
765
|
+
# @option opts [String] :tag Filter response based on the tag
|
740
766
|
# @option opts [MessageStatus] :status Filter response based on the delivery status
|
741
767
|
# @option opts [Time] :before Only include items created before a certain date
|
742
768
|
# @option opts [Time] :after Only include items created after a certain date
|
@@ -814,6 +840,15 @@ module Svix
|
|
814
840
|
fail ArgumentError, "invalid value for 'opts[:\"channel\"]' when calling MessageAttemptApi.v1_message_attempt_list_by_endpoint_deprecated, must conform to the pattern #{pattern}."
|
815
841
|
end
|
816
842
|
|
843
|
+
if @api_client.config.client_side_validation && !opts[:'tag'].nil? && opts[:'tag'].to_s.length > 128
|
844
|
+
fail ArgumentError, 'invalid value for "opts[:"tag"]" when calling MessageAttemptApi.v1_message_attempt_list_by_endpoint_deprecated, the character length must be smaller than or equal to 128.'
|
845
|
+
end
|
846
|
+
|
847
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
848
|
+
if @api_client.config.client_side_validation && !opts[:'tag'].nil? && opts[:'tag'] !~ pattern
|
849
|
+
fail ArgumentError, "invalid value for 'opts[:\"tag\"]' when calling MessageAttemptApi.v1_message_attempt_list_by_endpoint_deprecated, must conform to the pattern #{pattern}."
|
850
|
+
end
|
851
|
+
|
817
852
|
# resource path
|
818
853
|
local_var_path = '/api/v1/app/{app_id}/msg/{msg_id}/endpoint/{endpoint_id}/attempt/'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s)).sub('{' + 'msg_id' + '}', CGI.escape(msg_id.to_s)).sub('{' + 'endpoint_id' + '}', CGI.escape(endpoint_id.to_s))
|
819
854
|
|
@@ -822,6 +857,7 @@ module Svix
|
|
822
857
|
query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
|
823
858
|
query_params[:'iterator'] = opts[:'iterator'] if !opts[:'iterator'].nil?
|
824
859
|
query_params[:'channel'] = opts[:'channel'] if !opts[:'channel'].nil?
|
860
|
+
query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
|
825
861
|
query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
|
826
862
|
query_params[:'before'] = opts[:'before'] if !opts[:'before'].nil?
|
827
863
|
query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil?
|
@@ -871,6 +907,7 @@ module Svix
|
|
871
907
|
# @option opts [MessageStatus] :status Filter response based on the delivery status
|
872
908
|
# @option opts [StatusCodeClass] :status_code_class Filter response based on the HTTP status code
|
873
909
|
# @option opts [String] :channel Filter response based on the channel
|
910
|
+
# @option opts [String] :tag Filter response based on the tag
|
874
911
|
# @option opts [String] :endpoint_id Filter the attempts based on the attempted endpoint
|
875
912
|
# @option opts [Time] :before Only include items created before a certain date
|
876
913
|
# @option opts [Time] :after Only include items created after a certain date
|
@@ -892,6 +929,7 @@ module Svix
|
|
892
929
|
# @option opts [MessageStatus] :status Filter response based on the delivery status
|
893
930
|
# @option opts [StatusCodeClass] :status_code_class Filter response based on the HTTP status code
|
894
931
|
# @option opts [String] :channel Filter response based on the channel
|
932
|
+
# @option opts [String] :tag Filter response based on the tag
|
895
933
|
# @option opts [String] :endpoint_id Filter the attempts based on the attempted endpoint
|
896
934
|
# @option opts [Time] :before Only include items created before a certain date
|
897
935
|
# @option opts [Time] :after Only include items created after a certain date
|
@@ -953,6 +991,15 @@ module Svix
|
|
953
991
|
fail ArgumentError, "invalid value for 'opts[:\"channel\"]' when calling MessageAttemptApi.v1_message_attempt_list_by_msg, must conform to the pattern #{pattern}."
|
954
992
|
end
|
955
993
|
|
994
|
+
if @api_client.config.client_side_validation && !opts[:'tag'].nil? && opts[:'tag'].to_s.length > 128
|
995
|
+
fail ArgumentError, 'invalid value for "opts[:"tag"]" when calling MessageAttemptApi.v1_message_attempt_list_by_msg, the character length must be smaller than or equal to 128.'
|
996
|
+
end
|
997
|
+
|
998
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
999
|
+
if @api_client.config.client_side_validation && !opts[:'tag'].nil? && opts[:'tag'] !~ pattern
|
1000
|
+
fail ArgumentError, "invalid value for 'opts[:\"tag\"]' when calling MessageAttemptApi.v1_message_attempt_list_by_msg, must conform to the pattern #{pattern}."
|
1001
|
+
end
|
1002
|
+
|
956
1003
|
if @api_client.config.client_side_validation && !opts[:'endpoint_id'].nil? && opts[:'endpoint_id'].to_s.length > 256
|
957
1004
|
fail ArgumentError, 'invalid value for "opts[:"endpoint_id"]" when calling MessageAttemptApi.v1_message_attempt_list_by_msg, the character length must be smaller than or equal to 256.'
|
958
1005
|
end
|
@@ -976,6 +1023,7 @@ module Svix
|
|
976
1023
|
query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
|
977
1024
|
query_params[:'status_code_class'] = opts[:'status_code_class'] if !opts[:'status_code_class'].nil?
|
978
1025
|
query_params[:'channel'] = opts[:'channel'] if !opts[:'channel'].nil?
|
1026
|
+
query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
|
979
1027
|
query_params[:'endpoint_id'] = opts[:'endpoint_id'] if !opts[:'endpoint_id'].nil?
|
980
1028
|
query_params[:'before'] = opts[:'before'] if !opts[:'before'].nil?
|
981
1029
|
query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil?
|
@@ -1025,6 +1073,7 @@ module Svix
|
|
1025
1073
|
# @option opts [String] :iterator The iterator returned from a prior invocation
|
1026
1074
|
# @option opts [String] :endpoint_id Filter the attempts based on the attempted endpoint
|
1027
1075
|
# @option opts [String] :channel Filter response based on the channel
|
1076
|
+
# @option opts [String] :tag Filter response based on the tag
|
1028
1077
|
# @option opts [MessageStatus] :status Filter response based on the delivery status
|
1029
1078
|
# @option opts [Time] :before Only include items created before a certain date
|
1030
1079
|
# @option opts [Time] :after Only include items created after a certain date
|
@@ -1045,6 +1094,7 @@ module Svix
|
|
1045
1094
|
# @option opts [String] :iterator The iterator returned from a prior invocation
|
1046
1095
|
# @option opts [String] :endpoint_id Filter the attempts based on the attempted endpoint
|
1047
1096
|
# @option opts [String] :channel Filter response based on the channel
|
1097
|
+
# @option opts [String] :tag Filter response based on the tag
|
1048
1098
|
# @option opts [MessageStatus] :status Filter response based on the delivery status
|
1049
1099
|
# @option opts [Time] :before Only include items created before a certain date
|
1050
1100
|
# @option opts [Time] :after Only include items created after a certain date
|
@@ -1119,6 +1169,15 @@ module Svix
|
|
1119
1169
|
fail ArgumentError, "invalid value for 'opts[:\"channel\"]' when calling MessageAttemptApi.v1_message_attempt_list_by_msg_deprecated, must conform to the pattern #{pattern}."
|
1120
1170
|
end
|
1121
1171
|
|
1172
|
+
if @api_client.config.client_side_validation && !opts[:'tag'].nil? && opts[:'tag'].to_s.length > 128
|
1173
|
+
fail ArgumentError, 'invalid value for "opts[:"tag"]" when calling MessageAttemptApi.v1_message_attempt_list_by_msg_deprecated, the character length must be smaller than or equal to 128.'
|
1174
|
+
end
|
1175
|
+
|
1176
|
+
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
1177
|
+
if @api_client.config.client_side_validation && !opts[:'tag'].nil? && opts[:'tag'] !~ pattern
|
1178
|
+
fail ArgumentError, "invalid value for 'opts[:\"tag\"]' when calling MessageAttemptApi.v1_message_attempt_list_by_msg_deprecated, must conform to the pattern #{pattern}."
|
1179
|
+
end
|
1180
|
+
|
1122
1181
|
# resource path
|
1123
1182
|
local_var_path = '/api/v1/app/{app_id}/msg/{msg_id}/attempt/'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s)).sub('{' + 'msg_id' + '}', CGI.escape(msg_id.to_s))
|
1124
1183
|
|
@@ -1128,6 +1187,7 @@ module Svix
|
|
1128
1187
|
query_params[:'iterator'] = opts[:'iterator'] if !opts[:'iterator'].nil?
|
1129
1188
|
query_params[:'endpoint_id'] = opts[:'endpoint_id'] if !opts[:'endpoint_id'].nil?
|
1130
1189
|
query_params[:'channel'] = opts[:'channel'] if !opts[:'channel'].nil?
|
1190
|
+
query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
|
1131
1191
|
query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
|
1132
1192
|
query_params[:'before'] = opts[:'before'] if !opts[:'before'].nil?
|
1133
1193
|
query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil?
|
@@ -150,6 +150,74 @@ module Svix
|
|
150
150
|
return data, status_code, headers
|
151
151
|
end
|
152
152
|
|
153
|
+
# Generate
|
154
|
+
# Use OpenAI's Completion API to generate code for a transformation template
|
155
|
+
# @param generate_in [GenerateIn]
|
156
|
+
# @param [Hash] opts the optional parameters
|
157
|
+
# @option opts [String] :idempotency_key The request's idempotency key
|
158
|
+
# @return [GenerateOut]
|
159
|
+
def v1_transformation_template_generate(generate_in, opts = {})
|
160
|
+
data, _status_code, _headers = v1_transformation_template_generate_with_http_info(generate_in, opts)
|
161
|
+
data
|
162
|
+
end
|
163
|
+
|
164
|
+
# Generate
|
165
|
+
# Use OpenAI's Completion API to generate code for a transformation template
|
166
|
+
# @param generate_in [GenerateIn]
|
167
|
+
# @param [Hash] opts the optional parameters
|
168
|
+
# @option opts [String] :idempotency_key The request's idempotency key
|
169
|
+
# @return [Array<(GenerateOut, Integer, Hash)>] GenerateOut data, response status code and response headers
|
170
|
+
def v1_transformation_template_generate_with_http_info(generate_in, opts = {})
|
171
|
+
if @api_client.config.debugging
|
172
|
+
@api_client.config.logger.debug 'Calling API: TransformationTemplateApi.v1_transformation_template_generate ...'
|
173
|
+
end
|
174
|
+
# verify the required parameter 'generate_in' is set
|
175
|
+
if @api_client.config.client_side_validation && generate_in.nil?
|
176
|
+
fail ArgumentError, "Missing the required parameter 'generate_in' when calling TransformationTemplateApi.v1_transformation_template_generate"
|
177
|
+
end
|
178
|
+
# resource path
|
179
|
+
local_var_path = '/api/v1/transformation-template/generate'
|
180
|
+
|
181
|
+
# query parameters
|
182
|
+
query_params = opts[:query_params] || {}
|
183
|
+
|
184
|
+
# header parameters
|
185
|
+
header_params = opts[:header_params] || {}
|
186
|
+
# HTTP header 'Accept' (if needed)
|
187
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
188
|
+
# HTTP header 'Content-Type'
|
189
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
190
|
+
header_params[:'idempotency-key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
191
|
+
|
192
|
+
# form parameters
|
193
|
+
form_params = opts[:form_params] || {}
|
194
|
+
|
195
|
+
# http body (model)
|
196
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(generate_in)
|
197
|
+
|
198
|
+
# return_type
|
199
|
+
return_type = opts[:debug_return_type] || 'GenerateOut'
|
200
|
+
|
201
|
+
# auth_names
|
202
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
203
|
+
|
204
|
+
new_options = opts.merge(
|
205
|
+
:operation => :"TransformationTemplateApi.v1_transformation_template_generate",
|
206
|
+
:header_params => header_params,
|
207
|
+
:query_params => query_params,
|
208
|
+
:form_params => form_params,
|
209
|
+
:body => post_body,
|
210
|
+
:auth_names => auth_names,
|
211
|
+
:return_type => return_type
|
212
|
+
)
|
213
|
+
|
214
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
215
|
+
if @api_client.config.debugging
|
216
|
+
@api_client.config.logger.debug "API called: TransformationTemplateApi#v1_transformation_template_generate\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
217
|
+
end
|
218
|
+
return data, status_code, headers
|
219
|
+
end
|
220
|
+
|
153
221
|
# Get Transformation Template
|
154
222
|
# Get a transformation template
|
155
223
|
# @param transformation_template_id [String]
|
@@ -0,0 +1,251 @@
|
|
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
|
+
OpenAPI Generator version: 5.2.0
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
require 'time'
|
15
|
+
|
16
|
+
module Svix
|
17
|
+
class CompletionChoice
|
18
|
+
attr_accessor :finish_reason
|
19
|
+
|
20
|
+
attr_accessor :index
|
21
|
+
|
22
|
+
attr_accessor :message
|
23
|
+
|
24
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
25
|
+
def self.attribute_map
|
26
|
+
{
|
27
|
+
:'finish_reason' => :'finish_reason',
|
28
|
+
:'index' => :'index',
|
29
|
+
:'message' => :'message'
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
# Returns all the JSON keys this model knows about
|
34
|
+
def self.acceptable_attributes
|
35
|
+
attribute_map.values
|
36
|
+
end
|
37
|
+
|
38
|
+
# Attribute type mapping.
|
39
|
+
def self.openapi_types
|
40
|
+
{
|
41
|
+
:'finish_reason' => :'String',
|
42
|
+
:'index' => :'Integer',
|
43
|
+
:'message' => :'CompletionMessage'
|
44
|
+
}
|
45
|
+
end
|
46
|
+
|
47
|
+
# List of attributes with nullable: true
|
48
|
+
def self.openapi_nullable
|
49
|
+
Set.new([
|
50
|
+
])
|
51
|
+
end
|
52
|
+
|
53
|
+
# Initializes the object
|
54
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
55
|
+
def initialize(attributes = {})
|
56
|
+
if (!attributes.is_a?(Hash))
|
57
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Svix::CompletionChoice` initialize method"
|
58
|
+
end
|
59
|
+
|
60
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
61
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
62
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
63
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Svix::CompletionChoice`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
64
|
+
end
|
65
|
+
h[k.to_sym] = v
|
66
|
+
}
|
67
|
+
|
68
|
+
if attributes.key?(:'finish_reason')
|
69
|
+
self.finish_reason = attributes[:'finish_reason']
|
70
|
+
end
|
71
|
+
|
72
|
+
if attributes.key?(:'index')
|
73
|
+
self.index = attributes[:'index']
|
74
|
+
end
|
75
|
+
|
76
|
+
if attributes.key?(:'message')
|
77
|
+
self.message = attributes[:'message']
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
82
|
+
# @return Array for valid properties with the reasons
|
83
|
+
def list_invalid_properties
|
84
|
+
invalid_properties = Array.new
|
85
|
+
if @finish_reason.nil?
|
86
|
+
invalid_properties.push('invalid value for "finish_reason", finish_reason cannot be nil.')
|
87
|
+
end
|
88
|
+
|
89
|
+
if @index.nil?
|
90
|
+
invalid_properties.push('invalid value for "index", index cannot be nil.')
|
91
|
+
end
|
92
|
+
|
93
|
+
if @message.nil?
|
94
|
+
invalid_properties.push('invalid value for "message", message cannot be nil.')
|
95
|
+
end
|
96
|
+
|
97
|
+
invalid_properties
|
98
|
+
end
|
99
|
+
|
100
|
+
# Check to see if the all the properties in the model are valid
|
101
|
+
# @return true if the model is valid
|
102
|
+
def valid?
|
103
|
+
return false if @finish_reason.nil?
|
104
|
+
return false if @index.nil?
|
105
|
+
return false if @message.nil?
|
106
|
+
true
|
107
|
+
end
|
108
|
+
|
109
|
+
# Checks equality by comparing each attribute.
|
110
|
+
# @param [Object] Object to be compared
|
111
|
+
def ==(o)
|
112
|
+
return true if self.equal?(o)
|
113
|
+
self.class == o.class &&
|
114
|
+
finish_reason == o.finish_reason &&
|
115
|
+
index == o.index &&
|
116
|
+
message == o.message
|
117
|
+
end
|
118
|
+
|
119
|
+
# @see the `==` method
|
120
|
+
# @param [Object] Object to be compared
|
121
|
+
def eql?(o)
|
122
|
+
self == o
|
123
|
+
end
|
124
|
+
|
125
|
+
# Calculates hash code according to all attributes.
|
126
|
+
# @return [Integer] Hash code
|
127
|
+
def hash
|
128
|
+
[finish_reason, index, message].hash
|
129
|
+
end
|
130
|
+
|
131
|
+
# Builds the object from hash
|
132
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
133
|
+
# @return [Object] Returns the model itself
|
134
|
+
def self.build_from_hash(attributes)
|
135
|
+
new.build_from_hash(attributes)
|
136
|
+
end
|
137
|
+
|
138
|
+
# Builds the object from hash
|
139
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
140
|
+
# @return [Object] Returns the model itself
|
141
|
+
def build_from_hash(attributes)
|
142
|
+
return nil unless attributes.is_a?(Hash)
|
143
|
+
self.class.openapi_types.each_pair do |key, type|
|
144
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
145
|
+
self.send("#{key}=", nil)
|
146
|
+
elsif type =~ /\AArray<(.*)>/i
|
147
|
+
# check to ensure the input is an array given that the attribute
|
148
|
+
# is documented as an array but the input is not
|
149
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
150
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
151
|
+
end
|
152
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
153
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
self
|
158
|
+
end
|
159
|
+
|
160
|
+
# Deserializes the data based on type
|
161
|
+
# @param string type Data type
|
162
|
+
# @param string value Value to be deserialized
|
163
|
+
# @return [Object] Deserialized data
|
164
|
+
def _deserialize(type, value)
|
165
|
+
case type.to_sym
|
166
|
+
when :Time
|
167
|
+
Time.parse(value)
|
168
|
+
when :Date
|
169
|
+
Date.parse(value)
|
170
|
+
when :String
|
171
|
+
value.to_s
|
172
|
+
when :Integer
|
173
|
+
value.to_i
|
174
|
+
when :Float
|
175
|
+
value.to_f
|
176
|
+
when :Boolean
|
177
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
178
|
+
true
|
179
|
+
else
|
180
|
+
false
|
181
|
+
end
|
182
|
+
when :Object
|
183
|
+
# generic object (usually a Hash), return directly
|
184
|
+
value
|
185
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
186
|
+
inner_type = Regexp.last_match[:inner_type]
|
187
|
+
value.map { |v| _deserialize(inner_type, v) }
|
188
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
189
|
+
k_type = Regexp.last_match[:k_type]
|
190
|
+
v_type = Regexp.last_match[:v_type]
|
191
|
+
{}.tap do |hash|
|
192
|
+
value.each do |k, v|
|
193
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
194
|
+
end
|
195
|
+
end
|
196
|
+
else # model
|
197
|
+
# models (e.g. Pet) or oneOf
|
198
|
+
klass = Svix.const_get(type)
|
199
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
203
|
+
# Returns the string representation of the object
|
204
|
+
# @return [String] String presentation of the object
|
205
|
+
def to_s
|
206
|
+
to_hash.to_s
|
207
|
+
end
|
208
|
+
|
209
|
+
# to_body is an alias to to_hash (backward compatibility)
|
210
|
+
# @return [Hash] Returns the object in the form of hash
|
211
|
+
def to_body
|
212
|
+
to_hash
|
213
|
+
end
|
214
|
+
|
215
|
+
# Returns the object in the form of hash
|
216
|
+
# @return [Hash] Returns the object in the form of hash
|
217
|
+
def to_hash
|
218
|
+
hash = {}
|
219
|
+
self.class.attribute_map.each_pair do |attr, param|
|
220
|
+
value = self.send(attr)
|
221
|
+
if value.nil?
|
222
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
223
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
224
|
+
end
|
225
|
+
|
226
|
+
hash[param] = _to_hash(value)
|
227
|
+
end
|
228
|
+
hash
|
229
|
+
end
|
230
|
+
|
231
|
+
# Outputs non-array value in the form of hash
|
232
|
+
# For object, use to_hash. Otherwise, just return the value
|
233
|
+
# @param [Object] value Any valid value
|
234
|
+
# @return [Hash] Returns the value in the form of hash
|
235
|
+
def _to_hash(value)
|
236
|
+
if value.is_a?(Array)
|
237
|
+
value.compact.map { |v| _to_hash(v) }
|
238
|
+
elsif value.is_a?(Hash)
|
239
|
+
{}.tap do |hash|
|
240
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
241
|
+
end
|
242
|
+
elsif value.respond_to? :to_hash
|
243
|
+
value.to_hash
|
244
|
+
else
|
245
|
+
value
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
249
|
+
end
|
250
|
+
|
251
|
+
end
|