algolia 3.10.2 → 3.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (605) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/Bug_report.yml +1 -1
  3. data/.github/workflows/release.yml +1 -1
  4. data/CHANGELOG.md +24 -0
  5. data/Gemfile.lock +1 -1
  6. data/lib/algolia/api/abtesting_client.rb +3 -1
  7. data/lib/algolia/api/analytics_client.rb +45 -43
  8. data/lib/algolia/api/composition_client.rb +174 -0
  9. data/lib/algolia/api/ingestion_client.rb +15 -3
  10. data/lib/algolia/api/insights_client.rb +3 -1
  11. data/lib/algolia/api/monitoring_client.rb +2 -0
  12. data/lib/algolia/api/personalization_client.rb +3 -1
  13. data/lib/algolia/api/query_suggestions_client.rb +3 -1
  14. data/lib/algolia/api/recommend_client.rb +20 -18
  15. data/lib/algolia/api/search_client.rb +160 -141
  16. data/lib/algolia/models/abtesting/ab_test.rb +2 -5
  17. data/lib/algolia/models/abtesting/ab_test_configuration.rb +2 -5
  18. data/lib/algolia/models/abtesting/ab_test_response.rb +2 -5
  19. data/lib/algolia/models/abtesting/ab_tests_variant.rb +2 -5
  20. data/lib/algolia/models/abtesting/ab_tests_variant_search_params.rb +7 -3
  21. data/lib/algolia/models/abtesting/add_ab_tests_request.rb +2 -5
  22. data/lib/algolia/models/abtesting/add_ab_tests_variant.rb +7 -6
  23. data/lib/algolia/models/abtesting/currency.rb +2 -5
  24. data/lib/algolia/models/abtesting/effect_metric.rb +2 -0
  25. data/lib/algolia/models/abtesting/empty_search.rb +2 -5
  26. data/lib/algolia/models/abtesting/empty_search_filter.rb +2 -5
  27. data/lib/algolia/models/abtesting/error_base.rb +2 -5
  28. data/lib/algolia/models/abtesting/estimate_ab_test_request.rb +2 -5
  29. data/lib/algolia/models/abtesting/estimate_ab_test_response.rb +2 -5
  30. data/lib/algolia/models/abtesting/estimate_configuration.rb +2 -5
  31. data/lib/algolia/models/abtesting/filter_effects.rb +2 -5
  32. data/lib/algolia/models/abtesting/list_ab_tests_response.rb +2 -5
  33. data/lib/algolia/models/abtesting/minimum_detectable_effect.rb +2 -5
  34. data/lib/algolia/models/abtesting/outliers.rb +2 -5
  35. data/lib/algolia/models/abtesting/outliers_filter.rb +2 -5
  36. data/lib/algolia/models/abtesting/schedule_ab_test_response.rb +2 -5
  37. data/lib/algolia/models/abtesting/schedule_ab_tests_request.rb +2 -5
  38. data/lib/algolia/models/abtesting/status.rb +2 -0
  39. data/lib/algolia/models/abtesting/variant.rb +2 -5
  40. data/lib/algolia/models/analytics/click_position.rb +2 -5
  41. data/lib/algolia/models/analytics/currency_code.rb +2 -5
  42. data/lib/algolia/models/analytics/daily_add_to_cart_rates.rb +3 -6
  43. data/lib/algolia/models/analytics/daily_average_clicks.rb +2 -5
  44. data/lib/algolia/models/analytics/daily_click_through_rates.rb +3 -6
  45. data/lib/algolia/models/analytics/daily_conversion_rates.rb +3 -6
  46. data/lib/algolia/models/analytics/daily_no_click_rates.rb +3 -6
  47. data/lib/algolia/models/analytics/daily_no_results_rates.rb +3 -6
  48. data/lib/algolia/models/analytics/daily_purchase_rates.rb +3 -6
  49. data/lib/algolia/models/analytics/daily_revenue.rb +3 -6
  50. data/lib/algolia/models/analytics/daily_searches.rb +2 -5
  51. data/lib/algolia/models/analytics/daily_searches_no_clicks.rb +2 -5
  52. data/lib/algolia/models/analytics/daily_searches_no_results.rb +2 -5
  53. data/lib/algolia/models/analytics/daily_users.rb +2 -5
  54. data/lib/algolia/models/analytics/direction.rb +2 -0
  55. data/lib/algolia/models/analytics/error_base.rb +2 -5
  56. data/lib/algolia/models/analytics/get_add_to_cart_rate_response.rb +3 -6
  57. data/lib/algolia/models/analytics/get_average_click_position_response.rb +2 -5
  58. data/lib/algolia/models/analytics/get_click_positions_response.rb +2 -5
  59. data/lib/algolia/models/analytics/get_click_through_rate_response.rb +3 -6
  60. data/lib/algolia/models/analytics/get_conversion_rate_response.rb +3 -6
  61. data/lib/algolia/models/analytics/get_no_click_rate_response.rb +3 -6
  62. data/lib/algolia/models/analytics/get_no_results_rate_response.rb +3 -6
  63. data/lib/algolia/models/analytics/get_purchase_rate_response.rb +3 -6
  64. data/lib/algolia/models/analytics/get_revenue.rb +3 -6
  65. data/lib/algolia/models/analytics/get_searches_count_response.rb +2 -5
  66. data/lib/algolia/models/analytics/get_searches_no_clicks_response.rb +2 -5
  67. data/lib/algolia/models/analytics/get_searches_no_results_response.rb +2 -5
  68. data/lib/algolia/models/analytics/get_status_response.rb +2 -5
  69. data/lib/algolia/models/analytics/get_top_countries_response.rb +2 -5
  70. data/lib/algolia/models/analytics/get_top_filter_attribute.rb +2 -5
  71. data/lib/algolia/models/analytics/get_top_filter_attributes_response.rb +2 -5
  72. data/lib/algolia/models/analytics/get_top_filter_for_attribute.rb +2 -5
  73. data/lib/algolia/models/analytics/get_top_filter_for_attribute_response.rb +2 -5
  74. data/lib/algolia/models/analytics/get_top_filters_no_results_response.rb +3 -6
  75. data/lib/algolia/models/analytics/get_top_filters_no_results_value.rb +2 -5
  76. data/lib/algolia/models/analytics/get_top_filters_no_results_values.rb +2 -5
  77. data/lib/algolia/models/analytics/get_top_hits_response.rb +7 -6
  78. data/lib/algolia/models/analytics/get_top_searches_response.rb +7 -6
  79. data/lib/algolia/models/analytics/get_users_count_response.rb +2 -5
  80. data/lib/algolia/models/analytics/operator.rb +2 -0
  81. data/lib/algolia/models/analytics/order_by.rb +2 -0
  82. data/lib/algolia/models/analytics/top_country.rb +2 -5
  83. data/lib/algolia/models/analytics/top_hit.rb +3 -6
  84. data/lib/algolia/models/analytics/top_hit_with_analytics.rb +5 -8
  85. data/lib/algolia/models/analytics/top_hit_with_revenue_analytics.rb +8 -11
  86. data/lib/algolia/models/analytics/top_hits_response.rb +2 -5
  87. data/lib/algolia/models/analytics/top_hits_response_with_analytics.rb +2 -5
  88. data/lib/algolia/models/analytics/top_hits_response_with_revenue_analytics.rb +2 -5
  89. data/lib/algolia/models/analytics/top_search.rb +2 -5
  90. data/lib/algolia/models/analytics/top_search_with_analytics.rb +4 -7
  91. data/lib/algolia/models/analytics/top_search_with_revenue_analytics.rb +7 -10
  92. data/lib/algolia/models/analytics/top_searches_response.rb +2 -5
  93. data/lib/algolia/models/analytics/top_searches_response_with_analytics.rb +2 -5
  94. data/lib/algolia/models/analytics/top_searches_response_with_revenue_analytics.rb +2 -5
  95. data/lib/algolia/models/composition/around_precision.rb +110 -0
  96. data/lib/algolia/models/composition/around_radius.rb +110 -0
  97. data/lib/algolia/models/{ingestion/docker_registry.rb → composition/around_radius_all.rb} +8 -7
  98. data/lib/algolia/models/composition/banner.rb +215 -0
  99. data/lib/algolia/models/composition/banner_image.rb +220 -0
  100. data/lib/algolia/models/composition/banner_image_url.rb +209 -0
  101. data/lib/algolia/models/composition/banner_link.rb +209 -0
  102. data/lib/algolia/models/composition/composition_id_ranking_info.rb +221 -0
  103. data/lib/algolia/models/composition/composition_run_applied_rules.rb +211 -0
  104. data/lib/algolia/models/composition/composition_run_search_response.rb +222 -0
  105. data/lib/algolia/models/composition/compositions_search_response.rb +212 -0
  106. data/lib/algolia/models/composition/error_base.rb +209 -0
  107. data/lib/algolia/models/composition/exhaustive.rb +250 -0
  108. data/lib/algolia/models/composition/facet_filters.rb +110 -0
  109. data/lib/algolia/models/composition/facet_hits.rb +235 -0
  110. data/lib/algolia/models/composition/facet_ordering.rb +221 -0
  111. data/lib/algolia/models/composition/facet_stats.rb +239 -0
  112. data/lib/algolia/models/composition/facets.rb +209 -0
  113. data/lib/algolia/models/composition/highlight_result.rb +110 -0
  114. data/lib/algolia/models/composition/highlight_result_option.rb +255 -0
  115. data/lib/algolia/models/composition/hit.rb +251 -0
  116. data/lib/algolia/models/composition/hit_ranking_info.rb +371 -0
  117. data/lib/algolia/models/composition/inside_bounding_box.rb +109 -0
  118. data/lib/algolia/models/{ingestion/docker_image_type.rb → composition/match_level.rb} +10 -8
  119. data/lib/algolia/models/composition/matched_geo_location.rb +229 -0
  120. data/lib/algolia/models/composition/numeric_filters.rb +110 -0
  121. data/lib/algolia/models/composition/optional_filters.rb +110 -0
  122. data/lib/algolia/models/composition/params.rb +488 -0
  123. data/lib/algolia/models/composition/personalization.rb +229 -0
  124. data/lib/algolia/models/composition/range.rb +217 -0
  125. data/lib/algolia/models/composition/redirect.rb +208 -0
  126. data/lib/algolia/models/composition/redirect_rule_index_data.rb +211 -0
  127. data/lib/algolia/models/composition/redirect_rule_index_metadata.rb +258 -0
  128. data/lib/algolia/models/composition/redirect_url.rb +209 -0
  129. data/lib/algolia/models/composition/rendering_content.rb +227 -0
  130. data/lib/algolia/models/composition/request_body.rb +208 -0
  131. data/lib/algolia/models/composition/results_composition_info_response.rb +212 -0
  132. data/lib/algolia/models/composition/results_injected_item_applied_rules_info_response.rb +211 -0
  133. data/lib/algolia/models/composition/results_injected_item_info_response.rb +221 -0
  134. data/lib/algolia/models/composition/search_for_facet_values_params.rb +228 -0
  135. data/lib/algolia/models/composition/search_for_facet_values_request.rb +208 -0
  136. data/lib/algolia/models/composition/search_for_facet_values_response.rb +211 -0
  137. data/lib/algolia/models/composition/search_for_facet_values_results.rb +253 -0
  138. data/lib/algolia/models/composition/search_response.rb +230 -0
  139. data/lib/algolia/models/composition/search_results_item.rb +608 -0
  140. data/lib/algolia/models/composition/snippet_result.rb +110 -0
  141. data/lib/algolia/models/composition/snippet_result_option.rb +230 -0
  142. data/lib/algolia/models/composition/sort_remaining_by.rb +35 -0
  143. data/lib/algolia/models/composition/supported_language.rb +169 -0
  144. data/lib/algolia/models/composition/value.rb +229 -0
  145. data/lib/algolia/models/composition/widgets.rb +209 -0
  146. data/lib/algolia/models/ingestion/action.rb +2 -0
  147. data/lib/algolia/models/ingestion/action_type.rb +2 -0
  148. data/lib/algolia/models/ingestion/auth_algolia.rb +2 -5
  149. data/lib/algolia/models/ingestion/auth_algolia_insights.rb +2 -5
  150. data/lib/algolia/models/ingestion/auth_algolia_insights_partial.rb +2 -5
  151. data/lib/algolia/models/ingestion/auth_algolia_partial.rb +2 -5
  152. data/lib/algolia/models/ingestion/auth_api_key.rb +7 -3
  153. data/lib/algolia/models/ingestion/auth_api_key_partial.rb +7 -3
  154. data/lib/algolia/models/ingestion/auth_basic.rb +8 -3
  155. data/lib/algolia/models/ingestion/auth_basic_partial.rb +7 -3
  156. data/lib/algolia/models/ingestion/auth_google_service_account.rb +8 -3
  157. data/lib/algolia/models/ingestion/auth_google_service_account_partial.rb +7 -3
  158. data/lib/algolia/models/ingestion/auth_input.rb +7 -6
  159. data/lib/algolia/models/ingestion/auth_input_partial.rb +7 -6
  160. data/lib/algolia/models/ingestion/auth_o_auth.rb +9 -3
  161. data/lib/algolia/models/ingestion/auth_o_auth_partial.rb +7 -3
  162. data/lib/algolia/models/ingestion/authentication.rb +2 -5
  163. data/lib/algolia/models/ingestion/authentication_create.rb +2 -5
  164. data/lib/algolia/models/ingestion/authentication_create_response.rb +2 -5
  165. data/lib/algolia/models/ingestion/authentication_search.rb +2 -5
  166. data/lib/algolia/models/ingestion/authentication_sort_keys.rb +2 -0
  167. data/lib/algolia/models/ingestion/authentication_type.rb +2 -0
  168. data/lib/algolia/models/ingestion/authentication_update.rb +2 -5
  169. data/lib/algolia/models/ingestion/authentication_update_response.rb +2 -5
  170. data/lib/algolia/models/ingestion/big_commerce_channel.rb +2 -5
  171. data/lib/algolia/models/ingestion/big_commerce_metafield.rb +2 -5
  172. data/lib/algolia/models/ingestion/big_query_data_type.rb +2 -0
  173. data/lib/algolia/models/ingestion/commercetools_custom_fields.rb +2 -5
  174. data/lib/algolia/models/ingestion/delete_response.rb +2 -5
  175. data/lib/algolia/models/ingestion/destination.rb +2 -5
  176. data/lib/algolia/models/ingestion/destination_create.rb +2 -5
  177. data/lib/algolia/models/ingestion/destination_create_response.rb +2 -5
  178. data/lib/algolia/models/ingestion/destination_index_name.rb +2 -5
  179. data/lib/algolia/models/ingestion/destination_input.rb +7 -6
  180. data/lib/algolia/models/ingestion/destination_search.rb +2 -5
  181. data/lib/algolia/models/ingestion/destination_sort_keys.rb +2 -0
  182. data/lib/algolia/models/ingestion/destination_type.rb +2 -0
  183. data/lib/algolia/models/ingestion/destination_update.rb +2 -5
  184. data/lib/algolia/models/ingestion/destination_update_response.rb +2 -5
  185. data/lib/algolia/models/ingestion/docker_streams.rb +2 -5
  186. data/lib/algolia/models/ingestion/docker_streams_input.rb +8 -4
  187. data/lib/algolia/models/ingestion/docker_streams_sync_mode.rb +2 -0
  188. data/lib/algolia/models/ingestion/email_notifications.rb +209 -0
  189. data/lib/algolia/models/ingestion/entity_type.rb +2 -0
  190. data/lib/algolia/models/ingestion/error_base.rb +2 -5
  191. data/lib/algolia/models/ingestion/event.rb +2 -5
  192. data/lib/algolia/models/ingestion/event_sort_keys.rb +2 -0
  193. data/lib/algolia/models/ingestion/event_status.rb +2 -0
  194. data/lib/algolia/models/ingestion/event_type.rb +2 -0
  195. data/lib/algolia/models/ingestion/list_authentications_response.rb +2 -5
  196. data/lib/algolia/models/ingestion/list_destinations_response.rb +2 -5
  197. data/lib/algolia/models/ingestion/list_events_response.rb +2 -5
  198. data/lib/algolia/models/ingestion/list_sources_response.rb +2 -5
  199. data/lib/algolia/models/ingestion/list_tasks_response.rb +2 -5
  200. data/lib/algolia/models/ingestion/list_tasks_response_v1.rb +2 -5
  201. data/lib/algolia/models/ingestion/list_transformations_response.rb +2 -5
  202. data/lib/algolia/models/ingestion/mapping_field_directive.rb +2 -5
  203. data/lib/algolia/models/ingestion/mapping_format_schema.rb +2 -0
  204. data/lib/algolia/models/ingestion/mapping_input.rb +8 -3
  205. data/lib/algolia/models/ingestion/mapping_kit_action.rb +2 -5
  206. data/lib/algolia/models/ingestion/mapping_type_csv.rb +2 -0
  207. data/lib/algolia/models/ingestion/method_type.rb +2 -0
  208. data/lib/algolia/models/ingestion/notifications.rb +211 -0
  209. data/lib/algolia/models/ingestion/on_demand_trigger.rb +2 -5
  210. data/lib/algolia/models/ingestion/on_demand_trigger_input.rb +2 -5
  211. data/lib/algolia/models/ingestion/on_demand_trigger_type.rb +2 -0
  212. data/lib/algolia/models/ingestion/order_keys.rb +2 -0
  213. data/lib/algolia/models/ingestion/pagination.rb +2 -5
  214. data/lib/algolia/models/ingestion/platform.rb +2 -0
  215. data/lib/algolia/models/ingestion/platform_none.rb +2 -0
  216. data/lib/algolia/models/ingestion/platform_with_none.rb +7 -6
  217. data/lib/algolia/models/ingestion/policies.rb +207 -0
  218. data/lib/algolia/models/ingestion/push_task_payload.rb +2 -5
  219. data/lib/algolia/models/ingestion/push_task_records.rb +10 -13
  220. data/lib/algolia/models/ingestion/record_type.rb +2 -0
  221. data/lib/algolia/models/ingestion/run.rb +2 -5
  222. data/lib/algolia/models/ingestion/run_list_response.rb +2 -5
  223. data/lib/algolia/models/ingestion/run_outcome.rb +3 -2
  224. data/lib/algolia/models/ingestion/run_progress.rb +6 -5
  225. data/lib/algolia/models/ingestion/run_reason_code.rb +2 -0
  226. data/lib/algolia/models/ingestion/run_response.rb +2 -5
  227. data/lib/algolia/models/ingestion/run_sort_keys.rb +2 -0
  228. data/lib/algolia/models/ingestion/run_source_payload.rb +2 -5
  229. data/lib/algolia/models/ingestion/run_source_response.rb +2 -5
  230. data/lib/algolia/models/ingestion/run_status.rb +2 -0
  231. data/lib/algolia/models/ingestion/run_type.rb +2 -0
  232. data/lib/algolia/models/ingestion/schedule_trigger.rb +2 -5
  233. data/lib/algolia/models/ingestion/schedule_trigger_input.rb +7 -3
  234. data/lib/algolia/models/ingestion/schedule_trigger_type.rb +2 -0
  235. data/lib/algolia/models/ingestion/shopify_input.rb +2 -5
  236. data/lib/algolia/models/ingestion/shopify_market.rb +2 -5
  237. data/lib/algolia/models/ingestion/shopify_metafield.rb +2 -5
  238. data/lib/algolia/models/ingestion/source.rb +2 -5
  239. data/lib/algolia/models/ingestion/source_big_commerce.rb +7 -3
  240. data/lib/algolia/models/ingestion/source_big_query.rb +7 -3
  241. data/lib/algolia/models/ingestion/source_commercetools.rb +7 -3
  242. data/lib/algolia/models/ingestion/source_create.rb +2 -5
  243. data/lib/algolia/models/ingestion/source_create_response.rb +2 -5
  244. data/lib/algolia/models/ingestion/source_csv.rb +2 -5
  245. data/lib/algolia/models/ingestion/source_docker.rb +10 -37
  246. data/lib/algolia/models/ingestion/source_ga4_big_query_export.rb +9 -3
  247. data/lib/algolia/models/ingestion/source_input.rb +7 -6
  248. data/lib/algolia/models/ingestion/source_json.rb +2 -5
  249. data/lib/algolia/models/ingestion/source_search.rb +2 -5
  250. data/lib/algolia/models/ingestion/source_shopify.rb +7 -3
  251. data/lib/algolia/models/ingestion/source_sort_keys.rb +2 -0
  252. data/lib/algolia/models/ingestion/source_type.rb +2 -0
  253. data/lib/algolia/models/ingestion/source_update.rb +2 -5
  254. data/lib/algolia/models/ingestion/source_update_commercetools.rb +2 -5
  255. data/lib/algolia/models/ingestion/source_update_docker.rb +8 -33
  256. data/lib/algolia/models/ingestion/source_update_input.rb +7 -6
  257. data/lib/algolia/models/ingestion/source_update_response.rb +2 -5
  258. data/lib/algolia/models/ingestion/source_update_shopify.rb +2 -5
  259. data/lib/algolia/models/ingestion/streaming_input.rb +7 -3
  260. data/lib/algolia/models/ingestion/streaming_trigger.rb +2 -5
  261. data/lib/algolia/models/ingestion/streaming_trigger_type.rb +2 -0
  262. data/lib/algolia/models/ingestion/subscription_trigger.rb +2 -5
  263. data/lib/algolia/models/ingestion/subscription_trigger_type.rb +2 -0
  264. data/lib/algolia/models/ingestion/task.rb +22 -5
  265. data/lib/algolia/models/ingestion/task_create.rb +24 -9
  266. data/lib/algolia/models/ingestion/task_create_response.rb +2 -5
  267. data/lib/algolia/models/ingestion/task_create_trigger.rb +7 -6
  268. data/lib/algolia/models/ingestion/task_create_v1.rb +2 -5
  269. data/lib/algolia/models/ingestion/task_input.rb +7 -6
  270. data/lib/algolia/models/ingestion/task_search.rb +2 -5
  271. data/lib/algolia/models/ingestion/task_sort_keys.rb +2 -0
  272. data/lib/algolia/models/ingestion/task_update.rb +24 -9
  273. data/lib/algolia/models/ingestion/task_update_response.rb +2 -5
  274. data/lib/algolia/models/ingestion/task_update_v1.rb +2 -5
  275. data/lib/algolia/models/ingestion/task_v1.rb +22 -5
  276. data/lib/algolia/models/ingestion/transformation.rb +2 -5
  277. data/lib/algolia/models/ingestion/transformation_create.rb +2 -5
  278. data/lib/algolia/models/ingestion/transformation_create_response.rb +2 -5
  279. data/lib/algolia/models/ingestion/transformation_error.rb +2 -5
  280. data/lib/algolia/models/ingestion/transformation_search.rb +2 -5
  281. data/lib/algolia/models/ingestion/transformation_sort_keys.rb +2 -0
  282. data/lib/algolia/models/ingestion/transformation_try.rb +2 -5
  283. data/lib/algolia/models/ingestion/transformation_try_response.rb +2 -5
  284. data/lib/algolia/models/ingestion/transformation_update_response.rb +2 -5
  285. data/lib/algolia/models/ingestion/trigger.rb +7 -6
  286. data/lib/algolia/models/ingestion/trigger_type.rb +2 -0
  287. data/lib/algolia/models/ingestion/trigger_update_input.rb +2 -5
  288. data/lib/algolia/models/ingestion/watch_response.rb +2 -5
  289. data/lib/algolia/models/ingestion/window.rb +2 -5
  290. data/lib/algolia/models/insights/add_to_cart_event.rb +2 -0
  291. data/lib/algolia/models/insights/added_to_cart_object_ids.rb +9 -3
  292. data/lib/algolia/models/insights/added_to_cart_object_ids_after_search.rb +10 -3
  293. data/lib/algolia/models/insights/click_event.rb +2 -0
  294. data/lib/algolia/models/insights/clicked_filters.rb +8 -3
  295. data/lib/algolia/models/insights/clicked_object_ids.rb +8 -3
  296. data/lib/algolia/models/insights/clicked_object_ids_after_search.rb +9 -3
  297. data/lib/algolia/models/insights/conversion_event.rb +2 -0
  298. data/lib/algolia/models/insights/converted_filters.rb +8 -3
  299. data/lib/algolia/models/insights/converted_object_ids.rb +8 -3
  300. data/lib/algolia/models/insights/converted_object_ids_after_search.rb +8 -3
  301. data/lib/algolia/models/insights/discount.rb +7 -6
  302. data/lib/algolia/models/insights/error_base.rb +2 -5
  303. data/lib/algolia/models/insights/events_items.rb +7 -6
  304. data/lib/algolia/models/insights/events_response.rb +2 -5
  305. data/lib/algolia/models/insights/insights_events.rb +2 -5
  306. data/lib/algolia/models/insights/object_data.rb +2 -5
  307. data/lib/algolia/models/insights/object_data_after_search.rb +2 -5
  308. data/lib/algolia/models/insights/price.rb +7 -6
  309. data/lib/algolia/models/insights/purchase_event.rb +2 -0
  310. data/lib/algolia/models/insights/purchased_object_ids.rb +9 -3
  311. data/lib/algolia/models/insights/purchased_object_ids_after_search.rb +10 -3
  312. data/lib/algolia/models/insights/value.rb +7 -6
  313. data/lib/algolia/models/insights/view_event.rb +2 -0
  314. data/lib/algolia/models/insights/viewed_filters.rb +8 -3
  315. data/lib/algolia/models/insights/viewed_object_ids.rb +8 -3
  316. data/lib/algolia/models/monitoring/error_base.rb +2 -5
  317. data/lib/algolia/models/monitoring/incident.rb +2 -5
  318. data/lib/algolia/models/monitoring/incident_entry.rb +2 -5
  319. data/lib/algolia/models/monitoring/incidents_response.rb +2 -5
  320. data/lib/algolia/models/monitoring/indexing_metric.rb +2 -5
  321. data/lib/algolia/models/monitoring/indexing_time_response.rb +2 -5
  322. data/lib/algolia/models/monitoring/infrastructure_response.rb +2 -5
  323. data/lib/algolia/models/monitoring/inventory_response.rb +2 -5
  324. data/lib/algolia/models/monitoring/latency_metric.rb +2 -5
  325. data/lib/algolia/models/monitoring/latency_response.rb +2 -5
  326. data/lib/algolia/models/monitoring/metric.rb +2 -0
  327. data/lib/algolia/models/monitoring/metrics.rb +2 -5
  328. data/lib/algolia/models/monitoring/period.rb +2 -0
  329. data/lib/algolia/models/monitoring/probes_metric.rb +2 -5
  330. data/lib/algolia/models/monitoring/region.rb +2 -0
  331. data/lib/algolia/models/monitoring/server.rb +2 -5
  332. data/lib/algolia/models/monitoring/server_status.rb +2 -0
  333. data/lib/algolia/models/monitoring/status.rb +2 -0
  334. data/lib/algolia/models/monitoring/status_response.rb +2 -5
  335. data/lib/algolia/models/monitoring/time_entry.rb +2 -5
  336. data/lib/algolia/models/monitoring/type.rb +2 -0
  337. data/lib/algolia/models/personalization/delete_user_profile_response.rb +2 -5
  338. data/lib/algolia/models/personalization/error_base.rb +2 -5
  339. data/lib/algolia/models/personalization/event_type.rb +2 -0
  340. data/lib/algolia/models/personalization/{event_scoring.rb → events_scoring.rb} +5 -8
  341. data/lib/algolia/models/personalization/{facet_scoring.rb → facets_scoring.rb} +5 -8
  342. data/lib/algolia/models/personalization/get_user_token_response.rb +2 -5
  343. data/lib/algolia/models/personalization/personalization_strategy_params.rb +19 -22
  344. data/lib/algolia/models/personalization/set_personalization_strategy_response.rb +2 -5
  345. data/lib/algolia/models/query-suggestions/base_response.rb +2 -5
  346. data/lib/algolia/models/query-suggestions/config_status.rb +2 -5
  347. data/lib/algolia/models/query-suggestions/configuration.rb +2 -5
  348. data/lib/algolia/models/query-suggestions/configuration_response.rb +2 -5
  349. data/lib/algolia/models/query-suggestions/configuration_with_index.rb +2 -5
  350. data/lib/algolia/models/query-suggestions/error_base.rb +2 -5
  351. data/lib/algolia/models/query-suggestions/facet.rb +2 -5
  352. data/lib/algolia/models/query-suggestions/languages.rb +7 -6
  353. data/lib/algolia/models/query-suggestions/log_file.rb +2 -5
  354. data/lib/algolia/models/query-suggestions/log_level.rb +2 -0
  355. data/lib/algolia/models/query-suggestions/source_index.rb +2 -5
  356. data/lib/algolia/models/recommend/advanced_syntax_features.rb +2 -0
  357. data/lib/algolia/models/recommend/alternatives_as_exact.rb +2 -0
  358. data/lib/algolia/models/recommend/around_precision.rb +7 -6
  359. data/lib/algolia/models/recommend/around_radius.rb +7 -6
  360. data/lib/algolia/models/recommend/around_radius_all.rb +2 -0
  361. data/lib/algolia/models/recommend/auto_facet_filter.rb +2 -5
  362. data/lib/algolia/models/recommend/banner.rb +3 -6
  363. data/lib/algolia/models/recommend/banner_image.rb +3 -6
  364. data/lib/algolia/models/recommend/banner_image_url.rb +3 -6
  365. data/lib/algolia/models/recommend/banner_link.rb +3 -6
  366. data/lib/algolia/models/recommend/boolean_string.rb +2 -0
  367. data/lib/algolia/models/recommend/bought_together_query.rb +10 -13
  368. data/lib/algolia/models/recommend/condition.rb +2 -5
  369. data/lib/algolia/models/recommend/consequence.rb +2 -5
  370. data/lib/algolia/models/recommend/deleted_at_response.rb +2 -5
  371. data/lib/algolia/models/recommend/distinct.rb +7 -6
  372. data/lib/algolia/models/recommend/error_base.rb +2 -5
  373. data/lib/algolia/models/recommend/exact_on_single_word_query.rb +2 -0
  374. data/lib/algolia/models/recommend/exhaustive.rb +2 -5
  375. data/lib/algolia/models/recommend/facet_filters.rb +7 -6
  376. data/lib/algolia/models/recommend/facet_ordering.rb +2 -5
  377. data/lib/algolia/models/recommend/facet_stats.rb +2 -5
  378. data/lib/algolia/models/recommend/fallback_params.rb +26 -5
  379. data/lib/algolia/models/recommend/fbt_model.rb +2 -0
  380. data/lib/algolia/models/recommend/get_recommend_task_response.rb +2 -5
  381. data/lib/algolia/models/recommend/get_recommendations_params.rb +2 -5
  382. data/lib/algolia/models/recommend/get_recommendations_response.rb +2 -5
  383. data/lib/algolia/models/recommend/hide_consequence_object.rb +9 -12
  384. data/lib/algolia/models/recommend/highlight_result.rb +7 -6
  385. data/lib/algolia/models/recommend/highlight_result_option.rb +8 -3
  386. data/lib/algolia/models/recommend/ignore_plurals.rb +7 -6
  387. data/lib/algolia/models/recommend/index_settings_facets.rb +2 -5
  388. data/lib/algolia/models/recommend/inside_bounding_box.rb +7 -6
  389. data/lib/algolia/models/recommend/looking_similar_model.rb +2 -0
  390. data/lib/algolia/models/recommend/looking_similar_query.rb +10 -13
  391. data/lib/algolia/models/recommend/match_level.rb +2 -0
  392. data/lib/algolia/models/recommend/matched_geo_location.rb +2 -5
  393. data/lib/algolia/models/recommend/numeric_filters.rb +7 -6
  394. data/lib/algolia/models/recommend/optional_filters.rb +8 -7
  395. data/lib/algolia/models/recommend/optional_words.rb +7 -6
  396. data/lib/algolia/models/recommend/params_consequence.rb +2 -5
  397. data/lib/algolia/models/recommend/personalization.rb +2 -5
  398. data/lib/algolia/models/recommend/promote_consequence_object.rb +9 -12
  399. data/lib/algolia/models/recommend/query_type.rb +2 -0
  400. data/lib/algolia/models/recommend/range.rb +2 -5
  401. data/lib/algolia/models/recommend/ranking_info.rb +2 -5
  402. data/lib/algolia/models/recommend/re_ranking_apply_filter.rb +7 -6
  403. data/lib/algolia/models/recommend/recommend_hit.rb +15 -11
  404. data/lib/algolia/models/recommend/recommend_models.rb +2 -0
  405. data/lib/algolia/models/recommend/recommend_rule.rb +9 -12
  406. data/lib/algolia/models/recommend/recommend_search_params.rb +26 -5
  407. data/lib/algolia/models/recommend/recommend_updated_at_response.rb +2 -5
  408. data/lib/algolia/models/recommend/recommendations_hit.rb +7 -6
  409. data/lib/algolia/models/recommend/recommendations_request.rb +7 -6
  410. data/lib/algolia/models/recommend/recommendations_results.rb +2 -5
  411. data/lib/algolia/models/recommend/redirect.rb +2 -5
  412. data/lib/algolia/models/recommend/redirect_rule_index_data.rb +2 -5
  413. data/lib/algolia/models/recommend/redirect_rule_index_metadata.rb +2 -5
  414. data/lib/algolia/models/recommend/redirect_url.rb +2 -5
  415. data/lib/algolia/models/recommend/related_model.rb +2 -0
  416. data/lib/algolia/models/recommend/related_query.rb +10 -13
  417. data/lib/algolia/models/recommend/remove_stop_words.rb +7 -6
  418. data/lib/algolia/models/recommend/remove_words_if_no_results.rb +2 -0
  419. data/lib/algolia/models/recommend/rendering_content.rb +2 -5
  420. data/lib/algolia/models/recommend/rule_metadata.rb +2 -5
  421. data/lib/algolia/models/recommend/search_recommend_rules_params.rb +2 -5
  422. data/lib/algolia/models/recommend/search_recommend_rules_response.rb +2 -5
  423. data/lib/algolia/models/recommend/snippet_result.rb +7 -6
  424. data/lib/algolia/models/recommend/snippet_result_option.rb +7 -3
  425. data/lib/algolia/models/recommend/sort_remaining_by.rb +2 -0
  426. data/lib/algolia/models/recommend/supported_language.rb +2 -0
  427. data/lib/algolia/models/recommend/tag_filters.rb +7 -6
  428. data/lib/algolia/models/recommend/task_status.rb +2 -0
  429. data/lib/algolia/models/recommend/time_range.rb +2 -5
  430. data/lib/algolia/models/recommend/trending_facet_hit.rb +8 -3
  431. data/lib/algolia/models/recommend/trending_facets_model.rb +2 -0
  432. data/lib/algolia/models/recommend/trending_facets_query.rb +2 -5
  433. data/lib/algolia/models/recommend/trending_items_model.rb +2 -0
  434. data/lib/algolia/models/recommend/trending_items_query.rb +2 -5
  435. data/lib/algolia/models/recommend/typo_tolerance.rb +7 -6
  436. data/lib/algolia/models/recommend/typo_tolerance_enum.rb +2 -0
  437. data/lib/algolia/models/recommend/value.rb +2 -5
  438. data/lib/algolia/models/recommend/widgets.rb +4 -7
  439. data/lib/algolia/models/search/acl.rb +2 -0
  440. data/lib/algolia/models/search/action.rb +2 -0
  441. data/lib/algolia/models/search/add_api_key_response.rb +2 -5
  442. data/lib/algolia/models/search/advanced_syntax_features.rb +2 -0
  443. data/lib/algolia/models/search/alternatives_as_exact.rb +2 -0
  444. data/lib/algolia/models/search/anchoring.rb +2 -0
  445. data/lib/algolia/models/search/api_key.rb +2 -5
  446. data/lib/algolia/models/search/api_key_operation.rb +2 -0
  447. data/lib/algolia/models/search/around_precision.rb +7 -6
  448. data/lib/algolia/models/search/around_radius.rb +7 -6
  449. data/lib/algolia/models/search/around_radius_all.rb +2 -0
  450. data/lib/algolia/models/search/assign_user_id_params.rb +2 -5
  451. data/lib/algolia/models/search/attribute_to_update.rb +7 -6
  452. data/lib/algolia/models/search/automatic_facet_filter.rb +2 -5
  453. data/lib/algolia/models/search/automatic_facet_filters.rb +7 -6
  454. data/lib/algolia/models/search/banner.rb +3 -6
  455. data/lib/algolia/models/search/banner_image.rb +3 -6
  456. data/lib/algolia/models/search/banner_image_url.rb +3 -6
  457. data/lib/algolia/models/search/banner_link.rb +3 -6
  458. data/lib/algolia/models/search/batch_assign_user_ids_params.rb +2 -5
  459. data/lib/algolia/models/search/batch_dictionary_entries_params.rb +2 -5
  460. data/lib/algolia/models/search/batch_dictionary_entries_request.rb +2 -5
  461. data/lib/algolia/models/search/batch_params.rb +2 -5
  462. data/lib/algolia/models/search/batch_request.rb +2 -5
  463. data/lib/algolia/models/search/batch_response.rb +2 -5
  464. data/lib/algolia/models/search/batch_write_params.rb +2 -5
  465. data/lib/algolia/models/search/boolean_string.rb +2 -0
  466. data/lib/algolia/models/search/browse_params.rb +7 -6
  467. data/lib/algolia/models/search/browse_params_object.rb +2 -29
  468. data/lib/algolia/models/search/browse_response.rb +2 -5
  469. data/lib/algolia/models/search/built_in_operation.rb +2 -5
  470. data/lib/algolia/models/search/built_in_operation_type.rb +2 -0
  471. data/lib/algolia/models/search/built_in_operation_value.rb +7 -6
  472. data/lib/algolia/models/search/condition.rb +2 -5
  473. data/lib/algolia/models/search/consequence.rb +2 -5
  474. data/lib/algolia/models/search/consequence_hide.rb +10 -13
  475. data/lib/algolia/models/search/consequence_params.rb +2 -29
  476. data/lib/algolia/models/search/consequence_query.rb +7 -6
  477. data/lib/algolia/models/search/consequence_query_object.rb +2 -5
  478. data/lib/algolia/models/search/created_at_response.rb +2 -5
  479. data/lib/algolia/models/search/delete_api_key_response.rb +2 -5
  480. data/lib/algolia/models/search/delete_by_params.rb +2 -5
  481. data/lib/algolia/models/search/delete_source_response.rb +2 -5
  482. data/lib/algolia/models/search/deleted_at_response.rb +2 -5
  483. data/lib/algolia/models/search/dictionary_action.rb +2 -0
  484. data/lib/algolia/models/search/dictionary_entry.rb +10 -13
  485. data/lib/algolia/models/search/dictionary_entry_state.rb +2 -0
  486. data/lib/algolia/models/search/dictionary_entry_type.rb +2 -0
  487. data/lib/algolia/models/search/dictionary_language.rb +2 -5
  488. data/lib/algolia/models/search/dictionary_settings_params.rb +2 -5
  489. data/lib/algolia/models/search/dictionary_type.rb +2 -0
  490. data/lib/algolia/models/search/distinct.rb +7 -6
  491. data/lib/algolia/models/search/edit.rb +2 -5
  492. data/lib/algolia/models/search/edit_type.rb +2 -0
  493. data/lib/algolia/models/search/error_base.rb +2 -5
  494. data/lib/algolia/models/search/exact_on_single_word_query.rb +2 -0
  495. data/lib/algolia/models/search/exhaustive.rb +2 -5
  496. data/lib/algolia/models/search/facet_filters.rb +7 -6
  497. data/lib/algolia/models/search/facet_hits.rb +2 -5
  498. data/lib/algolia/models/search/facet_ordering.rb +2 -5
  499. data/lib/algolia/models/search/facet_stats.rb +2 -5
  500. data/lib/algolia/models/search/facets.rb +2 -5
  501. data/lib/algolia/models/search/fetched_index.rb +2 -5
  502. data/lib/algolia/models/search/get_api_key_response.rb +2 -5
  503. data/lib/algolia/models/search/get_dictionary_settings_response.rb +2 -5
  504. data/lib/algolia/models/search/get_logs_response.rb +2 -5
  505. data/lib/algolia/models/search/get_objects_params.rb +2 -5
  506. data/lib/algolia/models/search/get_objects_request.rb +10 -13
  507. data/lib/algolia/models/search/get_objects_response.rb +2 -5
  508. data/lib/algolia/models/search/get_task_response.rb +2 -5
  509. data/lib/algolia/models/search/get_top_user_ids_response.rb +2 -5
  510. data/lib/algolia/models/search/has_pending_mappings_response.rb +2 -5
  511. data/lib/algolia/models/search/highlight_result.rb +7 -6
  512. data/lib/algolia/models/search/highlight_result_option.rb +8 -3
  513. data/lib/algolia/models/search/hit.rb +10 -13
  514. data/lib/algolia/models/search/ignore_plurals.rb +7 -6
  515. data/lib/algolia/models/search/index_settings.rb +26 -29
  516. data/lib/algolia/models/search/inside_bounding_box.rb +7 -6
  517. data/lib/algolia/models/search/languages.rb +2 -5
  518. data/lib/algolia/models/search/list_api_keys_response.rb +2 -5
  519. data/lib/algolia/models/search/list_clusters_response.rb +2 -5
  520. data/lib/algolia/models/search/list_indices_response.rb +2 -5
  521. data/lib/algolia/models/search/list_user_ids_response.rb +2 -5
  522. data/lib/algolia/models/search/log.rb +2 -5
  523. data/lib/algolia/models/search/log_query.rb +2 -5
  524. data/lib/algolia/models/search/log_type.rb +2 -0
  525. data/lib/algolia/models/search/match_level.rb +2 -0
  526. data/lib/algolia/models/search/matched_geo_location.rb +2 -5
  527. data/lib/algolia/models/search/mode.rb +2 -0
  528. data/lib/algolia/models/search/multiple_batch_request.rb +2 -5
  529. data/lib/algolia/models/search/multiple_batch_response.rb +2 -5
  530. data/lib/algolia/models/search/numeric_filters.rb +7 -6
  531. data/lib/algolia/models/search/operation_index_params.rb +2 -5
  532. data/lib/algolia/models/search/operation_type.rb +2 -0
  533. data/lib/algolia/models/search/optional_filters.rb +8 -7
  534. data/lib/algolia/models/search/optional_words.rb +7 -6
  535. data/lib/algolia/models/search/personalization.rb +2 -5
  536. data/lib/algolia/models/search/promote.rb +7 -6
  537. data/lib/algolia/models/search/promote_object_id.rb +15 -11
  538. data/lib/algolia/models/search/promote_object_ids.rb +7 -3
  539. data/lib/algolia/models/search/query_type.rb +2 -0
  540. data/lib/algolia/models/search/range.rb +2 -5
  541. data/lib/algolia/models/search/ranking_info.rb +2 -5
  542. data/lib/algolia/models/search/re_ranking_apply_filter.rb +7 -6
  543. data/lib/algolia/models/search/redirect.rb +2 -5
  544. data/lib/algolia/models/search/redirect_rule_index_data.rb +2 -5
  545. data/lib/algolia/models/search/redirect_rule_index_metadata.rb +2 -5
  546. data/lib/algolia/models/search/redirect_url.rb +2 -5
  547. data/lib/algolia/models/search/remove_stop_words.rb +7 -6
  548. data/lib/algolia/models/search/remove_user_id_response.rb +2 -5
  549. data/lib/algolia/models/search/remove_words_if_no_results.rb +2 -0
  550. data/lib/algolia/models/search/rendering_content.rb +2 -5
  551. data/lib/algolia/models/search/replace_all_objects_response.rb +2 -5
  552. data/lib/algolia/models/search/replace_source_response.rb +2 -5
  553. data/lib/algolia/models/search/rule.rb +10 -13
  554. data/lib/algolia/models/search/save_object_response.rb +9 -12
  555. data/lib/algolia/models/search/save_synonym_response.rb +2 -5
  556. data/lib/algolia/models/search/scope_type.rb +2 -0
  557. data/lib/algolia/models/search/search_dictionary_entries_params.rb +2 -5
  558. data/lib/algolia/models/search/search_dictionary_entries_response.rb +2 -5
  559. data/lib/algolia/models/search/search_for_facet_values_request.rb +2 -5
  560. data/lib/algolia/models/search/search_for_facet_values_response.rb +7 -3
  561. data/lib/algolia/models/search/search_for_facets.rb +8 -27
  562. data/lib/algolia/models/search/search_for_hits.rb +2 -29
  563. data/lib/algolia/models/search/search_method_params.rb +2 -5
  564. data/lib/algolia/models/search/search_params.rb +7 -6
  565. data/lib/algolia/models/search/search_params_object.rb +2 -29
  566. data/lib/algolia/models/search/search_params_string.rb +7 -3
  567. data/lib/algolia/models/search/search_query.rb +7 -6
  568. data/lib/algolia/models/search/search_response.rb +2 -5
  569. data/lib/algolia/models/search/search_responses.rb +2 -5
  570. data/lib/algolia/models/search/search_result.rb +7 -6
  571. data/lib/algolia/models/search/search_rules_params.rb +2 -5
  572. data/lib/algolia/models/search/search_rules_response.rb +2 -5
  573. data/lib/algolia/models/search/search_strategy.rb +2 -0
  574. data/lib/algolia/models/search/search_synonyms_params.rb +2 -5
  575. data/lib/algolia/models/search/search_synonyms_response.rb +2 -5
  576. data/lib/algolia/models/search/search_type_default.rb +2 -0
  577. data/lib/algolia/models/search/search_type_facet.rb +2 -0
  578. data/lib/algolia/models/search/search_user_ids_params.rb +2 -5
  579. data/lib/algolia/models/search/search_user_ids_response.rb +2 -5
  580. data/lib/algolia/models/search/secured_api_key_restrictions.rb +2 -5
  581. data/lib/algolia/models/search/semantic_search.rb +2 -5
  582. data/lib/algolia/models/search/settings_response.rb +26 -29
  583. data/lib/algolia/models/search/snippet_result.rb +7 -6
  584. data/lib/algolia/models/search/snippet_result_option.rb +7 -3
  585. data/lib/algolia/models/search/sort_remaining_by.rb +2 -0
  586. data/lib/algolia/models/search/source.rb +2 -5
  587. data/lib/algolia/models/search/standard_entries.rb +2 -5
  588. data/lib/algolia/models/search/supported_language.rb +2 -0
  589. data/lib/algolia/models/search/synonym_hit.rb +10 -13
  590. data/lib/algolia/models/search/synonym_type.rb +2 -0
  591. data/lib/algolia/models/search/tag_filters.rb +7 -6
  592. data/lib/algolia/models/search/task_status.rb +2 -0
  593. data/lib/algolia/models/search/time_range.rb +2 -5
  594. data/lib/algolia/models/search/typo_tolerance.rb +7 -6
  595. data/lib/algolia/models/search/typo_tolerance_enum.rb +2 -0
  596. data/lib/algolia/models/search/update_api_key_response.rb +2 -5
  597. data/lib/algolia/models/search/updated_at_response.rb +2 -5
  598. data/lib/algolia/models/search/updated_at_with_object_id_response.rb +9 -12
  599. data/lib/algolia/models/search/user_highlight_result.rb +2 -5
  600. data/lib/algolia/models/search/user_hit.rb +10 -13
  601. data/lib/algolia/models/search/user_id.rb +2 -5
  602. data/lib/algolia/models/search/value.rb +2 -5
  603. data/lib/algolia/models/search/widgets.rb +4 -7
  604. data/lib/algolia/version.rb +3 -1
  605. metadata +60 -11
