export const fetchCategoryManagementSolr = async () => { let sort ='sort=sequence_i asc'; try { const response = await fetch(`/solr/category_management/query?q=*:*&q.op=OR&indent=true&${sort}&&rows=20`); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); const promotions = await map(data.response.docs); return promotions; } catch (error) { console.error("Error fetching promotion data:", error); return []; } }; const map = async (promotions) => { return promotions.map((promotion) =>{ let parsedCategories = promotion.categories.map(category => { // Parse string JSON utama let parsedCategory = JSON.parse(category); // Parse setiap elemen di child_frontend_id_i jika ada if (parsedCategory.child_frontend_id_i) { parsedCategory.child_frontend_id_i = parsedCategory.child_frontend_id_i.map(child => JSON.parse(child)); } return parsedCategory; }); let productMapped = { id: promotion.id, name: promotion.name_s, image: promotion.image_s, sequence: promotion.sequence_i, numFound: promotion.numFound_i, categories: parsedCategories }; return productMapped; }) };