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

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 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