Skip to content

Commit

Permalink
chore: generated code for commit d9ac12f.
Browse files Browse the repository at this point in the history
Co-authored-by: shortcuts <vannicattec@gmail.com>
  • Loading branch information
algolia-bot and shortcuts committed Mar 12, 2024
1 parent d9ac12f commit 34e0ca8
Show file tree
Hide file tree
Showing 83 changed files with 4,738 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,15 @@ export 'src/model/around_radius_all.dart';
export 'src/model/automatic_facet_filter.dart';
export 'src/model/base_get_api_key_response.dart';
export 'src/model/base_index_settings.dart';
export 'src/model/base_recommend_request.dart';
export 'src/model/base_recommendations_query.dart';
export 'src/model/base_recommended_for_you_query.dart';
export 'src/model/base_recommended_for_you_query_parameters.dart';
export 'src/model/base_search_params.dart';
export 'src/model/base_search_params_without_query.dart';
export 'src/model/base_search_response.dart';
export 'src/model/base_trending_facets_query.dart';
export 'src/model/base_trending_items_query.dart';
export 'src/model/browse_params_object.dart';
export 'src/model/browse_response.dart';
export 'src/model/built_in_operation.dart';
Expand Down Expand Up @@ -48,6 +54,8 @@ export 'src/model/facets.dart';
export 'src/model/facets_stats.dart';
export 'src/model/fetched_index.dart';
export 'src/model/get_api_key_response.dart';
export 'src/model/get_recommendations_params.dart';
export 'src/model/get_recommendations_response.dart';
export 'src/model/highlight_result_option.dart';
export 'src/model/hit.dart';
export 'src/model/index_settings.dart';
Expand All @@ -65,12 +73,23 @@ export 'src/model/promote_object_id.dart';
export 'src/model/promote_object_ids.dart';
export 'src/model/query_type.dart';
export 'src/model/ranking_info.dart';
export 'src/model/recommend_hit.dart';
export 'src/model/recommend_models.dart';
export 'src/model/recommendation_models.dart';
export 'src/model/recommendations_hits.dart';
export 'src/model/recommendations_query.dart';
export 'src/model/recommendations_results.dart';
export 'src/model/recommended_for_you_model.dart';
export 'src/model/recommended_for_you_query.dart';
export 'src/model/recommended_for_you_query_parameters.dart';
export 'src/model/redirect.dart';
export 'src/model/redirect_rule_index_metadata.dart';
export 'src/model/redirect_rule_index_metadata_data.dart';
export 'src/model/remove_words_if_no_results.dart';
export 'src/model/rendering_content.dart';
export 'src/model/rule.dart';
export 'src/model/rule_response.dart';
export 'src/model/rule_response_metadata.dart';
export 'src/model/scope_type.dart';
export 'src/model/search_dictionary_entries_response.dart';
export 'src/model/search_for_facet_values_response.dart';
Expand Down Expand Up @@ -99,6 +118,11 @@ export 'src/model/synonym_hit.dart';
export 'src/model/synonym_type.dart';
export 'src/model/task_status.dart';
export 'src/model/time_range.dart';
export 'src/model/trending_facet_hit.dart';
export 'src/model/trending_facets_model.dart';
export 'src/model/trending_facets_query.dart';
export 'src/model/trending_items_model.dart';
export 'src/model/trending_items_query.dart';
export 'src/model/typo_tolerance_enum.dart';
export 'src/model/updated_rule_response.dart';
export 'src/model/user_id.dart';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import 'package:algolia_client_core/algolia_client_core.dart';
import 'package:algoliasearch/src/deserialize.dart';
import 'package:algoliasearch/src/version.dart';

import 'package:algoliasearch/src/model/get_recommendations_params.dart';
import 'package:algoliasearch/src/model/get_recommendations_response.dart';
import 'package:algoliasearch/src/model/search_method_params.dart';
import 'package:algoliasearch/src/model/search_responses.dart';

Expand Down Expand Up @@ -80,6 +82,35 @@ final class SearchClient implements ApiClient {
);
}

