commerce/framework/reactioncommerce/api/utils/get-search-variables.ts
Loan Laux c2c43b76aa
refactor category and brand filtering logic
Signed-off-by: Loan Laux <loan@outgrow.io>
2021-07-07 19:16:45 +03:00

42 lines
684 B
TypeScript

import getSortVariables from './get-sort-variables'
export type SearchProductsInput = {
search?: string
categoryId?: number | string
brandId?: number
sort?: string
locale?: string
}
export const getSearchVariables = ({
brandId,
search,
categoryId,
sort,
}: SearchProductsInput) => {
let searchQuery = ''
let tagIdsParam = {}
if (search) {
searchQuery += search
}
if (brandId) {
searchQuery += `${search ? ' ' : ''}${brandId}`
}
if (categoryId) {
tagIdsParam = {
tagIds: [categoryId],
}
}
return {
searchQuery,
...tagIdsParam,
...getSortVariables(sort, !!categoryId),
}
}
export default getSearchVariables