algolia 3.0.0.beta.11 → 3.0.0.beta.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/Gemfile.lock +2 -2
  4. data/lib/algolia/api/ingestion_client.rb +127 -3
  5. data/lib/algolia/api/query_suggestions_client.rb +4 -10
  6. data/lib/algolia/api/search_client.rb +2 -2
  7. data/lib/algolia/api/usage_client.rb +4 -4
  8. data/lib/algolia/models/abtesting/{filter_effects_empty_search.rb → empty_search_filter.rb} +3 -3
  9. data/lib/algolia/models/abtesting/filter_effects.rb +2 -2
  10. data/lib/algolia/models/abtesting/{filter_effects_outliers.rb → outliers_filter.rb} +3 -3
  11. data/lib/algolia/models/analytics/{click_positions_inner.rb → click_position.rb} +3 -3
  12. data/lib/algolia/models/analytics/get_click_positions_response.rb +1 -1
  13. data/lib/algolia/models/analytics/top_search_with_analytics.rb +1 -1
  14. data/lib/algolia/models/analytics/top_search_with_revenue_analytics.rb +1 -1
  15. data/lib/algolia/models/ingestion/destination.rb +15 -4
  16. data/lib/algolia/models/ingestion/destination_create.rb +15 -4
  17. data/lib/algolia/models/ingestion/destination_input.rb +1 -2
  18. data/lib/algolia/models/ingestion/destination_update.rb +15 -4
  19. data/lib/algolia/models/ingestion/docker_streams_input.rb +1 -0
  20. data/lib/algolia/models/ingestion/entity_type.rb +32 -0
  21. data/lib/algolia/models/ingestion/{destination_index_prefix.rb → model.rb} +55 -15
  22. data/lib/algolia/models/{recommend/trending_items.rb → ingestion/run_source_payload.rb} +39 -34
  23. data/lib/algolia/models/{search/base_get_api_key_response.rb → ingestion/run_source_response.rb} +19 -15
  24. data/lib/algolia/models/ingestion/{transformation_try_response_error.rb → transformation_error.rb} +3 -3
  25. data/lib/algolia/models/ingestion/{source_shopify_base.rb → transformation_models.rb} +14 -12
  26. data/lib/algolia/models/ingestion/transformation_try_response.rb +1 -1
  27. data/lib/algolia/models/monitoring/{incidents_inner.rb → incident_entry.rb} +3 -3
  28. data/lib/algolia/models/monitoring/{indexing_time_response_metrics.rb → indexing_metric.rb} +3 -3
  29. data/lib/algolia/models/monitoring/indexing_time_response.rb +1 -1
  30. data/lib/algolia/models/monitoring/infrastructure_response.rb +1 -1
  31. data/lib/algolia/models/monitoring/{latency_response_metrics.rb → latency_metric.rb} +3 -3
  32. data/lib/algolia/models/monitoring/latency_response.rb +1 -1
  33. data/lib/algolia/models/monitoring/{infrastructure_response_metrics.rb → metrics.rb} +3 -6
  34. data/lib/algolia/models/monitoring/{time_inner.rb → time_entry.rb} +3 -3
  35. data/lib/algolia/models/{search/search_for_hits_options.rb → query-suggestions/config_status.rb} +43 -36
  36. data/lib/algolia/models/{recommend/related_products.rb → query-suggestions/log_file.rb} +36 -32
  37. data/lib/algolia/models/recommend/around_precision.rb +1 -1
  38. data/lib/algolia/models/recommend/fallback_params.rb +1 -1
  39. data/lib/algolia/models/recommend/{around_precision_from_value_inner.rb → range.rb} +3 -6
  40. data/lib/algolia/models/recommend/recommend_rule.rb +1 -1
  41. data/lib/algolia/models/recommend/{redirect_rule_index_metadata_data.rb → redirect_rule_index_data.rb} +3 -3
  42. data/lib/algolia/models/recommend/redirect_rule_index_metadata.rb +1 -1
  43. data/lib/algolia/models/recommend/{recommend_rule_metadata.rb → rule_metadata.rb} +3 -3
  44. data/lib/algolia/models/recommend/search_params.rb +1 -1
  45. data/lib/algolia/models/recommend/search_params_object.rb +1 -1
  46. data/lib/algolia/models/search/around_precision.rb +1 -1
  47. data/lib/algolia/models/search/browse_params_object.rb +1 -1
  48. data/lib/algolia/models/search/built_in_operation.rb +1 -2
  49. data/lib/algolia/models/search/built_in_operation_value.rb +105 -0
  50. data/lib/algolia/models/search/consequence_params.rb +1 -1
  51. data/lib/algolia/models/search/dictionary_entry.rb +13 -6
  52. data/lib/algolia/models/search/dictionary_entry_type.rb +32 -0
  53. data/lib/algolia/models/search/index_settings.rb +2 -2
  54. data/lib/algolia/models/search/multiple_batch_request.rb +0 -2
  55. data/lib/algolia/models/search/{around_precision_from_value_inner.rb → range.rb} +3 -6
  56. data/lib/algolia/models/search/{redirect_rule_index_metadata_data.rb → redirect_rule_index_data.rb} +3 -3
  57. data/lib/algolia/models/search/redirect_rule_index_metadata.rb +1 -1
  58. data/lib/algolia/models/search/search_for_facets.rb +1 -1
  59. data/lib/algolia/models/search/search_for_hits.rb +1 -1
  60. data/lib/algolia/models/search/search_params_object.rb +1 -1
  61. data/lib/algolia/models/search/search_params_string.rb +1 -0
  62. data/lib/algolia/models/search/settings_response.rb +2 -2
  63. data/lib/algolia/models/usage/{get_usage400_response_error_errors_inner.rb → error_item.rb} +3 -3
  64. data/lib/algolia/models/usage/{get_usage400_response_error.rb → forbidden_error.rb} +4 -4
  65. data/lib/algolia/models/usage/{get_usage200_response.rb → index_usage.rb} +4 -4
  66. data/lib/algolia/models/usage/invalid_request_error.rb +231 -0
  67. data/lib/algolia/models/usage/{get_usage200_response_statistics_inner.rb → statistic_entry.rb} +3 -3
  68. data/lib/algolia/version.rb +1 -1
  69. metadata +30 -65
  70. data/lib/algolia/models/abtesting/custom_search_params.rb +0 -214
  71. data/lib/algolia/models/abtesting/error_base.rb +0 -212
  72. data/lib/algolia/models/analytics/error_base.rb +0 -212
  73. data/lib/algolia/models/ingestion/error_base.rb +0 -212
  74. data/lib/algolia/models/insights/error_base.rb +0 -212
  75. data/lib/algolia/models/monitoring/error_base.rb +0 -212
  76. data/lib/algolia/models/monitoring/get_servers403_response.rb +0 -211
  77. data/lib/algolia/models/personalization/error_base.rb +0 -212
  78. data/lib/algolia/models/query-suggestions/app_id.rb +0 -209
  79. data/lib/algolia/models/query-suggestions/error_base.rb +0 -212
  80. data/lib/algolia/models/recommend/base_recommend_request.rb +0 -281
  81. data/lib/algolia/models/recommend/base_search_params.rb +0 -635
  82. data/lib/algolia/models/recommend/base_search_params_without_query.rb +0 -616
  83. data/lib/algolia/models/recommend/base_search_response.rb +0 -499
  84. data/lib/algolia/models/recommend/error_base.rb +0 -212
  85. data/lib/algolia/models/recommend/frequently_bought_together.rb +0 -247
  86. data/lib/algolia/models/recommend/index_settings_as_search_params.rb +0 -788
  87. data/lib/algolia/models/recommend/looking_similar.rb +0 -256
  88. data/lib/algolia/models/recommend/recommendations_hits.rb +0 -215
  89. data/lib/algolia/models/recommend/recommended_for_you.rb +0 -244
  90. data/lib/algolia/models/recommend/search_pagination.rb +0 -282
  91. data/lib/algolia/models/recommend/search_params_query.rb +0 -212
  92. data/lib/algolia/models/recommend/trending_facets.rb +0 -258
  93. data/lib/algolia/models/search/base_index_settings.rb +0 -426
  94. data/lib/algolia/models/search/base_search_params.rb +0 -635
  95. data/lib/algolia/models/search/base_search_params_without_query.rb +0 -616
  96. data/lib/algolia/models/search/base_search_response.rb +0 -499
  97. data/lib/algolia/models/search/browse_pagination.rb +0 -274
  98. data/lib/algolia/models/search/cursor.rb +0 -209
  99. data/lib/algolia/models/search/error_base.rb +0 -212
  100. data/lib/algolia/models/search/index_settings_as_search_params.rb +0 -788
  101. data/lib/algolia/models/search/params.rb +0 -236
  102. data/lib/algolia/models/search/search_for_facets_options.rb +0 -293
  103. data/lib/algolia/models/search/search_hits.rb +0 -240
  104. data/lib/algolia/models/search/search_pagination.rb +0 -282
  105. data/lib/algolia/models/search/search_params_query.rb +0 -212
  106. data/lib/algolia/models/search/with_primary.rb +0 -212
  107. data/lib/algolia/models/usage/error_base.rb +0 -212
  108. data/lib/algolia/models/usage/get_usage400_response.rb +0 -213