/// Returns results from either recommendation or trending models: - **Recommendations** are provided by the [Related Products](https://www.algolia.com/doc/guides/algolia-recommend/overview/#related-products-and-related-content) and [Frequently Bought Together](https://www.algolia.com/doc/guides/algolia-recommend/overview/#frequently-bought-together) models - **Trending** models are [Trending Items and Trending Facet Values](https://www.algolia.com/doc/guides/algolia-recommend/overview/#trending-items-and-trending-facet-values).
///
/// Required API Key ACLs:
/// - search
///
/// Parameters:
/// * [getRecommendationsParams]
/// * [requestOptions] additional request configuration.
Future<GetRecommendationsResponse> getRecommendations({
required GetRecommendationsParams getRecommendationsParams,
RequestOptions? requestOptions,
}) async {
final request = ApiRequest(
method: RequestMethod.post,
path: r'/1/indexes/*/recommendations',
isRead: true,
body: getRecommendationsParams.toJson(),
);
final response = await _retryStrategy.execute(
request: request,
options: requestOptions,
);
return deserialize<GetRecommendationsResponse, GetRecommendationsResponse>(
response,
'GetRecommendationsResponse',
growable: true,
);
}

/// Sends multiple search request to one or more indices. This can be useful in these cases: - Different indices for different purposes, such as, one index for products, another one for marketing content. - Multiple searches to the same index—for example, with different filters.
///
/// Required API Key ACLs:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,15 @@ import 'package:algoliasearch/src/model/around_radius_all.dart';
import 'package:algoliasearch/src/model/automatic_facet_filter.dart';
import 'package:algoliasearch/src/model/base_get_api_key_response.dart';
import 'package:algoliasearch/src/model/base_index_settings.dart';
import 'package:algoliasearch/src/model/base_recommend_request.dart';
import 'package:algoliasearch/src/model/base_recommendations_query.dart';
import 'package:algoliasearch/src/model/base_recommended_for_you_query.dart';
import 'package:algoliasearch/src/model/base_recommended_for_you_query_parameters.dart';
import 'package:algoliasearch/src/model/base_search_params.dart';
import 'package:algoliasearch/src/model/base_search_params_without_query.dart';
import 'package:algoliasearch/src/model/base_search_response.dart';
import 'package:algoliasearch/src/model/base_trending_facets_query.dart';
import 'package:algoliasearch/src/model/base_trending_items_query.dart';
import 'package:algoliasearch/src/model/browse_params_object.dart';
import 'package:algoliasearch/src/model/browse_response.dart';
import 'package:algoliasearch/src/model/built_in_operation.dart';
Expand Down Expand Up @@ -41,6 +47,8 @@ import 'package:algoliasearch/src/model/facets.dart';
import 'package:algoliasearch/src/model/facets_stats.dart';
import 'package:algoliasearch/src/model/fetched_index.dart';
import 'package:algoliasearch/src/model/get_api_key_response.dart';
import 'package:algoliasearch/src/model/get_recommendations_params.dart';
import 'package:algoliasearch/src/model/get_recommendations_response.dart';
import 'package:algoliasearch/src/model/highlight_result_option.dart';
import 'package:algoliasearch/src/model/hit.dart';
import 'package:algoliasearch/src/model/index_settings.dart';
Expand All @@ -58,12 +66,23 @@ import 'package:algoliasearch/src/model/promote_object_id.dart';
import 'package:algoliasearch/src/model/promote_object_ids.dart';
import 'package:algoliasearch/src/model/query_type.dart';
import 'package:algoliasearch/src/model/ranking_info.dart';
import 'package:algoliasearch/src/model/recommend_hit.dart';
import 'package:algoliasearch/src/model/recommend_models.dart';
import 'package:algoliasearch/src/model/recommendation_models.dart';
import 'package:algoliasearch/src/model/recommendations_hits.dart';
import 'package:algoliasearch/src/model/recommendations_query.dart';
import 'package:algoliasearch/src/model/recommendations_results.dart';
import 'package:algoliasearch/src/model/recommended_for_you_model.dart';
import 'package:algoliasearch/src/model/recommended_for_you_query.dart';
import 'package:algoliasearch/src/model/recommended_for_you_query_parameters.dart';
import 'package:algoliasearch/src/model/redirect.dart';
import 'package:algoliasearch/src/model/redirect_rule_index_metadata.dart';
import 'package:algoliasearch/src/model/redirect_rule_index_metadata_data.dart';
import 'package:algoliasearch/src/model/remove_words_if_no_results.dart';
import 'package:algoliasearch/src/model/rendering_content.dart';
import 'package:algoliasearch/src/model/rule.dart';
import 'package:algoliasearch/src/model/rule_response.dart';
import 'package:algoliasearch/src/model/rule_response_metadata.dart';
import 'package:algoliasearch/src/model/scope_type.dart';
import 'package:algoliasearch/src/model/search_dictionary_entries_response.dart';
import 'package:algoliasearch/src/model/search_for_facet_values_response.dart';
Expand Down Expand Up @@ -92,6 +111,11 @@ import 'package:algoliasearch/src/model/synonym_hit.dart';
import 'package:algoliasearch/src/model/synonym_type.dart';
import 'package:algoliasearch/src/model/task_status.dart';
import 'package:algoliasearch/src/model/time_range.dart';
import 'package:algoliasearch/src/model/trending_facet_hit.dart';
import 'package:algoliasearch/src/model/trending_facets_model.dart';
import 'package:algoliasearch/src/model/trending_facets_query.dart';
import 'package:algoliasearch/src/model/trending_items_model.dart';
import 'package:algoliasearch/src/model/trending_items_query.dart';
import 'package:algoliasearch/src/model/typo_tolerance_enum.dart';
import 'package:algoliasearch/src/model/updated_rule_response.dart';
import 'package:algoliasearch/src/model/user_id.dart';
Expand Down Expand Up @@ -147,6 +171,18 @@ ReturnType deserialize<ReturnType, BaseType>(dynamic value, String targetType,
case 'BaseIndexSettings':
return BaseIndexSettings.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'BaseRecommendRequest':
return BaseRecommendRequest.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'BaseRecommendationsQuery':
return BaseRecommendationsQuery.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'BaseRecommendedForYouQuery':
return BaseRecommendedForYouQuery.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'BaseRecommendedForYouQueryParameters':
return BaseRecommendedForYouQueryParameters.fromJson(
value as Map<String, dynamic>) as ReturnType;
case 'BaseSearchParams':
return BaseSearchParams.fromJson(value as Map<String, dynamic>)
as ReturnType;
Expand All @@ -156,6 +192,12 @@ ReturnType deserialize<ReturnType, BaseType>(dynamic value, String targetType,
case 'BaseSearchResponse':
return BaseSearchResponse.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'BaseTrendingFacetsQuery':
return BaseTrendingFacetsQuery.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'BaseTrendingItemsQuery':
return BaseTrendingItemsQuery.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'BrowseParamsObject':
return BrowseParamsObject.fromJson(value as Map<String, dynamic>)
as ReturnType;
Expand Down Expand Up @@ -221,6 +263,12 @@ ReturnType deserialize<ReturnType, BaseType>(dynamic value, String targetType,
case 'GetApiKeyResponse':
return GetApiKeyResponse.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'GetRecommendationsParams':
return GetRecommendationsParams.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'GetRecommendationsResponse':
return GetRecommendationsResponse.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'HighlightResultOption':
return HighlightResultOption.fromJson(value as Map<String, dynamic>)
as ReturnType;
Expand Down Expand Up @@ -263,6 +311,29 @@ ReturnType deserialize<ReturnType, BaseType>(dynamic value, String targetType,
return QueryType.fromJson(value) as ReturnType;
case 'RankingInfo':
return RankingInfo.fromJson(value as Map<String, dynamic>) as ReturnType;
case 'RecommendHit':
return RecommendHit.fromJson(value as Map<String, dynamic>) as ReturnType;
case 'RecommendModels':
return RecommendModels.fromJson(value) as ReturnType;
case 'RecommendationModels':
return RecommendationModels.fromJson(value) as ReturnType;
case 'RecommendationsHits':
return RecommendationsHits.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'RecommendationsQuery':
return RecommendationsQuery.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'RecommendationsResults':
return RecommendationsResults.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'RecommendedForYouModel':
return RecommendedForYouModel.fromJson(value) as ReturnType;
case 'RecommendedForYouQuery':
return RecommendedForYouQuery.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'RecommendedForYouQueryParameters':
return RecommendedForYouQueryParameters.fromJson(
value as Map<String, dynamic>) as ReturnType;
case 'Redirect':
return Redirect.fromJson(value as Map<String, dynamic>) as ReturnType;
case 'RedirectRuleIndexMetadata':
Expand All @@ -278,6 +349,11 @@ ReturnType deserialize<ReturnType, BaseType>(dynamic value, String targetType,
as ReturnType;
case 'Rule':
return Rule.fromJson(value as Map<String, dynamic>) as ReturnType;
case 'RuleResponse':
return RuleResponse.fromJson(value as Map<String, dynamic>) as ReturnType;
case 'RuleResponseMetadata':
return RuleResponseMetadata.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'ScopeType':
return ScopeType.fromJson(value) as ReturnType;
case 'SearchDictionaryEntriesResponse':
Expand Down Expand Up @@ -351,6 +427,19 @@ ReturnType deserialize<ReturnType, BaseType>(dynamic value, String targetType,
return TaskStatus.fromJson(value) as ReturnType;
case 'TimeRange':
return TimeRange.fromJson(value as Map<String, dynamic>) as ReturnType;
case 'TrendingFacetHit':
return TrendingFacetHit.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'TrendingFacetsModel':
return TrendingFacetsModel.fromJson(value) as ReturnType;
case 'TrendingFacetsQuery':
return TrendingFacetsQuery.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'TrendingItemsModel':
return TrendingItemsModel.fromJson(value) as ReturnType;
case 'TrendingItemsQuery':
return TrendingItemsQuery.fromJson(value as Map<String, dynamic>)
as ReturnType;
case 'TypoToleranceEnum':
return TypoToleranceEnum.fromJson(value) as ReturnType;
case 'UpdatedRuleResponse':
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// 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.
// ignore_for_file: unused_element

import 'package:json_annotation/json_annotation.dart';

part 'base_recommend_request.g.dart';

@JsonSerializable()
final class BaseRecommendRequest {
/// Returns a new [BaseRecommendRequest] instance.
const BaseRecommendRequest({
required this.indexName,
this.threshold,
this.maxRecommendations,
});

/// Index name.
@JsonKey(name: r'indexName')
final String indexName;

/// Recommendations with a confidence score lower than `threshold` won't appear in results. > **Note**: Each recommendation has a confidence score of 0 to 100. The closer the score is to 100, the more relevant the recommendations are.
// minimum: 0
// maximum: 100
@JsonKey(name: r'threshold')
final int? threshold;

/// Maximum number of recommendations to retrieve. If 0, all recommendations will be returned.
@JsonKey(name: r'maxRecommendations')
final int? maxRecommendations;

@override
bool operator ==(Object other) =>
identical(this, other) ||
other is BaseRecommendRequest &&
other.indexName == indexName &&
other.threshold == threshold &&
other.maxRecommendations == maxRecommendations;

@override
int get hashCode =>
indexName.hashCode + threshold.hashCode + maxRecommendations.hashCode;

factory BaseRecommendRequest.fromJson(Map<String, dynamic> json) =>
_$BaseRecommendRequestFromJson(json);

Map<String, dynamic> toJson() => _$BaseRecommendRequestToJson(this);

@override
String toString() {
return toJson().toString();
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 34e0ca8

Please sign in to comment.