algolia 3.0.0.beta.12 → 3.0.0.beta.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/Gemfile.lock +1 -1
- data/lib/algolia/api/ingestion_client.rb +127 -3
- data/lib/algolia/models/ingestion/destination.rb +15 -4
- data/lib/algolia/models/ingestion/destination_create.rb +15 -4
- data/lib/algolia/models/ingestion/destination_input.rb +1 -2
- data/lib/algolia/models/ingestion/destination_update.rb +15 -4
- data/lib/algolia/models/ingestion/entity_type.rb +32 -0
- data/lib/algolia/models/ingestion/model.rb +254 -0
- data/lib/algolia/models/ingestion/run_source_payload.rb +269 -0
- data/lib/algolia/models/ingestion/run_source_response.rb +228 -0
- data/lib/algolia/models/ingestion/{destination_index_prefix.rb → transformation_models.rb} +14 -12
- data/lib/algolia/models/search/dictionary_entry.rb +13 -4
- data/lib/algolia/models/search/dictionary_entry_type.rb +32 -0
- data/lib/algolia/models/search/multiple_batch_request.rb +0 -2
- data/lib/algolia/version.rb +1 -1
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f77bf84313db0abf2e0ab5356eb7e4e467847a95b6fccd7525af505c9a36a03b
|
4
|
+
data.tar.gz: 21160bde664c846a9ea521cc0958a26e712c9b6a073c1fa2d387240cb5f61da7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 507469790e2f77f9e7815ba593a272af8ef9ba7aef78f0d1c8629516fe5637af8d632e009ebadc86e58e1d14420db1f4939905ef7517d9918c9675f3655443e1
|
7
|
+
data.tar.gz: 916f2b0afcf839b4ab383ab208328e2ff526ff8202424bcd4958a81f627ff0060b9f4dfa0e17c357d52e706e97b08c844682e09cc6c995892a9974837fb0e8b1
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
## [3.0.0.beta.13](https://github.com/algolia/algoliasearch-client-ruby/compare/3.0.0.beta.12...3.0.0.beta.13)
|
2
|
+
|
3
|
+
- [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/)
|
4
|
+
- [08a04dec8](https://github.com/algolia/api-clients-automation/commit/08a04dec8) fix(specs): ingestion destination reject indexPrefix ([#3478](https://github.com/algolia/api-clients-automation/pull/3478)) by [@shortcuts](https://github.com/shortcuts/)
|
5
|
+
- [cdd673d33](https://github.com/algolia/api-clients-automation/commit/cdd673d33) fix(specs): ingestion destinations and transformations ([#3477](https://github.com/algolia/api-clients-automation/pull/3477)) by [@shortcuts](https://github.com/shortcuts/)
|
6
|
+
- [b4742be76](https://github.com/algolia/api-clients-automation/commit/b4742be76) fix(clients): move the license to the root ([#3457](https://github.com/algolia/api-clients-automation/pull/3457)) by [@millotp](https://github.com/millotp/)
|
7
|
+
- [e5d14171c](https://github.com/algolia/api-clients-automation/commit/e5d14171c) fix(specs): dictionary entry for stopwords has type property ([#3456](https://github.com/algolia/api-clients-automation/pull/3456)) by [@kai687](https://github.com/kai687/)
|
8
|
+
- [7af1e75e9](https://github.com/algolia/api-clients-automation/commit/7af1e75e9) fix(specs): body is not required in multiple batch request ([#3454](https://github.com/algolia/api-clients-automation/pull/3454)) by [@kai687](https://github.com/kai687/)
|
9
|
+
- [b90bef261](https://github.com/algolia/api-clients-automation/commit/b90bef261) feat(specs): add runSource endpoint ([#3453](https://github.com/algolia/api-clients-automation/pull/3453)) by [@millotp](https://github.com/millotp/)
|
10
|
+
- [27679b7fd](https://github.com/algolia/api-clients-automation/commit/27679b7fd) chore(clients): remove mention of GA ([#3452](https://github.com/algolia/api-clients-automation/pull/3452)) by [@millotp](https://github.com/millotp/)
|
11
|
+
|
1
12
|
## [3.0.0.beta.12](https://github.com/algolia/algoliasearch-client-ruby/compare/3.0.0.beta.11...3.0.0.beta.12)
|
2
13
|
|
3
14
|
- [e982ddf0a](https://github.com/algolia/api-clients-automation/commit/e982ddf0a) fix(specs): built-in ops accept also int ([#3450](https://github.com/algolia/api-clients-automation/pull/3450)) by [@kai687](https://github.com/kai687/)
|
data/Gemfile.lock
CHANGED
@@ -2163,19 +2163,91 @@ module Algolia
|
|
2163
2163
|
@api_client.deserialize(response.body, request_options[:debug_return_type] || "Ingestion::ListTasksResponseV1")
|
2164
2164
|
end
|
2165
2165
|
|
2166
|
+
# Retrieves a list of existing LLM transformation helpers.
|
2167
|
+
#
|
2168
|
+
# Required API Key ACLs:
|
2169
|
+
# - addObject
|
2170
|
+
# - deleteIndex
|
2171
|
+
# - editSettings
|
2172
|
+
# @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
|
+
# @return [Http::Response] the response
|
2174
|
+
def list_transformation_models_with_http_info(request_options = {})
|
2175
|
+
path = "/1/transformations/copilot"
|
2176
|
+
query_params = {}
|
2177
|
+
query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
|
2178
|
+
header_params = {}
|
2179
|
+
header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?
|
2180
|
+
|
2181
|
+
post_body = request_options[:debug_body]
|
2182
|
+
|
2183
|
+
new_options = request_options.merge(
|
2184
|
+
:operation => :"IngestionClient.list_transformation_models",
|
2185
|
+
:header_params => header_params,
|
2186
|
+
:query_params => query_params,
|
2187
|
+
:body => post_body,
|
2188
|
+
:use_read_transporter => false
|
2189
|
+
)
|
2190
|
+
|
2191
|
+
@api_client.call_api(:GET, path, new_options)
|
2192
|
+
end
|
2193
|
+
|
2194
|
+
# Retrieves a list of existing LLM transformation helpers.
|
2195
|
+
#
|
2196
|
+
# Required API Key ACLs:
|
2197
|
+
# - addObject
|
2198
|
+
# - deleteIndex
|
2199
|
+
# - editSettings
|
2200
|
+
# @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)
|
2201
|
+
# @return [TransformationModels]
|
2202
|
+
def list_transformation_models(request_options = {})
|
2203
|
+
response = list_transformation_models_with_http_info(request_options)
|
2204
|
+
@api_client.deserialize(response.body, request_options[:debug_return_type] || "Ingestion::TransformationModels")
|
2205
|
+
end
|
2206
|
+
|
2166
2207
|
# Retrieves a list of transformations.
|
2167
2208
|
#
|
2168
2209
|
# Required API Key ACLs:
|
2169
2210
|
# - addObject
|
2170
2211
|
# - deleteIndex
|
2171
2212
|
# - editSettings
|
2213
|
+
# @param items_per_page [Integer] Number of items per page. (default to 10)
|
2214
|
+
# @param page [Integer] Page number of the paginated API response.
|
2172
2215
|
# @param sort [SortKeys] Property by which to sort the list. (default to 'desc')
|
2173
2216
|
# @param order [OrderKeys] Sort order of the response, ascending or descending. (default to 'desc')
|
2174
2217
|
# @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)
|
2175
2218
|
# @return [Http::Response] the response
|
2176
|
-
def list_transformations_with_http_info(
|
2219
|
+
def list_transformations_with_http_info(
|
2220
|
+
items_per_page = nil,
|
2221
|
+
page = nil,
|
2222
|
+
sort = nil,
|
2223
|
+
order = nil,
|
2224
|
+
request_options = {}
|
2225
|
+
)
|
2226
|
+
if @api_client.config.client_side_validation && !items_per_page.nil? && items_per_page > 100
|
2227
|
+
raise(
|
2228
|
+
ArgumentError,
|
2229
|
+
"invalid value for \"\"items_per_page\"\" when calling IngestionClient.list_transformations, must be smaller than or equal to 100."
|
2230
|
+
)
|
2231
|
+
end
|
2232
|
+
|
2233
|
+
if @api_client.config.client_side_validation && !items_per_page.nil? && items_per_page < 1
|
2234
|
+
raise(
|
2235
|
+
ArgumentError,
|
2236
|
+
"invalid value for \"\"items_per_page\"\" when calling IngestionClient.list_transformations, must be greater than or equal to 1."
|
2237
|
+
)
|
2238
|
+
end
|
2239
|
+
|
2240
|
+
if @api_client.config.client_side_validation && !page.nil? && page < 1
|
2241
|
+
raise(
|
2242
|
+
ArgumentError,
|
2243
|
+
"invalid value for \"\"page\"\" when calling IngestionClient.list_transformations, must be greater than or equal to 1."
|
2244
|
+
)
|
2245
|
+
end
|
2246
|
+
|
2177
2247
|
path = "/1/transformations"
|
2178
2248
|
query_params = {}
|
2249
|
+
query_params[:itemsPerPage] = items_per_page unless items_per_page.nil?
|
2250
|
+
query_params[:page] = page unless page.nil?
|
2179
2251
|
query_params[:sort] = sort unless sort.nil?
|
2180
2252
|
query_params[:order] = order unless order.nil?
|
2181
2253
|
query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
|
@@ -2201,12 +2273,14 @@ module Algolia
|
|
2201
2273
|
# - addObject
|
2202
2274
|
# - deleteIndex
|
2203
2275
|
# - editSettings
|
2276
|
+
# @param items_per_page [Integer] Number of items per page. (default to 10)
|
2277
|
+
# @param page [Integer] Page number of the paginated API response.
|
2204
2278
|
# @param sort [SortKeys] Property by which to sort the list. (default to 'desc')
|
2205
2279
|
# @param order [OrderKeys] Sort order of the response, ascending or descending. (default to 'desc')
|
2206
2280
|
# @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)
|
2207
2281
|
# @return [ListTransformationsResponse]
|
2208
|
-
def list_transformations(sort = nil, order = nil, request_options = {})
|
2209
|
-
response = list_transformations_with_http_info(sort, order, request_options)
|
2282
|
+
def list_transformations(items_per_page = nil, page = nil, sort = nil, order = nil, request_options = {})
|
2283
|
+
response = list_transformations_with_http_info(items_per_page, page, sort, order, request_options)
|
2210
2284
|
@api_client.deserialize(
|
2211
2285
|
response.body,
|
2212
2286
|
request_options[:debug_return_type] || "Ingestion::ListTransformationsResponse"
|
@@ -2267,6 +2341,56 @@ module Algolia
|
|
2267
2341
|
@api_client.deserialize(response.body, request_options[:debug_return_type] || "Ingestion::RunResponse")
|
2268
2342
|
end
|
2269
2343
|
|
2344
|
+
# Runs all tasks linked to a source, only available for Shopify sources. It will create 1 run per task.
|
2345
|
+
#
|
2346
|
+
# Required API Key ACLs:
|
2347
|
+
# - addObject
|
2348
|
+
# - deleteIndex
|
2349
|
+
# - editSettings
|
2350
|
+
# @param source_id [String] Unique identifier of a source. (required)
|
2351
|
+
# @param run_source_payload [RunSourcePayload]
|
2352
|
+
# @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)
|
2353
|
+
# @return [Http::Response] the response
|
2354
|
+
def run_source_with_http_info(source_id, run_source_payload = nil, request_options = {})
|
2355
|
+
# verify the required parameter 'source_id' is set
|
2356
|
+
if @api_client.config.client_side_validation && source_id.nil?
|
2357
|
+
raise ArgumentError, "Parameter `source_id` is required when calling `run_source`."
|
2358
|
+
end
|
2359
|
+
|
2360
|
+
path = "/1/sources/{sourceID}/run".sub("{" + "sourceID" + "}", Transport.encode_uri(source_id.to_s))
|
2361
|
+
query_params = {}
|
2362
|
+
query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
|
2363
|
+
header_params = {}
|
2364
|
+
header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?
|
2365
|
+
|
2366
|
+
post_body = request_options[:debug_body] || @api_client.object_to_http_body(run_source_payload)
|
2367
|
+
|
2368
|
+
new_options = request_options.merge(
|
2369
|
+
:operation => :"IngestionClient.run_source",
|
2370
|
+
:header_params => header_params,
|
2371
|
+
:query_params => query_params,
|
2372
|
+
:body => post_body,
|
2373
|
+
:use_read_transporter => false
|
2374
|
+
)
|
2375
|
+
|
2376
|
+
@api_client.call_api(:POST, path, new_options)
|
2377
|
+
end
|
2378
|
+
|
2379
|
+
# Runs all tasks linked to a source, only available for Shopify sources. It will create 1 run per task.
|
2380
|
+
#
|
2381
|
+
# Required API Key ACLs:
|
2382
|
+
# - addObject
|
2383
|
+
# - deleteIndex
|
2384
|
+
# - editSettings
|
2385
|
+
# @param source_id [String] Unique identifier of a source. (required)
|
2386
|
+
# @param run_source_payload [RunSourcePayload]
|
2387
|
+
# @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)
|
2388
|
+
# @return [RunSourceResponse]
|
2389
|
+
def run_source(source_id, run_source_payload = nil, request_options = {})
|
2390
|
+
response = run_source_with_http_info(source_id, run_source_payload, request_options)
|
2391
|
+
@api_client.deserialize(response.body, request_options[:debug_return_type] || "Ingestion::RunSourceResponse")
|
2392
|
+
end
|
2393
|
+
|
2270
2394
|
# Runs a task. You can check the status of task runs with the observability endpoints.
|
2271
2395
|
#
|
2272
2396
|
# Required API Key ACLs:
|
@@ -26,6 +26,8 @@ module Algolia
|
|
26
26
|
# Universally unique identifier (UUID) of an authentication resource.
|
27
27
|
attr_accessor :authentication_id
|
28
28
|
|
29
|
+
attr_accessor :transformation_ids
|
30
|
+
|
29
31
|
class EnumAttributeValidator
|
30
32
|
attr_reader :datatype
|
31
33
|
attr_reader :allowable_values
|
@@ -57,7 +59,8 @@ module Algolia
|
|
57
59
|
:input => :input,
|
58
60
|
:created_at => :createdAt,
|
59
61
|
:updated_at => :updatedAt,
|
60
|
-
:authentication_id => :authenticationID
|
62
|
+
:authentication_id => :authenticationID,
|
63
|
+
:transformation_ids => :transformationIDs
|
61
64
|
}
|
62
65
|
end
|
63
66
|
|
@@ -75,7 +78,8 @@ module Algolia
|
|
75
78
|
:input => :"DestinationInput",
|
76
79
|
:created_at => :"String",
|
77
80
|
:updated_at => :"String",
|
78
|
-
:authentication_id => :"String"
|
81
|
+
:authentication_id => :"String",
|
82
|
+
:transformation_ids => :"Array<String>"
|
79
83
|
}
|
80
84
|
end
|
81
85
|
|
@@ -146,6 +150,12 @@ module Algolia
|
|
146
150
|
if attributes.key?(:authentication_id)
|
147
151
|
self.authentication_id = attributes[:authentication_id]
|
148
152
|
end
|
153
|
+
|
154
|
+
if attributes.key?(:transformation_ids)
|
155
|
+
if (value = attributes[:transformation_ids]).is_a?(Array)
|
156
|
+
self.transformation_ids = value
|
157
|
+
end
|
158
|
+
end
|
149
159
|
end
|
150
160
|
|
151
161
|
# Checks equality by comparing each attribute.
|
@@ -159,7 +169,8 @@ module Algolia
|
|
159
169
|
input == other.input &&
|
160
170
|
created_at == other.created_at &&
|
161
171
|
updated_at == other.updated_at &&
|
162
|
-
authentication_id == other.authentication_id
|
172
|
+
authentication_id == other.authentication_id &&
|
173
|
+
transformation_ids == other.transformation_ids
|
163
174
|
end
|
164
175
|
|
165
176
|
# @see the `==` method
|
@@ -171,7 +182,7 @@ module Algolia
|
|
171
182
|
# Calculates hash code according to all attributes.
|
172
183
|
# @return [Integer] Hash code
|
173
184
|
def hash
|
174
|
-
[destination_id, type, name, input, created_at, updated_at, authentication_id].hash
|
185
|
+
[destination_id, type, name, input, created_at, updated_at, authentication_id, transformation_ids].hash
|
175
186
|
end
|
176
187
|
|
177
188
|
# Builds the object from hash
|
@@ -17,6 +17,8 @@ module Algolia
|
|
17
17
|
# Universally unique identifier (UUID) of an authentication resource.
|
18
18
|
attr_accessor :authentication_id
|
19
19
|
|
20
|
+
attr_accessor :transformation_ids
|
21
|
+
|
20
22
|
class EnumAttributeValidator
|
21
23
|
attr_reader :datatype
|
22
24
|
attr_reader :allowable_values
|
@@ -45,7 +47,8 @@ module Algolia
|
|
45
47
|
:type => :type,
|
46
48
|
:name => :name,
|
47
49
|
:input => :input,
|
48
|
-
:authentication_id => :authenticationID
|
50
|
+
:authentication_id => :authenticationID,
|
51
|
+
:transformation_ids => :transformationIDs
|
49
52
|
}
|
50
53
|
end
|
51
54
|
|
@@ -60,7 +63,8 @@ module Algolia
|
|
60
63
|
:type => :"DestinationType",
|
61
64
|
:name => :"String",
|
62
65
|
:input => :"DestinationInput",
|
63
|
-
:authentication_id => :"String"
|
66
|
+
:authentication_id => :"String",
|
67
|
+
:transformation_ids => :"Array<String>"
|
64
68
|
}
|
65
69
|
end
|
66
70
|
|
@@ -115,6 +119,12 @@ module Algolia
|
|
115
119
|
if attributes.key?(:authentication_id)
|
116
120
|
self.authentication_id = attributes[:authentication_id]
|
117
121
|
end
|
122
|
+
|
123
|
+
if attributes.key?(:transformation_ids)
|
124
|
+
if (value = attributes[:transformation_ids]).is_a?(Array)
|
125
|
+
self.transformation_ids = value
|
126
|
+
end
|
127
|
+
end
|
118
128
|
end
|
119
129
|
|
120
130
|
# Checks equality by comparing each attribute.
|
@@ -125,7 +135,8 @@ module Algolia
|
|
125
135
|
type == other.type &&
|
126
136
|
name == other.name &&
|
127
137
|
input == other.input &&
|
128
|
-
authentication_id == other.authentication_id
|
138
|
+
authentication_id == other.authentication_id &&
|
139
|
+
transformation_ids == other.transformation_ids
|
129
140
|
end
|
130
141
|
|
131
142
|
# @see the `==` method
|
@@ -137,7 +148,7 @@ module Algolia
|
|
137
148
|
# Calculates hash code according to all attributes.
|
138
149
|
# @return [Integer] Hash code
|
139
150
|
def hash
|
140
|
-
[type, name, input, authentication_id].hash
|
151
|
+
[type, name, input, authentication_id, transformation_ids].hash
|
141
152
|
end
|
142
153
|
|
143
154
|
# Builds the object from hash
|
@@ -17,6 +17,8 @@ module Algolia
|
|
17
17
|
# Universally unique identifier (UUID) of an authentication resource.
|
18
18
|
attr_accessor :authentication_id
|
19
19
|
|
20
|
+
attr_accessor :transformation_ids
|
21
|
+
|
20
22
|
class EnumAttributeValidator
|
21
23
|
attr_reader :datatype
|
22
24
|
attr_reader :allowable_values
|
@@ -45,7 +47,8 @@ module Algolia
|
|
45
47
|
:type => :type,
|
46
48
|
:name => :name,
|
47
49
|
:input => :input,
|
48
|
-
:authentication_id => :authenticationID
|
50
|
+
:authentication_id => :authenticationID,
|
51
|
+
:transformation_ids => :transformationIDs
|
49
52
|
}
|
50
53
|
end
|
51
54
|
|
@@ -60,7 +63,8 @@ module Algolia
|
|
60
63
|
:type => :"DestinationType",
|
61
64
|
:name => :"String",
|
62
65
|
:input => :"DestinationInput",
|
63
|
-
:authentication_id => :"String"
|
66
|
+
:authentication_id => :"String",
|
67
|
+
:transformation_ids => :"Array<String>"
|
64
68
|
}
|
65
69
|
end
|
66
70
|
|
@@ -109,6 +113,12 @@ module Algolia
|
|
109
113
|
if attributes.key?(:authentication_id)
|
110
114
|
self.authentication_id = attributes[:authentication_id]
|
111
115
|
end
|
116
|
+
|
117
|
+
if attributes.key?(:transformation_ids)
|
118
|
+
if (value = attributes[:transformation_ids]).is_a?(Array)
|
119
|
+
self.transformation_ids = value
|
120
|
+
end
|
121
|
+
end
|
112
122
|
end
|
113
123
|
|
114
124
|
# Checks equality by comparing each attribute.
|
@@ -119,7 +129,8 @@ module Algolia
|
|
119
129
|
type == other.type &&
|
120
130
|
name == other.name &&
|
121
131
|
input == other.input &&
|
122
|
-
authentication_id == other.authentication_id
|
132
|
+
authentication_id == other.authentication_id &&
|
133
|
+
transformation_ids == other.transformation_ids
|
123
134
|
end
|
124
135
|
|
125
136
|
# @see the `==` method
|
@@ -131,7 +142,7 @@ module Algolia
|
|
131
142
|
# Calculates hash code according to all attributes.
|
132
143
|
# @return [Integer] Hash code
|
133
144
|
def hash
|
134
|
-
[type, name, input, authentication_id].hash
|
145
|
+
[type, name, input, authentication_id, transformation_ids].hash
|
135
146
|
end
|
136
147
|
|
137
148
|
# Builds the object from hash
|
@@ -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 EntityType
|
9
|
+
PRODUCT = "product".freeze
|
10
|
+
COLLECTION = "collection".freeze
|
11
|
+
|
12
|
+
def self.all_vars
|
13
|
+
@all_vars ||= [PRODUCT, COLLECTION].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 EntityType.all_vars.include?(value)
|
28
|
+
raise "Invalid ENUM value #{value} for class #EntityType"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,254 @@
|
|
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 Model
|
9
|
+
attr_accessor :fullname
|
10
|
+
|
11
|
+
attr_accessor :model_name
|
12
|
+
|
13
|
+
attr_accessor :system_prompt
|
14
|
+
|
15
|
+
attr_accessor :id
|
16
|
+
|
17
|
+
attr_accessor :provider
|
18
|
+
|
19
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
20
|
+
def self.attribute_map
|
21
|
+
{
|
22
|
+
:fullname => :fullname,
|
23
|
+
:model_name => :modelName,
|
24
|
+
:system_prompt => :systemPrompt,
|
25
|
+
:id => :id,
|
26
|
+
:provider => :provider
|
27
|
+
}
|
28
|
+
end
|
29
|
+
|
30
|
+
# Returns all the JSON keys this model knows about
|
31
|
+
def self.acceptable_attributes
|
32
|
+
attribute_map.values
|
33
|
+
end
|
34
|
+
|
35
|
+
# Attribute type mapping.
|
36
|
+
def self.types_mapping
|
37
|
+
{
|
38
|
+
:fullname => :"String",
|
39
|
+
:model_name => :"String",
|
40
|
+
:system_prompt => :"String",
|
41
|
+
:id => :"String",
|
42
|
+
:provider => :"String"
|
43
|
+
}
|
44
|
+
end
|
45
|
+
|
46
|
+
# List of attributes with nullable: true
|
47
|
+
def self.openapi_nullable
|
48
|
+
Set.new(
|
49
|
+
[]
|
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
|
+
raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::Model` 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
|
+
raise(
|
64
|
+
ArgumentError,
|
65
|
+
"`#{k}` is not a valid attribute in `Algolia::Model`. Please check the name to make sure it's valid. List of attributes: " +
|
66
|
+
self.class.attribute_map.keys.inspect
|
67
|
+
)
|
68
|
+
end
|
69
|
+
|
70
|
+
h[k.to_sym] = v
|
71
|
+
}
|
72
|
+
|
73
|
+
if attributes.key?(:fullname)
|
74
|
+
self.fullname = attributes[:fullname]
|
75
|
+
else
|
76
|
+
self.fullname = nil
|
77
|
+
end
|
78
|
+
|
79
|
+
if attributes.key?(:model_name)
|
80
|
+
self.model_name = attributes[:model_name]
|
81
|
+
else
|
82
|
+
self.model_name = nil
|
83
|
+
end
|
84
|
+
|
85
|
+
if attributes.key?(:system_prompt)
|
86
|
+
self.system_prompt = attributes[:system_prompt]
|
87
|
+
else
|
88
|
+
self.system_prompt = nil
|
89
|
+
end
|
90
|
+
|
91
|
+
if attributes.key?(:id)
|
92
|
+
self.id = attributes[:id]
|
93
|
+
else
|
94
|
+
self.id = nil
|
95
|
+
end
|
96
|
+
|
97
|
+
if attributes.key?(:provider)
|
98
|
+
self.provider = attributes[:provider]
|
99
|
+
else
|
100
|
+
self.provider = nil
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
# Checks equality by comparing each attribute.
|
105
|
+
# @param [Object] Object to be compared
|
106
|
+
def ==(other)
|
107
|
+
return true if self.equal?(other)
|
108
|
+
self.class == other.class &&
|
109
|
+
fullname == other.fullname &&
|
110
|
+
model_name == other.model_name &&
|
111
|
+
system_prompt == other.system_prompt &&
|
112
|
+
id == other.id &&
|
113
|
+
provider == other.provider
|
114
|
+
end
|
115
|
+
|
116
|
+
# @see the `==` method
|
117
|
+
# @param [Object] Object to be compared
|
118
|
+
def eql?(other)
|
119
|
+
self == other
|
120
|
+
end
|
121
|
+
|
122
|
+
# Calculates hash code according to all attributes.
|
123
|
+
# @return [Integer] Hash code
|
124
|
+
def hash
|
125
|
+
[fullname, model_name, system_prompt, id, provider].hash
|
126
|
+
end
|
127
|
+
|
128
|
+
# Builds the object from hash
|
129
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
130
|
+
# @return [Object] Returns the model itself
|
131
|
+
def self.build_from_hash(attributes)
|
132
|
+
return nil unless attributes.is_a?(Hash)
|
133
|
+
attributes = attributes.transform_keys(&:to_sym)
|
134
|
+
transformed_hash = {}
|
135
|
+
types_mapping.each_pair do |key, type|
|
136
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
137
|
+
transformed_hash[key.to_sym] = nil
|
138
|
+
elsif type =~ /\AArray<(.*)>/i
|
139
|
+
# check to ensure the input is an array given that the attribute
|
140
|
+
# is documented as an array but the input is not
|
141
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
142
|
+
transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
|
143
|
+
_deserialize(::Regexp.last_match(1), v)
|
144
|
+
}
|
145
|
+
end
|
146
|
+
elsif !attributes[attribute_map[key]].nil?
|
147
|
+
transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
new(transformed_hash)
|
152
|
+
end
|
153
|
+
|
154
|
+
# Deserializes the data based on type
|
155
|
+
# @param string type Data type
|
156
|
+
# @param string value Value to be deserialized
|
157
|
+
# @return [Object] Deserialized data
|
158
|
+
def self._deserialize(type, value)
|
159
|
+
case type.to_sym
|
160
|
+
when :Time
|
161
|
+
Time.parse(value)
|
162
|
+
when :Date
|
163
|
+
Date.parse(value)
|
164
|
+
when :String
|
165
|
+
value.to_s
|
166
|
+
when :Integer
|
167
|
+
value.to_i
|
168
|
+
when :Float
|
169
|
+
value.to_f
|
170
|
+
when :Boolean
|
171
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
172
|
+
true
|
173
|
+
else
|
174
|
+
false
|
175
|
+
end
|
176
|
+
|
177
|
+
when :Object
|
178
|
+
# generic object (usually a Hash), return directly
|
179
|
+
value
|
180
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
181
|
+
inner_type = Regexp.last_match[:inner_type]
|
182
|
+
value.map { |v| _deserialize(inner_type, v) }
|
183
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
184
|
+
k_type = Regexp.last_match[:k_type]
|
185
|
+
v_type = Regexp.last_match[:v_type]
|
186
|
+
{}.tap do |hash|
|
187
|
+
value.each do |k, v|
|
188
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
189
|
+
end
|
190
|
+
end
|
191
|
+
# model
|
192
|
+
else
|
193
|
+
# models (e.g. Pet) or oneOf
|
194
|
+
klass = Algolia::Ingestion.const_get(type)
|
195
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
|
196
|
+
.build_from_hash(value)
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
# Returns the string representation of the object
|
201
|
+
# @return [String] String presentation of the object
|
202
|
+
def to_s
|
203
|
+
to_hash.to_s
|
204
|
+
end
|
205
|
+
|
206
|
+
# to_body is an alias to to_hash (backward compatibility)
|
207
|
+
# @return [Hash] Returns the object in the form of hash
|
208
|
+
def to_body
|
209
|
+
to_hash
|
210
|
+
end
|
211
|
+
|
212
|
+
def to_json(*_args)
|
213
|
+
to_hash.to_json
|
214
|
+
end
|
215
|
+
|
216
|
+
# Returns the object in the form of hash
|
217
|
+
# @return [Hash] Returns the object in the form of hash
|
218
|
+
def to_hash
|
219
|
+
hash = {}
|
220
|
+
self.class.attribute_map.each_pair do |attr, param|
|
221
|
+
value = send(attr)
|
222
|
+
if value.nil?
|
223
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
224
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
225
|
+
end
|
226
|
+
|
227
|
+
hash[param] = _to_hash(value)
|
228
|
+
end
|
229
|
+
|
230
|
+
hash
|
231
|
+
end
|
232
|
+
|
233
|
+
# Outputs non-array value in the form of hash
|
234
|
+
# For object, use to_hash. Otherwise, just return the value
|
235
|
+
# @param [Object] value Any valid value
|
236
|
+
# @return [Hash] Returns the value in the form of hash
|
237
|
+
def _to_hash(value)
|
238
|
+
if value.is_a?(Array)
|
239
|
+
value.compact.map { |v| _to_hash(v) }
|
240
|
+
elsif value.is_a?(Hash)
|
241
|
+
{}.tap do |hash|
|
242
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
243
|
+
end
|
244
|
+
elsif value.respond_to?(:to_hash)
|
245
|
+
value.to_hash
|
246
|
+
else
|
247
|
+
value
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
251
|
+
end
|
252
|
+
|
253
|
+
end
|
254
|
+
end
|