@@ -0,0 +1,227 @@
1
+ # frozen_string_literal: true
2
+
3
+ # 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.
4
+
5
+ require "date"
6
+ require "time"
7
+
8
+ module Algolia
9
+ module Composition
10
+ # Extra data that can be used in the search UI. You can use this to control aspects of your search UI, such as the order of facet names and values without changing your frontend code.
11
+ class RenderingContent
12
+ attr_accessor :facet_ordering
13
+
14
+ attr_accessor :redirect
15
+
16
+ attr_accessor :widgets
17
+
18
+ # Attribute mapping from ruby-style variable name to JSON key.
19
+ def self.attribute_map
20
+ {
21
+ :facet_ordering => :facetOrdering,
22
+ :redirect => :redirect,
23
+ :widgets => :widgets
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.types_mapping
29
+ {
30
+ :facet_ordering => :"FacetOrdering",
31
+ :redirect => :"RedirectURL",
32
+ :widgets => :"Widgets"
33
+ }
34
+ end
35
+
36
+ # List of attributes with nullable: true
37
+ def self.openapi_nullable
38
+ Set.new(
39
+ []
40
+ )
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param [Hash] attributes Model attributes in the form of hash
45
+ def initialize(attributes = {})
46
+ if (!attributes.is_a?(Hash))
47
+ raise(
48
+ ArgumentError,
49
+ "The input argument (attributes) must be a hash in `Algolia::RenderingContent` initialize method"
50
+ )
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ raise(
57
+ ArgumentError,
58
+ "`#{k}` is not a valid attribute in `Algolia::RenderingContent`. Please check the name to make sure it's valid. List of attributes: " +
59
+ self.class.attribute_map.keys.inspect
60
+ )
61
+ end
62
+
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:facet_ordering)
67
+ self.facet_ordering = attributes[:facet_ordering]
68
+ end
69
+
70
+ if attributes.key?(:redirect)
71
+ self.redirect = attributes[:redirect]
72
+ end
73
+
74
+ if attributes.key?(:widgets)
75
+ self.widgets = attributes[:widgets]
76
+ end
77
+ end
78
+
79
+ # Checks equality by comparing each attribute.
80
+ # @param [Object] Object to be compared
81
+ def ==(other)
82
+ return true if self.equal?(other)
83
+ self.class == other.class &&
84
+ facet_ordering == other.facet_ordering &&
85
+ redirect == other.redirect &&
86
+ widgets == other.widgets
87
+ end
88
+
89
+ # @see the `==` method
90
+ # @param [Object] Object to be compared
91
+ def eql?(other)
92
+ self == other
93
+ end
94
+
95
+ # Calculates hash code according to all attributes.
96
+ # @return [Integer] Hash code
97
+ def hash
98
+ [facet_ordering, redirect, widgets].hash
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def self.build_from_hash(attributes)
105
+ return nil unless attributes.is_a?(Hash)
106
+ attributes = attributes.transform_keys(&:to_sym)
107
+ transformed_hash = {}
108
+ types_mapping.each_pair do |key, type|
109
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
110
+ transformed_hash[key.to_sym] = nil
111
+ elsif type =~ /\AArray<(.*)>/i
112
+ # check to ensure the input is an array given that the attribute
113
+ # is documented as an array but the input is not
114
+ if attributes[attribute_map[key]].is_a?(Array)
115
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
116
+ _deserialize(::Regexp.last_match(1), v)
117
+ }
118
+ end
119
+ elsif !attributes[attribute_map[key]].nil?
120
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
121
+ end
122
+ end
123
+
124
+ new(transformed_hash)
125
+ end
126
+
127
+ # Deserializes the data based on type
128
+ # @param string type Data type
129
+ # @param string value Value to be deserialized
130
+ # @return [Object] Deserialized data
131
+ def self._deserialize(type, value)
132
+ case type.to_sym
133
+ when :Time
134
+ Time.parse(value)
135
+ when :Date
136
+ Date.parse(value)
137
+ when :String
138
+ value.to_s
139
+ when :Integer
140
+ value.to_i
141
+ when :Float
142
+ value.to_f
143
+ when :Boolean
144
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
145
+ true
146
+ else
147
+ false
148
+ end
149
+
150
+ when :Object
151
+ # generic object (usually a Hash), return directly
152
+ value
153
+ when /\AArray<(?<inner_type>.+)>\z/
154
+ inner_type = Regexp.last_match[:inner_type]
155
+ value.map { |v| _deserialize(inner_type, v) }
156
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
157
+ k_type = Regexp.last_match[:k_type]
158
+ v_type = Regexp.last_match[:v_type]
159
+ {}.tap do |hash|
160
+ value.each do |k, v|
161
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
162
+ end
163
+ end
164
+ # model
165
+ else
166
+ # models (e.g. Pet) or oneOf
167
+ klass = Algolia::Composition.const_get(type)
168
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
169
+ .build_from_hash(value)
170
+ end
171
+ end
172
+
173
+ # Returns the string representation of the object
174
+ # @return [String] String presentation of the object
175
+ def to_s
176
+ to_hash.to_s
177
+ end
178
+
179
+ # to_body is an alias to to_hash (backward compatibility)
180
+ # @return [Hash] Returns the object in the form of hash
181
+ def to_body
182
+ to_hash
183
+ end
184
+
185
+ def to_json(*_args)
186
+ to_hash.to_json
187
+ end
188
+
189
+ # Returns the object in the form of hash
190
+ # @return [Hash] Returns the object in the form of hash
191
+ def to_hash
192
+ hash = {}
193
+ self.class.attribute_map.each_pair do |attr, param|
194
+ value = send(attr)
195
+ if value.nil?
196
+ is_nullable = self.class.openapi_nullable.include?(attr)
197
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
198
+ end
199
+
200
+ hash[param] = _to_hash(value)
201
+ end
202
+
203
+ hash
204
+ end
205
+
206
+ # Outputs non-array value in the form of hash
207
+ # For object, use to_hash. Otherwise, just return the value
208
+ # @param [Object] value Any valid value
209
+ # @return [Hash] Returns the value in the form of hash
210
+ def _to_hash(value)
211
+ if value.is_a?(Array)
212
+ value.compact.map { |v| _to_hash(v) }
213
+ elsif value.is_a?(Hash)
214
+ {}.tap do |hash|
215
+ value.each { |k, v| hash[k] = _to_hash(v) }
216
+ end
217
+ elsif value.respond_to?(:to_hash)
218
+ value.to_hash
219
+ else
220
+ value
221
+ end
222
+ end
223
+
224
+ end
225
+
226
+ end
227
+ end
@@ -0,0 +1,208 @@
1
+ # frozen_string_literal: true
2
+
3
+ # 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.
4
+
5
+ require "date"
6
+ require "time"
7
+
8
+ module Algolia
9
+ module Composition
10
+ class RequestBody
11
+ attr_accessor :params
12
+
13
+ # Attribute mapping from ruby-style variable name to JSON key.
14
+ def self.attribute_map
15
+ {
16
+ :params => :params
17
+ }
18
+ end
19
+
20
+ # Attribute type mapping.
21
+ def self.types_mapping
22
+ {
23
+ :params => :"Params"
24
+ }
25
+ end
26
+
27
+ # List of attributes with nullable: true
28
+ def self.openapi_nullable
29
+ Set.new(
30
+ []
31
+ )
32
+ end
33
+
34
+ # Initializes the object
35
+ # @param [Hash] attributes Model attributes in the form of hash
36
+ def initialize(attributes = {})
37
+ if (!attributes.is_a?(Hash))
38
+ raise(
39
+ ArgumentError,
40
+ "The input argument (attributes) must be a hash in `Algolia::RequestBody` initialize method"
41
+ )
42
+ end
43
+
44
+ # check to see if the attribute exists and convert string to symbol for hash key
45
+ attributes = attributes.each_with_object({}) { |(k, v), h|
46
+ if (!self.class.attribute_map.key?(k.to_sym))
47
+ raise(
48
+ ArgumentError,
49
+ "`#{k}` is not a valid attribute in `Algolia::RequestBody`. Please check the name to make sure it's valid. List of attributes: " +
50
+ self.class.attribute_map.keys.inspect
51
+ )
52
+ end
53
+
54
+ h[k.to_sym] = v
55
+ }
56
+
57
+ if attributes.key?(:params)
58
+ self.params = attributes[:params]
59
+ end
60
+ end
61
+
62
+ # Checks equality by comparing each attribute.
63
+ # @param [Object] Object to be compared
64
+ def ==(other)
65
+ return true if self.equal?(other)
66
+ self.class == other.class &&
67
+ params == other.params
68
+ end
69
+
70
+ # @see the `==` method
71
+ # @param [Object] Object to be compared
72
+ def eql?(other)
73
+ self == other
74
+ end
75
+
76
+ # Calculates hash code according to all attributes.
77
+ # @return [Integer] Hash code
78
+ def hash
79
+ [params].hash
80
+ end
81
+
82
+ # Builds the object from hash
83
+ # @param [Hash] attributes Model attributes in the form of hash
84
+ # @return [Object] Returns the model itself
85
+ def self.build_from_hash(attributes)
86
+ return nil unless attributes.is_a?(Hash)
87
+ attributes = attributes.transform_keys(&:to_sym)
88
+ transformed_hash = {}
89
+ types_mapping.each_pair do |key, type|
90
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
91
+ transformed_hash[key.to_sym] = nil
92
+ elsif type =~ /\AArray<(.*)>/i
93
+ # check to ensure the input is an array given that the attribute
94
+ # is documented as an array but the input is not
95
+ if attributes[attribute_map[key]].is_a?(Array)
96
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
97
+ _deserialize(::Regexp.last_match(1), v)
98
+ }
99
+ end
100
+ elsif !attributes[attribute_map[key]].nil?
101
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
102
+ end
103
+ end
104
+
105
+ new(transformed_hash)
106
+ end
107
+
108
+ # Deserializes the data based on type
109
+ # @param string type Data type
110
+ # @param string value Value to be deserialized
111
+ # @return [Object] Deserialized data
112
+ def self._deserialize(type, value)
113
+ case type.to_sym
114
+ when :Time
115
+ Time.parse(value)
116
+ when :Date
117
+ Date.parse(value)
118
+ when :String
119
+ value.to_s
120
+ when :Integer
121
+ value.to_i
122
+ when :Float
123
+ value.to_f
124
+ when :Boolean
125
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
126
+ true
127
+ else
128
+ false
129
+ end
130
+
131
+ when :Object
132
+ # generic object (usually a Hash), return directly
133
+ value
134
+ when /\AArray<(?<inner_type>.+)>\z/
135
+ inner_type = Regexp.last_match[:inner_type]
136
+ value.map { |v| _deserialize(inner_type, v) }
137
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
138
+ k_type = Regexp.last_match[:k_type]
139
+ v_type = Regexp.last_match[:v_type]
140
+ {}.tap do |hash|
141
+ value.each do |k, v|
142
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
143
+ end
144
+ end
145
+ # model
146
+ else
147
+ # models (e.g. Pet) or oneOf
148
+ klass = Algolia::Composition.const_get(type)
149
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
150
+ .build_from_hash(value)
151
+ end
152
+ end
153
+
154
+ # Returns the string representation of the object
155
+ # @return [String] String presentation of the object
156
+ def to_s
157
+ to_hash.to_s
158
+ end
159
+
160
+ # to_body is an alias to to_hash (backward compatibility)
161
+ # @return [Hash] Returns the object in the form of hash
162
+ def to_body
163
+ to_hash
164
+ end
165
+
166
+ def to_json(*_args)
167
+ to_hash.to_json
168
+ end
169
+
170
+ # Returns the object in the form of hash
171
+ # @return [Hash] Returns the object in the form of hash
172
+ def to_hash
173
+ hash = {}
174
+ self.class.attribute_map.each_pair do |attr, param|
175
+ value = send(attr)
176
+ if value.nil?
177
+ is_nullable = self.class.openapi_nullable.include?(attr)
178
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
179
+ end
180
+
181
+ hash[param] = _to_hash(value)
182
+ end
183
+
184
+ hash
185
+ end
186
+
187
+ # Outputs non-array value in the form of hash
188
+ # For object, use to_hash. Otherwise, just return the value
189
+ # @param [Object] value Any valid value
190
+ # @return [Hash] Returns the value in the form of hash
191
+ def _to_hash(value)
192
+ if value.is_a?(Array)
193
+ value.compact.map { |v| _to_hash(v) }
194
+ elsif value.is_a?(Hash)
195
+ {}.tap do |hash|
196
+ value.each { |k, v| hash[k] = _to_hash(v) }
197
+ end
198
+ elsif value.respond_to?(:to_hash)
199
+ value.to_hash
200
+ else
201
+ value
202
+ end
203
+ end
204
+
205
+ end
206
+
207
+ end
208
+ end
@@ -0,0 +1,212 @@
1
+ # frozen_string_literal: true
2
+
3
+ # 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.
4
+
5
+ require "date"
6
+ require "time"
7
+
8
+ module Algolia
9
+ module Composition
10
+ class ResultsCompositionInfoResponse
11
+ attr_accessor :injected_items
12
+
13
+ # Attribute mapping from ruby-style variable name to JSON key.
14
+ def self.attribute_map
15
+ {
16
+ :injected_items => :injectedItems
17
+ }
18
+ end
19
+
20
+ # Attribute type mapping.
21
+ def self.types_mapping
22
+ {
23
+ :injected_items => :"Array<ResultsInjectedItemInfoResponse>"
24
+ }
25
+ end
26
+
27
+ # List of attributes with nullable: true
28
+ def self.openapi_nullable
29
+ Set.new(
30
+ []
31
+ )
32
+ end
33
+
34
+ # Initializes the object
35
+ # @param [Hash] attributes Model attributes in the form of hash
36
+ def initialize(attributes = {})
37
+ if (!attributes.is_a?(Hash))
38
+ raise(
39
+ ArgumentError,
40
+ "The input argument (attributes) must be a hash in `Algolia::ResultsCompositionInfoResponse` initialize method"
41
+ )
42
+ end
43
+
44
+ # check to see if the attribute exists and convert string to symbol for hash key
45
+ attributes = attributes.each_with_object({}) { |(k, v), h|
46
+ if (!self.class.attribute_map.key?(k.to_sym))
47
+ raise(
48
+ ArgumentError,
49
+ "`#{k}` is not a valid attribute in `Algolia::ResultsCompositionInfoResponse`. Please check the name to make sure it's valid. List of attributes: " +
50
+ self.class.attribute_map.keys.inspect
51
+ )
52
+ end
53
+
54
+ h[k.to_sym] = v
55
+ }
56
+
57
+ if attributes.key?(:injected_items)
58
+ if (value = attributes[:injected_items]).is_a?(Array)
59
+ self.injected_items = value
60
+ end
61
+ else
62
+ self.injected_items = nil
63
+ end
64
+ end
65
+
66
+ # Checks equality by comparing each attribute.
67
+ # @param [Object] Object to be compared
68
+ def ==(other)
69
+ return true if self.equal?(other)
70
+ self.class == other.class &&
71
+ injected_items == other.injected_items
72
+ end
73
+
74
+ # @see the `==` method
75
+ # @param [Object] Object to be compared
76
+ def eql?(other)
77
+ self == other
78
+ end
79
+
80
+ # Calculates hash code according to all attributes.
81
+ # @return [Integer] Hash code
82
+ def hash
83
+ [injected_items].hash
84
+ end
85
+
86
+ # Builds the object from hash
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ # @return [Object] Returns the model itself
89
+ def self.build_from_hash(attributes)
90
+ return nil unless attributes.is_a?(Hash)
91
+ attributes = attributes.transform_keys(&:to_sym)
92
+ transformed_hash = {}
93
+ types_mapping.each_pair do |key, type|
94
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
95
+ transformed_hash[key.to_sym] = nil
96
+ elsif type =~ /\AArray<(.*)>/i
97
+ # check to ensure the input is an array given that the attribute
98
+ # is documented as an array but the input is not
99
+ if attributes[attribute_map[key]].is_a?(Array)
100
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v|
101
+ _deserialize(::Regexp.last_match(1), v)
102
+ }
103
+ end
104
+ elsif !attributes[attribute_map[key]].nil?
105
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
106
+ end
107
+ end
108
+
109
+ new(transformed_hash)
110
+ end
111
+
112
+ # Deserializes the data based on type
113
+ # @param string type Data type
114
+ # @param string value Value to be deserialized
115
+ # @return [Object] Deserialized data
116
+ def self._deserialize(type, value)
117
+ case type.to_sym
118
+ when :Time
119
+ Time.parse(value)
120
+ when :Date
121
+ Date.parse(value)
122
+ when :String
123
+ value.to_s
124
+ when :Integer
125
+ value.to_i
126
+ when :Float
127
+ value.to_f
128
+ when :Boolean
129
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
130
+ true
131
+ else
132
+ false
133
+ end
134
+
135
+ when :Object
136
+ # generic object (usually a Hash), return directly
137
+ value
138
+ when /\AArray<(?<inner_type>.+)>\z/
139
+ inner_type = Regexp.last_match[:inner_type]
140
+ value.map { |v| _deserialize(inner_type, v) }
141
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
142
+ k_type = Regexp.last_match[:k_type]
143
+ v_type = Regexp.last_match[:v_type]
144
+ {}.tap do |hash|
145
+ value.each do |k, v|
146
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
147
+ end
148
+ end
149
+ # model
150
+ else
151
+ # models (e.g. Pet) or oneOf
152
+ klass = Algolia::Composition.const_get(type)
153
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass
154
+ .build_from_hash(value)
155
+ end
156
+ end
157
+
158
+ # Returns the string representation of the object
159
+ # @return [String] String presentation of the object
160
+ def to_s
161
+ to_hash.to_s
162
+ end
163
+
164
+ # to_body is an alias to to_hash (backward compatibility)
165
+ # @return [Hash] Returns the object in the form of hash
166
+ def to_body
167
+ to_hash
168
+ end
169
+
170
+ def to_json(*_args)
171
+ to_hash.to_json
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = send(attr)
180
+ if value.nil?
181
+ is_nullable = self.class.openapi_nullable.include?(attr)
182
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
183
+ end
184
+
185
+ hash[param] = _to_hash(value)
186
+ end
187
+
188
+ hash
189
+ end
190
+
191
+ # Outputs non-array value in the form of hash
192
+ # For object, use to_hash. Otherwise, just return the value
193
+ # @param [Object] value Any valid value
194
+ # @return [Hash] Returns the value in the form of hash
195
+ def _to_hash(value)
196
+ if value.is_a?(Array)
197
+ value.compact.map { |v| _to_hash(v) }
198
+ elsif value.is_a?(Hash)
199
+ {}.tap do |hash|
200
+ value.each { |k, v| hash[k] = _to_hash(v) }
201
+ end
202
+ elsif value.respond_to?(:to_hash)
203
+ value.to_hash
204
+ else
205
+ value
206
+ end
207
+ end
208
+
209
+ end
210
+
211
+ end
212
+ end