summaryrefslogtreecommitdiff
path: root/src/pages/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/api')
-rw-r--r--src/pages/api/magento-product.ts24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/pages/api/magento-product.ts b/src/pages/api/magento-product.ts
index f61daf69..51ca1732 100644
--- a/src/pages/api/magento-product.ts
+++ b/src/pages/api/magento-product.ts
@@ -49,6 +49,17 @@ export default async function handler(
return res.status(200).json({ specsMatrix: [], upsell_ids: [], related_ids: [] });
}
+ // --- HELPER: Fungsi untuk membersihkan nilai dari tanda kutip ---
+ const cleanAttributeValue = (val: any) => {
+ if (val === null || val === undefined) return '';
+ let str = String(val).trim();
+ // Cek apakah diawali dan diakhiri tanda kutip
+ if (str.length >= 2 && str.startsWith('"') && str.endsWith('"')) {
+ str = str.slice(1, -1).trim();
+ }
+ return str;
+ };
+
// =====================================================================
// 2. BUILD SPECS MATRIX
// Kita butuh daftar semua atribut unik (z_*) dari seluruh varian
@@ -99,10 +110,9 @@ export default async function handler(
items.forEach((p: any) => {
const attr = p.custom_attributes.find((a: any) => a.attribute_code === code);
- let rawVal = attr && attr.value !== null ? String(attr.value).trim() : '';
- if (rawVal.length >= 2 && rawVal.startsWith('"') && rawVal.endsWith('"')) {
- rawVal = rawVal.slice(1, -1).trim();
- }
+ // Gunakan helper cleanAttributeValue disini
+ const rawVal = attr ? cleanAttributeValue(attr.value) : '';
+
if (rawVal !== '' && rawVal !== '-') {
hasData = true;
}
@@ -121,14 +131,14 @@ export default async function handler(
descriptions[p.sku] = descAttr ? descAttr.value : '';
});
+ // [UPDATED] Warranties dengan filter tanda kutip
const warranties: Record<string, string> = {};
items.forEach((p: any) => {
const warAttr = p.custom_attributes.find((a: any) => a.attribute_code === 'z_warranty');
- warranties[p.sku] = warAttr ? warAttr.value : '';
+ // Gunakan helper cleanAttributeValue agar tanda kutip hilang
+ warranties[p.sku] = warAttr ? cleanAttributeValue(warAttr.value) : '';
});
-
-
// =====================================================================
// 3. AMBIL LINKS (UPSELL & RELATED) DARI MAIN VARIANT SAJA
// =====================================================================