summaryrefslogtreecommitdiff
path: root/src/pages/api
diff options
context:
space:
mode:
authortrisusilo <tri.susilo@altama.co.id>2023-10-18 09:21:18 +0000
committertrisusilo <tri.susilo@altama.co.id>2023-10-18 09:21:18 +0000
commit0a88ef1da1c04f4d40c0133edb7d27701c7a9746 (patch)
treeae3768ba44054d51b1abcc0dcc90d18d4895e412 /src/pages/api
parentb4b17e22832a4665042a45030b77c3744fe61534 (diff)
parent2a84fb3ce03cfa46cb3c7664e988957e1bd2731b (diff)
Merged in CR/UI (pull request #104)
CR/UI
Diffstat (limited to 'src/pages/api')
-rw-r--r--src/pages/api/shop/search.js19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/pages/api/shop/search.js b/src/pages/api/shop/search.js
index b5161365..b4d67c5d 100644
--- a/src/pages/api/shop/search.js
+++ b/src/pages/api/shop/search.js
@@ -13,19 +13,20 @@ export default async function handler(req, res) {
orderBy = '',
operation = 'AND',
fq = '',
- limit = 30
+ limit = 30,
+ stock = ''
} = req.query
let paramOrderBy = ''
switch (orderBy) {
case 'price-asc':
- paramOrderBy += 'price_discount_f ASC'
+ paramOrderBy += 'price_tier1_v2_f ASC'
break
case 'price-desc':
- paramOrderBy += 'price_discount_f DESC'
+ paramOrderBy += 'price_tier1_v2_f DESC'
break
case 'popular':
- paramOrderBy += 'search_rank_i DESC'
+ paramOrderBy += 'product_rating_f DESC, search_rank_i DESC,'
break
case 'popular-weekly':
paramOrderBy += 'search_rank_weekly_i DESC'
@@ -33,6 +34,9 @@ export default async function handler(req, res) {
case 'stock':
paramOrderBy += 'stock_total_f DESC'
break
+ case 'flashsale-price-asc':
+ paramOrderBy += 'flashsale_price_f ASC'
+ break
default:
paramOrderBy += 'product_rating_f DESC, price_discount_f DESC'
break
@@ -40,7 +44,7 @@ export default async function handler(req, res) {
let offset = (page - 1) * limit
let parameter = [
- 'facet.field=manufacture_name',
+ 'facet.field=manufacture_name_s',
'facet.field=category_name',
'facet=true',
'indent=true',
@@ -48,7 +52,7 @@ export default async function handler(req, res) {
`q.op=${operation}`,
`q=${escapeSolrQuery(q)}`,
'qf=name_s',
- `start=${offset}`,
+ `start=${parseInt(offset)}`,
`rows=${limit}`,
`sort=${paramOrderBy}`,
`fq=-publish_b:false`
@@ -62,8 +66,9 @@ export default async function handler(req, res) {
)
}
- if (brand) parameter.push(`fq=manufacture_name:${brand}`)
+ if (brand) parameter.push(`fq=manufacture_name:${brand.replace(/,/g, ' OR ')}`)
if (category) parameter.push(`fq=category_name:${category}`)
+ if (stock) parameter.push(`fq=stock_total_f:{1 TO *}`)
// Single fq in url params
if (typeof fq === 'string') parameter.push(`fq=${fq}`)