@@ -1,281 +0,0 @@
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 Recommend
8
- class BaseRecommendRequest
9
- # Index name (case-sensitive).
10
- attr_accessor :index_name
11
-
12
- # Minimum score a recommendation must have to be included in the response.
13
- attr_accessor :threshold
14
-
15
- # Maximum number of recommendations to retrieve. By default, all recommendations are returned and no fallback request is made. Depending on the available recommendations and the other request parameters, the actual number of recommendations may be lower than this value.
16
- attr_accessor :max_recommendations
17
-
18
- attr_accessor :query_parameters
19
-
20
- # Attribute mapping from ruby-style variable name to JSON key.
21
- def self.attribute_map
22
- {
23
- :index_name => :indexName,
24
- :threshold => :threshold,
25
- :max_recommendations => :maxRecommendations,
26
- :query_parameters => :queryParameters
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
- :index_name => :"String",
39
- :threshold => :"Float",
40
- :max_recommendations => :"Integer",
41
- :query_parameters => :"SearchParams"
42
- }
43
- end
44
-
45
- # List of attributes with nullable: true
46
- def self.openapi_nullable
47
- Set.new(
48
- []
49
- )
50
- end
51
-
52
- # Initializes the object
53
- # @param [Hash] attributes Model attributes in the form of hash
54
- def initialize(attributes = {})
55
- if (!attributes.is_a?(Hash))
56
- raise(
57
- ArgumentError,
58
- "The input argument (attributes) must be a hash in `Algolia::BaseRecommendRequest` initialize method"
59
- )
60
- end
61
-
62
- # check to see if the attribute exists and convert string to symbol for hash key
63
- attributes = attributes.each_with_object({}) { |(k, v), h|
64
- if (!self.class.attribute_map.key?(k.to_sym))
65
- raise(
66
- ArgumentError,
67
- "`#{k}` is not a valid attribute in `Algolia::BaseRecommendRequest`. Please check the name to make sure it's valid. List of attributes: " +
68
- self.class.attribute_map.keys.inspect
69
- )
70
- end
71
-
72
- h[k.to_sym] = v
73
- }
74
-
75
- if attributes.key?(:index_name)
76
- self.index_name = attributes[:index_name]
77
- else
78
- self.index_name = nil
79
- end
80
-
81
- if attributes.key?(:threshold)
82
- self.threshold = attributes[:threshold]
83
- else
84
- self.threshold = nil
85
- end
86
-
87
- if attributes.key?(:max_recommendations)
88
- self.max_recommendations = attributes[:max_recommendations]
89
- end
90
-
91
- if attributes.key?(:query_parameters)
92
- self.query_parameters = attributes[:query_parameters]
93
- end
94
- end
95
-
96
- # Custom attribute writer method with validation
97
- # @param [Object] threshold Value to be assigned
98
- def threshold=(threshold)
99
- if threshold.nil?
100
- raise ArgumentError, "threshold cannot be nil"
101
- end
102
-
103
- if threshold > 100
104
- raise ArgumentError, "invalid value for \"threshold\", must be smaller than or equal to 100."
105
- end
106
-
107
- if threshold < 0
108
- raise ArgumentError, "invalid value for \"threshold\", must be greater than or equal to 0."
109
- end
110
-
111
- @threshold = threshold
112
- end
113
-
114
- # Custom attribute writer method with validation
115
- # @param [Object] max_recommendations Value to be assigned
116
- def max_recommendations=(max_recommendations)
117
- if max_recommendations.nil?
118
- raise ArgumentError, "max_recommendations cannot be nil"
119
- end
120
-
121
- if max_recommendations > 1000
122
- raise ArgumentError, "invalid value for \"max_recommendations\", must be smaller than or equal to 1000."
123
- end
124
-
125
- if max_recommendations < 1
126
- raise ArgumentError, "invalid value for \"max_recommendations\", must be greater than or equal to 1."
127
- end
128
-
129
- @max_recommendations = max_recommendations
130
- end
131
-
132
- # Checks equality by comparing each attribute.
133
- # @param [Object] Object to be compared
134
- def ==(other)
135
- return true if self.equal?(other)
136
- self.class == other.class &&
137
- index_name == other.index_name &&
138
- threshold == other.threshold &&
139
- max_recommendations == other.max_recommendations &&
140
- query_parameters == other.query_parameters
141
- end
142
-
143
- # @see the `==` method
144
- # @param [Object] Object to be compared
145
- def eql?(other)
146
- self == other
147
- end
148
-
149
- # Calculates hash code according to all attributes.
150
- # @return [Integer] Hash code
151
- def hash
152
- [index_name, threshold, max_recommendations, query_parameters].hash
153
- end
154
-
155
- # Builds the object from hash
156
- # @param [Hash] attributes Model attributes in the form of hash
157
- # @return [Object] Returns the model itself
158
- def self.build_from_hash(attributes)
159
- return nil unless attributes.is_a?(Hash)
160
- attributes = attributes.transform_keys(&:to_sym)
161
- transformed_hash = {}
162
- types_mapping.each_pair do |key, type|
163
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
164
- transformed_hash[key.to_sym] = nil
165
- elsif type =~ /\AArray<(.*)>/i
166
- # check to ensure the input is an array given that the attribute
167
- # is documented as an array but the input is not
168
- if attributes[attribute_map[key]].is_a?(Array)
169
- transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
170
- _deserialize(::Regexp.last_match(1), v)
171
- }
172
- end
173
- elsif !attributes[attribute_map[key]].nil?
174
- transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
175
- end
176
- end
177
-
178
- new(transformed_hash)
179
- end
180
-
181
- # Deserializes the data based on type
182
- # @param string type Data type
183
- # @param string value Value to be deserialized
184
- # @return [Object] Deserialized data
185
- def self._deserialize(type, value)
186
- case type.to_sym
187
- when :Time
188
- Time.parse(value)
189
- when :Date
190
- Date.parse(value)
191
- when :String
192
- value.to_s
193
- when :Integer
194
- value.to_i
195
- when :Float
196
- value.to_f
197
- when :Boolean
198
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
199
- true
200
- else
201
- false
202
- end
203
-
204
- when :Object
205
- # generic object (usually a Hash), return directly
206
- value
207
- when /\AArray<(?<inner_type>.+)>\z/
208
- inner_type = Regexp.last_match[:inner_type]
209
- value.map { |v| _deserialize(inner_type, v) }
210
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
211
- k_type = Regexp.last_match[:k_type]
212
- v_type = Regexp.last_match[:v_type]
213
- {}.tap do |hash|
214
- value.each do |k, v|
215
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
216
- end
217
- end
218
- # model
219
- else
220
- # models (e.g. Pet) or oneOf
221
- klass = Algolia::Recommend.const_get(type)
222
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
223
- .build_from_hash(value)
224
- end
225
- end
226
-
227
- # Returns the string representation of the object
228
- # @return [String] String presentation of the object
229
- def to_s
230
- to_hash.to_s
231
- end
232
-
233
- # to_body is an alias to to_hash (backward compatibility)
234
- # @return [Hash] Returns the object in the form of hash
235
- def to_body
236
- to_hash
237
- end
238
-
239
- def to_json(*_args)
240
- to_hash.to_json
241
- end
242
-
243
- # Returns the object in the form of hash
244
- # @return [Hash] Returns the object in the form of hash
245
- def to_hash
246
- hash = {}
247
- self.class.attribute_map.each_pair do |attr, param|
248
- value = send(attr)
249
- if value.nil?
250
- is_nullable = self.class.openapi_nullable.include?(attr)
251
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
252
- end
253
-
254
- hash[param] = _to_hash(value)
255
- end
256
-
257
- hash
258
- end
259
-
260
- # Outputs non-array value in the form of hash
261
- # For object, use to_hash. Otherwise, just return the value
262
- # @param [Object] value Any valid value
263
- # @return [Hash] Returns the value in the form of hash
264
- def _to_hash(value)
265
- if value.is_a?(Array)
266
- value.compact.map { |v| _to_hash(v) }
267
- elsif value.is_a?(Hash)
268
- {}.tap do |hash|
269
- value.each { |k, v| hash[k] = _to_hash(v) }
270
- end
271
- elsif value.respond_to?(:to_hash)
272
- value.to_hash
273
- else
274
- value
275
- end
276
- end
277
-
278
- end
279
-
280
- end
281
- end