algolia 3.0.0.beta.13 → 3.0.0.beta.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f77bf84313db0abf2e0ab5356eb7e4e467847a95b6fccd7525af505c9a36a03b
4
- data.tar.gz: 21160bde664c846a9ea521cc0958a26e712c9b6a073c1fa2d387240cb5f61da7
3
+ metadata.gz: aa356a7920a8c47434ef454abd4acbecfbe59d78f3674d831de62508befa5394
4
+ data.tar.gz: 97ae7b4933e3502204cc99e47245d1a1867573f4c2fcc7f9a7255c5db5dfb8f7
5
5
  SHA512:
6
- metadata.gz: 507469790e2f77f9e7815ba593a272af8ef9ba7aef78f0d1c8629516fe5637af8d632e009ebadc86e58e1d14420db1f4939905ef7517d9918c9675f3655443e1
7
- data.tar.gz: 916f2b0afcf839b4ab383ab208328e2ff526ff8202424bcd4958a81f627ff0060b9f4dfa0e17c357d52e706e97b08c844682e09cc6c995892a9974837fb0e8b1
6
+ metadata.gz: b942ff296dc370086cb144b5cbfd282186b3603e09fb7f9c86788f2b6a2f373e1bb78a6ffe3d12063ae440e746264851a2afd1286cf372e9266418b4bc1e509c
7
+ data.tar.gz: 151ab96c0f4f100a9bb90970e9440812999fc16e4c630ac8760941c40ece88d1b725d6fa1775fd7f2bd2687b027095899e5a78b4e0bebcbc40abd85851116b0f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## [3.0.0.beta.15](https://github.com/algolia/algoliasearch-client-ruby/compare/3.0.0.beta.14...3.0.0.beta.15)
2
+
3
+ - [7d2ab99ce](https://github.com/algolia/api-clients-automation/commit/7d2ab99ce) feat(specs): add authentications to ingestion transformations ([#3494](https://github.com/algolia/api-clients-automation/pull/3494)) by [@shortcuts](https://github.com/shortcuts/)
4
+
5
+ ## [3.0.0.beta.14](https://github.com/algolia/algoliasearch-client-ruby/compare/3.0.0.beta.13...3.0.0.beta.14)
6
+
7
+ - [2c6147ee7](https://github.com/algolia/api-clients-automation/commit/2c6147ee7) feat(specs): add generate code endpoint to ingestion specs ([#3489](https://github.com/algolia/api-clients-automation/pull/3489)) by [@shortcuts](https://github.com/shortcuts/)
8
+ - [6c62a81a7](https://github.com/algolia/api-clients-automation/commit/6c62a81a7) fix(specs): ingestion docker task input ([#3488](https://github.com/algolia/api-clients-automation/pull/3488)) by [@shortcuts](https://github.com/shortcuts/)
9
+ - [eab2887f8](https://github.com/algolia/api-clients-automation/commit/eab2887f8) fix(specs): ingestion search endpoint ([#3487](https://github.com/algolia/api-clients-automation/pull/3487)) by [@shortcuts](https://github.com/shortcuts/)
10
+
1
11
  ## [3.0.0.beta.13](https://github.com/algolia/algoliasearch-client-ruby/compare/3.0.0.beta.12...3.0.0.beta.13)
2
12
 
3
13
  - [ac0cadb8a](https://github.com/algolia/api-clients-automation/commit/ac0cadb8a) feat(specs): add transformation copilot to ingestion ([#3479](https://github.com/algolia/api-clients-automation/pull/3479)) by [@Fluf22](https://github.com/Fluf22/)
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- algolia (3.0.0.beta.13)
4
+ algolia (3.0.0.beta.15)
5
5
  base64 (>= 0.2.0, < 1)
6
6
  faraday (>= 1.0.1, < 3.0)
7
7
  faraday-net_http_persistent (>= 0.15, < 3)
@@ -953,6 +953,60 @@ module Algolia
953
953
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Ingestion::TaskUpdateResponse")
954
954
  end
955
955
 
956
+ # Generates code for the selected model based on the given prompt.
957
+ #
958
+ # Required API Key ACLs:
959
+ # - addObject
960
+ # - deleteIndex
961
+ # - editSettings
962
+ # @param generate_transformation_code_payload [GenerateTransformationCodePayload] (required)
963
+ # @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
964
+ # @return [Http::Response] the response
965
+ def generate_transformation_code_with_http_info(generate_transformation_code_payload, request_options = {})
966
+ # verify the required parameter 'generate_transformation_code_payload' is set
967
+ if @api_client.config.client_side_validation && generate_transformation_code_payload.nil?
968
+ raise(
969
+ ArgumentError,
970
+ "Parameter `generate_transformation_code_payload` is required when calling `generate_transformation_code`."
971
+ )
972
+ end
973
+
974
+ path = "/1/transformations/models"
975
+ query_params = {}
976
+ query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
977
+ header_params = {}
978
+ header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?
979
+
980
+ post_body = request_options[:debug_body] || @api_client.object_to_http_body(generate_transformation_code_payload)
981
+
982
+ new_options = request_options.merge(
983
+ :operation => :"IngestionClient.generate_transformation_code",
984
+ :header_params => header_params,
985
+ :query_params => query_params,
986
+ :body => post_body,
987
+ :use_read_transporter => false
988
+ )
989
+
990
+ @api_client.call_api(:POST, path, new_options)
991
+ end
992
+
993
+ # Generates code for the selected model based on the given prompt.
994
+ #
995
+ # Required API Key ACLs:
996
+ # - addObject
997
+ # - deleteIndex
998
+ # - editSettings
999
+ # @param generate_transformation_code_payload [GenerateTransformationCodePayload] (required)
1000
+ # @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
1001
+ # @return [GenerateTransformationCodeResponse]
1002
+ def generate_transformation_code(generate_transformation_code_payload, request_options = {})
1003
+ response = generate_transformation_code_with_http_info(generate_transformation_code_payload, request_options)
1004
+ @api_client.deserialize(
1005
+ response.body,
1006
+ request_options[:debug_return_type] || "Ingestion::GenerateTransformationCodeResponse"
1007
+ )
1008
+ end
1009
+
956
1010
  # Retrieves an authentication resource by its ID.
957
1011
  #
958
1012
  # Required API Key ACLs:
@@ -2172,7 +2226,7 @@ module Algolia
2172
2226
  # @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
2173
2227
  # @return [Http::Response] the response
2174
2228
  def list_transformation_models_with_http_info(request_options = {})
2175
- path = "/1/transformations/copilot"
2229
+ path = "/1/transformations/models"
2176
2230
  query_params = {}
2177
2231
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
2178
2232
  header_params = {}
@@ -2823,7 +2877,7 @@ module Algolia
2823
2877
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Ingestion::SourceWatchResponse")
2824
2878
  end
2825
2879
 
2826
- # Try a transformation.
2880
+ # Try a transformation before creating it.
2827
2881
  #
2828
2882
  # Required API Key ACLs:
2829
2883
  # - addObject
@@ -2832,10 +2886,10 @@ module Algolia
2832
2886
  # @param transformation_try [TransformationTry] (required)
2833
2887
  # @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
2834
2888
  # @return [Http::Response] the response
2835
- def try_transformations_with_http_info(transformation_try, request_options = {})
2889
+ def try_transformation_with_http_info(transformation_try, request_options = {})
2836
2890
  # verify the required parameter 'transformation_try' is set
2837
2891
  if @api_client.config.client_side_validation && transformation_try.nil?
2838
- raise ArgumentError, "Parameter `transformation_try` is required when calling `try_transformations`."
2892
+ raise ArgumentError, "Parameter `transformation_try` is required when calling `try_transformation`."
2839
2893
  end
2840
2894
 
2841
2895
  path = "/1/transformations/try"
@@ -2847,7 +2901,72 @@ module Algolia
2847
2901
  post_body = request_options[:debug_body] || @api_client.object_to_http_body(transformation_try)
2848
2902
 
2849
2903
  new_options = request_options.merge(
2850
- :operation => :"IngestionClient.try_transformations",
2904
+ :operation => :"IngestionClient.try_transformation",
2905
+ :header_params => header_params,
2906
+ :query_params => query_params,
2907
+ :body => post_body,
2908
+ :use_read_transporter => false
2909
+ )
2910
+
2911
+ @api_client.call_api(:POST, path, new_options)
2912
+ end
2913
+
2914
+ # Try a transformation before creating it.
2915
+ #
2916
+ # Required API Key ACLs:
2917
+ # - addObject
2918
+ # - deleteIndex
2919
+ # - editSettings
2920
+ # @param transformation_try [TransformationTry] (required)
2921
+ # @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
2922
+ # @return [TransformationTryResponse]
2923
+ def try_transformation(transformation_try, request_options = {})
2924
+ response = try_transformation_with_http_info(transformation_try, request_options)
2925
+ @api_client.deserialize(
2926
+ response.body,
2927
+ request_options[:debug_return_type] || "Ingestion::TransformationTryResponse"
2928
+ )
2929
+ end
2930
+
2931
+ # Try a transformation before updating it.
2932
+ #
2933
+ # Required API Key ACLs:
2934
+ # - addObject
2935
+ # - deleteIndex
2936
+ # - editSettings
2937
+ # @param transformation_id [String] Unique identifier of a transformation. (required)
2938
+ # @param transformation_try [TransformationTry] (required)
2939
+ # @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
2940
+ # @return [Http::Response] the response
2941
+ def try_transformation_before_update_with_http_info(transformation_id, transformation_try, request_options = {})
2942
+ # verify the required parameter 'transformation_id' is set
2943
+ if @api_client.config.client_side_validation && transformation_id.nil?
2944
+ raise(
2945
+ ArgumentError,
2946
+ "Parameter `transformation_id` is required when calling `try_transformation_before_update`."
2947
+ )
2948
+ end
2949
+ # verify the required parameter 'transformation_try' is set
2950
+ if @api_client.config.client_side_validation && transformation_try.nil?
2951
+ raise(
2952
+ ArgumentError,
2953
+ "Parameter `transformation_try` is required when calling `try_transformation_before_update`."
2954
+ )
2955
+ end
2956
+
2957
+ path = "/1/transformations/{transformationID}/try".sub(
2958
+ "{" + "transformationID" + "}",
2959
+ Transport.encode_uri(transformation_id.to_s)
2960
+ )
2961
+ query_params = {}
2962
+ query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
2963
+ header_params = {}
2964
+ header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?
2965
+
2966
+ post_body = request_options[:debug_body] || @api_client.object_to_http_body(transformation_try)
2967
+
2968
+ new_options = request_options.merge(
2969
+ :operation => :"IngestionClient.try_transformation_before_update",
2851
2970
  :header_params => header_params,
2852
2971
  :query_params => query_params,
2853
2972
  :body => post_body,
@@ -2857,17 +2976,18 @@ module Algolia
2857
2976
  @api_client.call_api(:POST, path, new_options)
2858
2977
  end
2859
2978
 
2860
- # Try a transformation.
2979
+ # Try a transformation before updating it.
2861
2980
  #
2862
2981
  # Required API Key ACLs:
2863
2982
  # - addObject
2864
2983
  # - deleteIndex
2865
2984
  # - editSettings
2985
+ # @param transformation_id [String] Unique identifier of a transformation. (required)
2866
2986
  # @param transformation_try [TransformationTry] (required)
2867
2987
  # @param request_options: The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)
2868
2988
  # @return [TransformationTryResponse]
2869
- def try_transformations(transformation_try, request_options = {})
2870
- response = try_transformations_with_http_info(transformation_try, request_options)
2989
+ def try_transformation_before_update(transformation_id, transformation_try, request_options = {})
2990
+ response = try_transformation_before_update_with_http_info(transformation_id, transformation_try, request_options)
2871
2991
  @api_client.deserialize(
2872
2992
  response.body,
2873
2993
  request_options[:debug_return_type] || "Ingestion::TransformationTryResponse"
@@ -0,0 +1,259 @@
1
+ # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
+
3
+ require "date"
4
+ require "time"
5
+
6
+ module Algolia
7
+ module Ingestion
8
+ class DockerStreams
9
+ # The name of the stream to fetch the data from (e.g. table name).
10
+ attr_accessor :name
11
+
12
+ # The properties of the stream to select (e.g. column).
13
+ attr_accessor :properties
14
+
15
+ attr_accessor :sync_mode
16
+
17
+ class EnumAttributeValidator
18
+ attr_reader :datatype
19
+ attr_reader :allowable_values
20
+
21
+ def initialize(datatype, allowable_values)
22
+ @allowable_values = allowable_values.map do |value|
23
+ case datatype.to_s
24
+ when /Integer/i
25
+ value.to_i
26
+ when /Float/i
27
+ value.to_f
28
+ else
29
+ value
30
+ end
31
+ end
32
+ end
33
+
34
+ def valid?(value)
35
+ !value || allowable_values.include?(value)
36
+ end
37
+ end
38
+
39
+ # Attribute mapping from ruby-style variable name to JSON key.
40
+ def self.attribute_map
41
+ {
42
+ :name => :name,
43
+ :properties => :properties,
44
+ :sync_mode => :syncMode
45
+ }
46
+ end
47
+
48
+ # Returns all the JSON keys this model knows about
49
+ def self.acceptable_attributes
50
+ attribute_map.values
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ def self.types_mapping
55
+ {
56
+ :name => :"String",
57
+ :properties => :"Array<String>",
58
+ :sync_mode => :"DockerStreamsSyncMode"
59
+ }
60
+ end
61
+
62
+ # List of attributes with nullable: true
63
+ def self.openapi_nullable
64
+ Set.new(
65
+ []
66
+ )
67
+ end
68
+
69
+ # Initializes the object
70
+ # @param [Hash] attributes Model attributes in the form of hash
71
+ def initialize(attributes = {})
72
+ if (!attributes.is_a?(Hash))
73
+ raise(
74
+ ArgumentError,
75
+ "The input argument (attributes) must be a hash in `Algolia::DockerStreams` initialize method"
76
+ )
77
+ end
78
+
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ attributes = attributes.each_with_object({}) { |(k, v), h|
81
+ if (!self.class.attribute_map.key?(k.to_sym))
82
+ raise(
83
+ ArgumentError,
84
+ "`#{k}` is not a valid attribute in `Algolia::DockerStreams`. Please check the name to make sure it's valid. List of attributes: " +
85
+ self.class.attribute_map.keys.inspect
86
+ )
87
+ end
88
+
89
+ h[k.to_sym] = v
90
+ }
91
+
92
+ if attributes.key?(:name)
93
+ self.name = attributes[:name]
94
+ else
95
+ self.name = nil
96
+ end
97
+
98
+ if attributes.key?(:properties)
99
+ if (value = attributes[:properties]).is_a?(Array)
100
+ self.properties = value
101
+ end
102
+ end
103
+
104
+ if attributes.key?(:sync_mode)
105
+ self.sync_mode = attributes[:sync_mode]
106
+ else
107
+ self.sync_mode = nil
108
+ end
109
+ end
110
+
111
+ # Checks equality by comparing each attribute.
112
+ # @param [Object] Object to be compared
113
+ def ==(other)
114
+ return true if self.equal?(other)
115
+ self.class == other.class &&
116
+ name == other.name &&
117
+ properties == other.properties &&
118
+ sync_mode == other.sync_mode
119
+ end
120
+
121
+ # @see the `==` method
122
+ # @param [Object] Object to be compared
123
+ def eql?(other)
124
+ self == other
125
+ end
126
+
127
+ # Calculates hash code according to all attributes.
128
+ # @return [Integer] Hash code
129
+ def hash
130
+ [name, properties, sync_mode].hash
131
+ end
132
+
133
+ # Builds the object from hash
134
+ # @param [Hash] attributes Model attributes in the form of hash
135
+ # @return [Object] Returns the model itself
136
+ def self.build_from_hash(attributes)
137
+ return nil unless attributes.is_a?(Hash)
138
+ attributes = attributes.transform_keys(&:to_sym)
139
+ transformed_hash = {}
140
+ types_mapping.each_pair do |key, type|
141
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
142
+ transformed_hash[key.to_sym] = nil
143
+ elsif type =~ /\AArray<(.*)>/i
144
+ # check to ensure the input is an array given that the attribute
145
+ # is documented as an array but the input is not
146
+ if attributes[attribute_map[key]].is_a?(Array)
147
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
148
+ _deserialize(::Regexp.last_match(1), v)
149
+ }
150
+ end
151
+ elsif !attributes[attribute_map[key]].nil?
152
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
153
+ end
154
+ end
155
+
156
+ new(transformed_hash)
157
+ end
158
+
159
+ # Deserializes the data based on type
160
+ # @param string type Data type
161
+ # @param string value Value to be deserialized
162
+ # @return [Object] Deserialized data
163
+ def self._deserialize(type, value)
164
+ case type.to_sym
165
+ when :Time
166
+ Time.parse(value)
167
+ when :Date
168
+ Date.parse(value)
169
+ when :String
170
+ value.to_s
171
+ when :Integer
172
+ value.to_i
173
+ when :Float
174
+ value.to_f
175
+ when :Boolean
176
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
177
+ true
178
+ else
179
+ false
180
+ end
181
+
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
+ # model
197
+ else
198
+ # models (e.g. Pet) or oneOf
199
+ klass = Algolia::Ingestion.const_get(type)
200
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
201
+ .build_from_hash(value)
202
+ end
203
+ end
204
+
205
+ # Returns the string representation of the object
206
+ # @return [String] String presentation of the object
207
+ def to_s
208
+ to_hash.to_s
209
+ end
210
+
211
+ # to_body is an alias to to_hash (backward compatibility)
212
+ # @return [Hash] Returns the object in the form of hash
213
+ def to_body
214
+ to_hash
215
+ end
216
+
217
+ def to_json(*_args)
218
+ to_hash.to_json
219
+ end
220
+
221
+ # Returns the object in the form of hash
222
+ # @return [Hash] Returns the object in the form of hash
223
+ def to_hash
224
+ hash = {}
225
+ self.class.attribute_map.each_pair do |attr, param|
226
+ value = send(attr)
227
+ if value.nil?
228
+ is_nullable = self.class.openapi_nullable.include?(attr)
229
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
230
+ end
231
+
232
+ hash[param] = _to_hash(value)
233
+ end
234
+
235
+ hash
236
+ end
237
+
238
+ # Outputs non-array value in the form of hash
239
+ # For object, use to_hash. Otherwise, just return the value
240
+ # @param [Object] value Any valid value
241
+ # @return [Hash] Returns the value in the form of hash
242
+ def _to_hash(value)
243
+ if value.is_a?(Array)
244
+ value.compact.map { |v| _to_hash(v) }
245
+ elsif value.is_a?(Hash)
246
+ {}.tap do |hash|
247
+ value.each { |k, v| hash[k] = _to_hash(v) }
248
+ end
249
+ elsif value.respond_to?(:to_hash)
250
+ value.to_hash
251
+ else
252
+ value
253
+ end
254
+ end
255
+
256
+ end
257
+
258
+ end
259
+ end
@@ -24,7 +24,7 @@ module Algolia
24
24
  # Attribute type mapping.
25
25
  def self.types_mapping
26
26
  {
27
- :streams => :"Object"
27
+ :streams => :"Array<DockerStreams>"
28
28
  }
29
29
  end
30
30
 
@@ -59,7 +59,9 @@ module Algolia
59
59
  }
60
60
 
61
61
  if attributes.key?(:streams)
62
- self.streams = attributes[:streams]
62
+ if (value = attributes[:streams]).is_a?(Array)
63
+ self.streams = value
64
+ end
63
65
  else
64
66
  self.streams = nil
65
67
  end
@@ -0,0 +1,32 @@
1
+ # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
+
3
+ require "date"
4
+ require "time"
5
+
6
+ module Algolia
7
+ module Ingestion
8
+ class DockerStreamsSyncMode
9
+ INCREMENTAL = "incremental".freeze
10
+ FULL_TABLE = "fullTable".freeze
11
+
12
+ def self.all_vars
13
+ @all_vars ||= [INCREMENTAL, FULL_TABLE].freeze
14
+ end
15
+
16
+ # Builds the enum from string
17
+ # @param [String] The enum value in the form of the string
18
+ # @return [String] The enum value
19
+ def self.build_from_hash(value)
20
+ new.build_from_hash(value)
21
+ end
22
+
23
+ # Builds the enum from string
24
+ # @param [String] The enum value in the form of the string
25
+ # @return [String] The enum value
26
+ def build_from_hash(value)
27
+ return value if DockerStreamsSyncMode.all_vars.include?(value)
28
+ raise "Invalid ENUM value #{value} for class #DockerStreamsSyncMode"
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,233 @@
1
+ # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
+
3
+ require "date"
4
+ require "time"
5
+
6
+ module Algolia
7
+ module Ingestion
8
+ class GenerateTransformationCodePayload
9
+ attr_accessor :id
10
+
11
+ attr_accessor :system_prompt
12
+
13
+ attr_accessor :user_prompt
14
+
15
+ # Attribute mapping from ruby-style variable name to JSON key.
16
+ def self.attribute_map
17
+ {
18
+ :id => :id,
19
+ :system_prompt => :systemPrompt,
20
+ :user_prompt => :userPrompt
21
+ }
22
+ end
23
+
24
+ # Returns all the JSON keys this model knows about
25
+ def self.acceptable_attributes
26
+ attribute_map.values
27
+ end
28
+
29
+ # Attribute type mapping.
30
+ def self.types_mapping
31
+ {
32
+ :id => :"String",
33
+ :system_prompt => :"String",
34
+ :user_prompt => :"String"
35
+ }
36
+ end
37
+
38
+ # List of attributes with nullable: true
39
+ def self.openapi_nullable
40
+ Set.new(
41
+ []
42
+ )
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param [Hash] attributes Model attributes in the form of hash
47
+ def initialize(attributes = {})
48
+ if (!attributes.is_a?(Hash))
49
+ raise(
50
+ ArgumentError,
51
+ "The input argument (attributes) must be a hash in `Algolia::GenerateTransformationCodePayload` initialize method"
52
+ )
53
+ end
54
+
55
+ # check to see if the attribute exists and convert string to symbol for hash key
56
+ attributes = attributes.each_with_object({}) { |(k, v), h|
57
+ if (!self.class.attribute_map.key?(k.to_sym))
58
+ raise(
59
+ ArgumentError,
60
+ "`#{k}` is not a valid attribute in `Algolia::GenerateTransformationCodePayload`. Please check the name to make sure it's valid. List of attributes: " +
61
+ self.class.attribute_map.keys.inspect
62
+ )
63
+ end
64
+
65
+ h[k.to_sym] = v
66
+ }
67
+
68
+ if attributes.key?(:id)
69
+ self.id = attributes[:id]
70
+ else
71
+ self.id = nil
72
+ end
73
+
74
+ if attributes.key?(:system_prompt)
75
+ self.system_prompt = attributes[:system_prompt]
76
+ end
77
+
78
+ if attributes.key?(:user_prompt)
79
+ self.user_prompt = attributes[:user_prompt]
80
+ else
81
+ self.user_prompt = nil
82
+ end
83
+ end
84
+
85
+ # Checks equality by comparing each attribute.
86
+ # @param [Object] Object to be compared
87
+ def ==(other)
88
+ return true if self.equal?(other)
89
+ self.class == other.class &&
90
+ id == other.id &&
91
+ system_prompt == other.system_prompt &&
92
+ user_prompt == other.user_prompt
93
+ end
94
+
95
+ # @see the `==` method
96
+ # @param [Object] Object to be compared
97
+ def eql?(other)
98
+ self == other
99
+ end
100
+
101
+ # Calculates hash code according to all attributes.
102
+ # @return [Integer] Hash code
103
+ def hash
104
+ [id, system_prompt, user_prompt].hash
105
+ end
106
+
107
+ # Builds the object from hash
108
+ # @param [Hash] attributes Model attributes in the form of hash
109
+ # @return [Object] Returns the model itself
110
+ def self.build_from_hash(attributes)
111
+ return nil unless attributes.is_a?(Hash)
112
+ attributes = attributes.transform_keys(&:to_sym)
113
+ transformed_hash = {}
114
+ types_mapping.each_pair do |key, type|
115
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
116
+ transformed_hash[key.to_sym] = nil
117
+ elsif type =~ /\AArray<(.*)>/i
118
+ # check to ensure the input is an array given that the attribute
119
+ # is documented as an array but the input is not
120
+ if attributes[attribute_map[key]].is_a?(Array)
121
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
122
+ _deserialize(::Regexp.last_match(1), v)
123
+ }
124
+ end
125
+ elsif !attributes[attribute_map[key]].nil?
126
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
127
+ end
128
+ end
129
+
130
+ new(transformed_hash)
131
+ end
132
+
133
+ # Deserializes the data based on type
134
+ # @param string type Data type
135
+ # @param string value Value to be deserialized
136
+ # @return [Object] Deserialized data
137
+ def self._deserialize(type, value)
138
+ case type.to_sym
139
+ when :Time
140
+ Time.parse(value)
141
+ when :Date
142
+ Date.parse(value)
143
+ when :String
144
+ value.to_s
145
+ when :Integer
146
+ value.to_i
147
+ when :Float
148
+ value.to_f
149
+ when :Boolean
150
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
151
+ true
152
+ else
153
+ false
154
+ end
155
+
156
+ when :Object
157
+ # generic object (usually a Hash), return directly
158
+ value
159
+ when /\AArray<(?<inner_type>.+)>\z/
160
+ inner_type = Regexp.last_match[:inner_type]
161
+ value.map { |v| _deserialize(inner_type, v) }
162
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
163
+ k_type = Regexp.last_match[:k_type]
164
+ v_type = Regexp.last_match[:v_type]
165
+ {}.tap do |hash|
166
+ value.each do |k, v|
167
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
168
+ end
169
+ end
170
+ # model
171
+ else
172
+ # models (e.g. Pet) or oneOf
173
+ klass = Algolia::Ingestion.const_get(type)
174
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
175
+ .build_from_hash(value)
176
+ end
177
+ end
178
+
179
+ # Returns the string representation of the object
180
+ # @return [String] String presentation of the object
181
+ def to_s
182
+ to_hash.to_s
183
+ end
184
+
185
+ # to_body is an alias to to_hash (backward compatibility)
186
+ # @return [Hash] Returns the object in the form of hash
187
+ def to_body
188
+ to_hash
189
+ end
190
+
191
+ def to_json(*_args)
192
+ to_hash.to_json
193
+ end
194
+
195
+ # Returns the object in the form of hash
196
+ # @return [Hash] Returns the object in the form of hash
197
+ def to_hash
198
+ hash = {}
199
+ self.class.attribute_map.each_pair do |attr, param|
200
+ value = send(attr)
201
+ if value.nil?
202
+ is_nullable = self.class.openapi_nullable.include?(attr)
203
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
204
+ end
205
+
206
+ hash[param] = _to_hash(value)
207
+ end
208
+
209
+ hash
210
+ end
211
+
212
+ # Outputs non-array value in the form of hash
213
+ # For object, use to_hash. Otherwise, just return the value
214
+ # @param [Object] value Any valid value
215
+ # @return [Hash] Returns the value in the form of hash
216
+ def _to_hash(value)
217
+ if value.is_a?(Array)
218
+ value.compact.map { |v| _to_hash(v) }
219
+ elsif value.is_a?(Hash)
220
+ {}.tap do |hash|
221
+ value.each { |k, v| hash[k] = _to_hash(v) }
222
+ end
223
+ elsif value.respond_to?(:to_hash)
224
+ value.to_hash
225
+ else
226
+ value
227
+ end
228
+ end
229
+
230
+ end
231
+
232
+ end
233
+ end
@@ -0,0 +1,211 @@
1
+ # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
+
3
+ require "date"
4
+ require "time"
5
+
6
+ module Algolia
7
+ module Ingestion
8
+ class GenerateTransformationCodeResponse
9
+ attr_accessor :generated_code
10
+
11
+ # Attribute mapping from ruby-style variable name to JSON key.
12
+ def self.attribute_map
13
+ {
14
+ :generated_code => :generatedCode
15
+ }
16
+ end
17
+
18
+ # Returns all the JSON keys this model knows about
19
+ def self.acceptable_attributes
20
+ attribute_map.values
21
+ end
22
+
23
+ # Attribute type mapping.
24
+ def self.types_mapping
25
+ {
26
+ :generated_code => :"String"
27
+ }
28
+ end
29
+
30
+ # List of attributes with nullable: true
31
+ def self.openapi_nullable
32
+ Set.new(
33
+ []
34
+ )
35
+ end
36
+
37
+ # Initializes the object
38
+ # @param [Hash] attributes Model attributes in the form of hash
39
+ def initialize(attributes = {})
40
+ if (!attributes.is_a?(Hash))
41
+ raise(
42
+ ArgumentError,
43
+ "The input argument (attributes) must be a hash in `Algolia::GenerateTransformationCodeResponse` initialize method"
44
+ )
45
+ end
46
+
47
+ # check to see if the attribute exists and convert string to symbol for hash key
48
+ attributes = attributes.each_with_object({}) { |(k, v), h|
49
+ if (!self.class.attribute_map.key?(k.to_sym))
50
+ raise(
51
+ ArgumentError,
52
+ "`#{k}` is not a valid attribute in `Algolia::GenerateTransformationCodeResponse`. Please check the name to make sure it's valid. List of attributes: " +
53
+ self.class.attribute_map.keys.inspect
54
+ )
55
+ end
56
+
57
+ h[k.to_sym] = v
58
+ }
59
+
60
+ if attributes.key?(:generated_code)
61
+ self.generated_code = attributes[:generated_code]
62
+ end
63
+ end
64
+
65
+ # Checks equality by comparing each attribute.
66
+ # @param [Object] Object to be compared
67
+ def ==(other)
68
+ return true if self.equal?(other)
69
+ self.class == other.class &&
70
+ generated_code == other.generated_code
71
+ end
72
+
73
+ # @see the `==` method
74
+ # @param [Object] Object to be compared
75
+ def eql?(other)
76
+ self == other
77
+ end
78
+
79
+ # Calculates hash code according to all attributes.
80
+ # @return [Integer] Hash code
81
+ def hash
82
+ [generated_code].hash
83
+ end
84
+
85
+ # Builds the object from hash
86
+ # @param [Hash] attributes Model attributes in the form of hash
87
+ # @return [Object] Returns the model itself
88
+ def self.build_from_hash(attributes)
89
+ return nil unless attributes.is_a?(Hash)
90
+ attributes = attributes.transform_keys(&:to_sym)
91
+ transformed_hash = {}
92
+ types_mapping.each_pair do |key, type|
93
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
94
+ transformed_hash[key.to_sym] = nil
95
+ elsif type =~ /\AArray<(.*)>/i
96
+ # check to ensure the input is an array given that the attribute
97
+ # is documented as an array but the input is not
98
+ if attributes[attribute_map[key]].is_a?(Array)
99
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
100
+ _deserialize(::Regexp.last_match(1), v)
101
+ }
102
+ end
103
+ elsif !attributes[attribute_map[key]].nil?
104
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
105
+ end
106
+ end
107
+
108
+ new(transformed_hash)
109
+ end
110
+
111
+ # Deserializes the data based on type
112
+ # @param string type Data type
113
+ # @param string value Value to be deserialized
114
+ # @return [Object] Deserialized data
115
+ def self._deserialize(type, value)
116
+ case type.to_sym
117
+ when :Time
118
+ Time.parse(value)
119
+ when :Date
120
+ Date.parse(value)
121
+ when :String
122
+ value.to_s
123
+ when :Integer
124
+ value.to_i
125
+ when :Float
126
+ value.to_f
127
+ when :Boolean
128
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
129
+ true
130
+ else
131
+ false
132
+ end
133
+
134
+ when :Object
135
+ # generic object (usually a Hash), return directly
136
+ value
137
+ when /\AArray<(?<inner_type>.+)>\z/
138
+ inner_type = Regexp.last_match[:inner_type]
139
+ value.map { |v| _deserialize(inner_type, v) }
140
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
141
+ k_type = Regexp.last_match[:k_type]
142
+ v_type = Regexp.last_match[:v_type]
143
+ {}.tap do |hash|
144
+ value.each do |k, v|
145
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
146
+ end
147
+ end
148
+ # model
149
+ else
150
+ # models (e.g. Pet) or oneOf
151
+ klass = Algolia::Ingestion.const_get(type)
152
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
153
+ .build_from_hash(value)
154
+ end
155
+ end
156
+
157
+ # Returns the string representation of the object
158
+ # @return [String] String presentation of the object
159
+ def to_s
160
+ to_hash.to_s
161
+ end
162
+
163
+ # to_body is an alias to to_hash (backward compatibility)
164
+ # @return [Hash] Returns the object in the form of hash
165
+ def to_body
166
+ to_hash
167
+ end
168
+
169
+ def to_json(*_args)
170
+ to_hash.to_json
171
+ end
172
+
173
+ # Returns the object in the form of hash
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_hash
176
+ hash = {}
177
+ self.class.attribute_map.each_pair do |attr, param|
178
+ value = send(attr)
179
+ if value.nil?
180
+ is_nullable = self.class.openapi_nullable.include?(attr)
181
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
182
+ end
183
+
184
+ hash[param] = _to_hash(value)
185
+ end
186
+
187
+ hash
188
+ end
189
+
190
+ # Outputs non-array value in the form of hash
191
+ # For object, use to_hash. Otherwise, just return the value
192
+ # @param [Object] value Any valid value
193
+ # @return [Hash] Returns the value in the form of hash
194
+ def _to_hash(value)
195
+ if value.is_a?(Array)
196
+ value.compact.map { |v| _to_hash(v) }
197
+ elsif value.is_a?(Hash)
198
+ {}.tap do |hash|
199
+ value.each { |k, v| hash[k] = _to_hash(v) }
200
+ end
201
+ elsif value.respond_to?(:to_hash)
202
+ value.to_hash
203
+ else
204
+ value
205
+ end
206
+ end
207
+
208
+ end
209
+
210
+ end
211
+ end
@@ -9,6 +9,9 @@ module Algolia
9
9
  # Universally unique identifier (UUID) of a transformation.
10
10
  attr_accessor :transformation_id
11
11
 
12
+ # The authentications associated for the current transformation.
13
+ attr_accessor :authentication_ids
14
+
12
15
  # The source code of the transformation.
13
16
  attr_accessor :code
14
17
 
@@ -28,6 +31,7 @@ module Algolia
28
31
  def self.attribute_map
29
32
  {
30
33
  :transformation_id => :transformationID,
34
+ :authentication_ids => :authenticationIDs,
31
35
  :code => :code,
32
36
  :name => :name,
33
37
  :description => :description,
@@ -45,6 +49,7 @@ module Algolia
45
49
  def self.types_mapping
46
50
  {
47
51
  :transformation_id => :"String",
52
+ :authentication_ids => :"Array<String>",
48
53
  :code => :"String",
49
54
  :name => :"String",
50
55
  :description => :"String",
@@ -89,6 +94,12 @@ module Algolia
89
94
  self.transformation_id = nil
90
95
  end
91
96
 
97
+ if attributes.key?(:authentication_ids)
98
+ if (value = attributes[:authentication_ids]).is_a?(Array)
99
+ self.authentication_ids = value
100
+ end
101
+ end
102
+
92
103
  if attributes.key?(:code)
93
104
  self.code = attributes[:code]
94
105
  else
@@ -122,6 +133,7 @@ module Algolia
122
133
  return true if self.equal?(other)
123
134
  self.class == other.class &&
124
135
  transformation_id == other.transformation_id &&
136
+ authentication_ids == other.authentication_ids &&
125
137
  code == other.code &&
126
138
  name == other.name &&
127
139
  description == other.description &&
@@ -138,7 +150,7 @@ module Algolia
138
150
  # Calculates hash code according to all attributes.
139
151
  # @return [Integer] Hash code
140
152
  def hash
141
- [transformation_id, code, name, description, created_at, updated_at].hash
153
+ [transformation_id, authentication_ids, code, name, description, created_at, updated_at].hash
142
154
  end
143
155
 
144
156
  # Builds the object from hash
@@ -16,12 +16,16 @@ module Algolia
16
16
  # A descriptive name for your transformation of what it does.
17
17
  attr_accessor :description
18
18
 
19
+ # The authentications associated for the current transformation.
20
+ attr_accessor :authentication_ids
21
+
19
22
  # Attribute mapping from ruby-style variable name to JSON key.
20
23
  def self.attribute_map
21
24
  {
22
25
  :code => :code,
23
26
  :name => :name,
24
- :description => :description
27
+ :description => :description,
28
+ :authentication_ids => :authenticationIDs
25
29
  }
26
30
  end
27
31
 
@@ -35,7 +39,8 @@ module Algolia
35
39
  {
36
40
  :code => :"String",
37
41
  :name => :"String",
38
- :description => :"String"
42
+ :description => :"String",
43
+ :authentication_ids => :"Array<String>"
39
44
  }
40
45
  end
41
46
 
@@ -84,6 +89,12 @@ module Algolia
84
89
  if attributes.key?(:description)
85
90
  self.description = attributes[:description]
86
91
  end
92
+
93
+ if attributes.key?(:authentication_ids)
94
+ if (value = attributes[:authentication_ids]).is_a?(Array)
95
+ self.authentication_ids = value
96
+ end
97
+ end
87
98
  end
88
99
 
89
100
  # Checks equality by comparing each attribute.
@@ -93,7 +104,8 @@ module Algolia
93
104
  self.class == other.class &&
94
105
  code == other.code &&
95
106
  name == other.name &&
96
- description == other.description
107
+ description == other.description &&
108
+ authentication_ids == other.authentication_ids
97
109
  end
98
110
 
99
111
  # @see the `==` method
@@ -105,7 +117,7 @@ module Algolia
105
117
  # Calculates hash code according to all attributes.
106
118
  # @return [Integer] Hash code
107
119
  def hash
108
- [code, name, description].hash
120
+ [code, name, description, authentication_ids].hash
109
121
  end
110
122
 
111
123
  # Builds the object from hash
@@ -6,12 +6,12 @@ require "time"
6
6
  module Algolia
7
7
  module Ingestion
8
8
  class TransformationSearch
9
- attr_accessor :transformations_ids
9
+ attr_accessor :transformation_ids
10
10
 
11
11
  # Attribute mapping from ruby-style variable name to JSON key.
12
12
  def self.attribute_map
13
13
  {
14
- :transformations_ids => :transformationsIDs
14
+ :transformation_ids => :transformationIDs
15
15
  }
16
16
  end
17
17
 
@@ -23,7 +23,7 @@ module Algolia
23
23
  # Attribute type mapping.
24
24
  def self.types_mapping
25
25
  {
26
- :transformations_ids => :"Array<String>"
26
+ :transformation_ids => :"Array<String>"
27
27
  }
28
28
  end
29
29
 
@@ -57,12 +57,10 @@ module Algolia
57
57
  h[k.to_sym] = v
58
58
  }
59
59
 
60
- if attributes.key?(:transformations_ids)
61
- if (value = attributes[:transformations_ids]).is_a?(Array)
62
- self.transformations_ids = value
60
+ if attributes.key?(:transformation_ids)
61
+ if (value = attributes[:transformation_ids]).is_a?(Array)
62
+ self.transformation_ids = value
63
63
  end
64
- else
65
- self.transformations_ids = nil
66
64
  end
67
65
  end
68
66
 
@@ -71,7 +69,7 @@ module Algolia
71
69
  def ==(other)
72
70
  return true if self.equal?(other)
73
71
  self.class == other.class &&
74
- transformations_ids == other.transformations_ids
72
+ transformation_ids == other.transformation_ids
75
73
  end
76
74
 
77
75
  # @see the `==` method
@@ -83,7 +81,7 @@ module Algolia
83
81
  # Calculates hash code according to all attributes.
84
82
  # @return [Integer] Hash code
85
83
  def hash
86
- [transformations_ids].hash
84
+ [transformation_ids].hash
87
85
  end
88
86
 
89
87
  # Builds the object from hash
@@ -12,11 +12,14 @@ module Algolia
12
12
  # The record to apply the given code to.
13
13
  attr_accessor :sample_record
14
14
 
15
+ attr_accessor :authentications
16
+
15
17
  # Attribute mapping from ruby-style variable name to JSON key.
16
18
  def self.attribute_map
17
19
  {
18
20
  :code => :code,
19
- :sample_record => :sampleRecord
21
+ :sample_record => :sampleRecord,
22
+ :authentications => :authentications
20
23
  }
21
24
  end
22
25
 
@@ -29,7 +32,8 @@ module Algolia
29
32
  def self.types_mapping
30
33
  {
31
34
  :code => :"String",
32
- :sample_record => :"Object"
35
+ :sample_record => :"Object",
36
+ :authentications => :"Array<AuthenticationCreate>"
33
37
  }
34
38
  end
35
39
 
@@ -74,6 +78,12 @@ module Algolia
74
78
  else
75
79
  self.sample_record = nil
76
80
  end
81
+
82
+ if attributes.key?(:authentications)
83
+ if (value = attributes[:authentications]).is_a?(Array)
84
+ self.authentications = value
85
+ end
86
+ end
77
87
  end
78
88
 
79
89
  # Checks equality by comparing each attribute.
@@ -82,7 +92,8 @@ module Algolia
82
92
  return true if self.equal?(other)
83
93
  self.class == other.class &&
84
94
  code == other.code &&
85
- sample_record == other.sample_record
95
+ sample_record == other.sample_record &&
96
+ authentications == other.authentications
86
97
  end
87
98
 
88
99
  # @see the `==` method
@@ -94,7 +105,7 @@ module Algolia
94
105
  # Calculates hash code according to all attributes.
95
106
  # @return [Integer] Hash code
96
107
  def hash
97
- [code, sample_record].hash
108
+ [code, sample_record, authentications].hash
98
109
  end
99
110
 
100
111
  # Builds the object from hash
@@ -1,5 +1,5 @@
1
1
  # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
2
 
3
3
  module Algolia
4
- VERSION = "3.0.0.beta.13".freeze
4
+ VERSION = "3.0.0.beta.15".freeze
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: algolia
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.beta.13
4
+ version: 3.0.0.beta.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - https://alg.li/support
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-06 00:00:00.000000000 Z
11
+ date: 2024-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -258,12 +258,16 @@ files:
258
258
  - lib/algolia/models/ingestion/destination_update_response.rb
259
259
  - lib/algolia/models/ingestion/docker_image_type.rb
260
260
  - lib/algolia/models/ingestion/docker_registry.rb
261
+ - lib/algolia/models/ingestion/docker_streams.rb
261
262
  - lib/algolia/models/ingestion/docker_streams_input.rb
263
+ - lib/algolia/models/ingestion/docker_streams_sync_mode.rb
262
264
  - lib/algolia/models/ingestion/entity_type.rb
263
265
  - lib/algolia/models/ingestion/event.rb
264
266
  - lib/algolia/models/ingestion/event_sort_keys.rb
265
267
  - lib/algolia/models/ingestion/event_status.rb
266
268
  - lib/algolia/models/ingestion/event_type.rb
269
+ - lib/algolia/models/ingestion/generate_transformation_code_payload.rb
270
+ - lib/algolia/models/ingestion/generate_transformation_code_response.rb
267
271
  - lib/algolia/models/ingestion/list_authentications_response.rb
268
272
  - lib/algolia/models/ingestion/list_destinations_response.rb
269
273
  - lib/algolia/models/ingestion/list_events_response.rb