From dac398aa33f8e57fd17fc9b115cf435c2d877b19 Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Wed, 28 Jan 2026 11:05:37 +0700 Subject: fix --- src/pages/api/magento-product.ts | 4 ++-- src/pages/api/shop/search.js | 17 ++++++++++++----- 2 files changed, 14 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/pages/api/magento-product.ts b/src/pages/api/magento-product.ts index 551a4a5e..28738878 100644 --- a/src/pages/api/magento-product.ts +++ b/src/pages/api/magento-product.ts @@ -12,8 +12,8 @@ export default async function handler( return res.status(400).json({ error: 'SKUs are required' }); } - const token = 'vxrtcjvztv1icgjzsui45de9kmwlz0lf'; - const baseUrl = 'https://pimdev.1211.my.id/rest/V1'; + const token = process.env.MAGENTO_API_KEY || ''; + const baseUrl = process.env.MAGENTO_API_HOST || ''; try { const skuList = String(skus).split(','); // Contoh: ['221', '222', '223'] diff --git a/src/pages/api/shop/search.js b/src/pages/api/shop/search.js index 37cfa1bd..89d75cd0 100644 --- a/src/pages/api/shop/search.js +++ b/src/pages/api/shop/search.js @@ -35,11 +35,14 @@ export default async function handler(req, res) { try { let qCompare = q === '*' ? '*:*' : q; - // Sanitasi Query if (qCompare !== '*:*') { - // Kita escape, tapi biarkan stringnya bersih (jangan ditambah wildcard * manual) - // karena kita serahkan ke 'edismax' parser qCompare = escapeSolrQuery(qCompare); + qCompare = qCompare.split(/\s+/).map(term => { + if (term && !term.includes('*')) { + return term + '*'; + } + return term; + }).join(' '); } // [SOLUSI] Gunakan URLSearchParams untuk menyusun URL dengan aman @@ -59,8 +62,12 @@ export default async function handler(req, res) { // 3. display_name_s^1 : Cadangan params.append('qf', 'default_code_s^20 search_keywords_t^10 display_name_s^1'); - // Minimum Match 100% (Semua kata harus ada), ubah jika ingin lebih longgar - params.append('mm', '100%'); + const compareWords = qCompare.split(/\s+/).filter(w => w.length > 0); + let compareMm = '100%'; + if (compareWords.length >= 3) { + compareMm = '75%'; + } + params.append('mm', compareMm); if (group === 'false') { params.append('group', 'false'); -- cgit v1.2.3