Skip to content

Commit

Permalink
fix(recommend): update trending facets query props (RECO-1184) (#1434)
Browse files Browse the repository at this point in the history
* fix: update trending facets query props

* fix: add more descriptive docs for parameters
  • Loading branch information
marialungu authored Dec 19, 2022
1 parent ffbfc05 commit 913443f
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 55 deletions.
8 changes: 7 additions & 1 deletion packages/recommend/src/methods/getRecommendations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,20 @@ import { MethodEnum } from '@algolia/requester-common';
import {
BaseRecommendClient,
RecommendationsQuery,
TrendingQuery,
TrendingFacetsQuery,
TrendingItemsQuery,
TrendingModel,
WithRecommendMethods,
} from '../types';

type GetRecommendations = (
base: BaseRecommendClient
) => WithRecommendMethods<BaseRecommendClient>['getRecommendations'];

type TrendingQuery =
| (TrendingItemsQuery & { readonly model: TrendingModel })
| (TrendingFacetsQuery & { readonly model: TrendingModel });

export const getRecommendations: GetRecommendations = base => {
return (queries: ReadonlyArray<RecommendationsQuery | TrendingQuery>, requestOptions) => {
const requests: ReadonlyArray<RecommendationsQuery | TrendingQuery> = queries.map(query => ({
Expand Down
25 changes: 20 additions & 5 deletions packages/recommend/src/types/TrendingFacetsQuery.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
import { TrendingQuery } from './TrendingQuery';
export type TrendingFacetsQuery = {
/**
* The name of the target index.
*/
readonly indexName: string;

export type TrendingFacetsQuery = Omit<
TrendingQuery,
'model' | 'facetValue' | 'fallbackParameters' | 'queryParameters'
>;
/**
* Threshold for the recommendations confidence score (between 0 and 100). Only recommendations with a greater score are returned.
*/
readonly threshold?: number;

/**
* How many recommendations to retrieve.
*/
readonly maxRecommendations?: number;

/**
* The facet attribute to get recommendations for.
*/
readonly facetName: string;
};
41 changes: 39 additions & 2 deletions packages/recommend/src/types/TrendingItemsQuery.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,40 @@
import { TrendingQuery } from './TrendingQuery';
import { RecommendSearchOptions } from '@algolia/recommend';

export type TrendingItemsQuery = Omit<TrendingQuery, 'model'>;
export type TrendingItemsQuery = {
/**
* The name of the target index.
*/
readonly indexName: string;

/**
* Threshold for the recommendations confidence score (between 0 and 100). Only recommendations with a greater score are returned.
*/
readonly threshold?: number;

/**
* How many recommendations to retrieve.
*/
readonly maxRecommendations?: number;

/**
* List of [search parameters](https://www.algolia.com/doc/api-reference/search-api-parameters/) to send.
*/
readonly queryParameters?: RecommendSearchOptions;

/**
* List of [search parameters](https://www.algolia.com/doc/api-reference/search-api-parameters/) to send.
*
* Additional filters to use as fallback when there aren’t enough recommendations.
*/
readonly fallbackParameters?: RecommendSearchOptions;

/**
* The facet attribute to get recommendations for.
*/
readonly facetName?: string;

/**
* The value of the target facet.
*/
readonly facetValue?: string;
};
46 changes: 0 additions & 46 deletions packages/recommend/src/types/TrendingQuery.ts

This file was deleted.

1 change: 0 additions & 1 deletion packages/recommend/src/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,5 @@ export * from './RecommendSearchOptions';
export * from './RecommendationsQuery';
export * from './RelatedProductsQuery';
export * from './TrendingFacetsQuery';
export * from './TrendingQuery';
export * from './TrendingItemsQuery';
export * from './WithRecommendMethods';

0 comments on commit 913443f

Please sign in to comment.