diff options
| author | trisusilo48 <tri.susilo@altama.co.id> | 2024-09-11 10:04:09 +0700 |
|---|---|---|
| committer | trisusilo48 <tri.susilo@altama.co.id> | 2024-09-11 10:04:09 +0700 |
| commit | 768e5a550c07bdcfb7fda779163458e0c9762902 (patch) | |
| tree | d44236911d0fea32fa582fb739ebac8ab325a064 /src/lib/home/api | |
| parent | 1e8959ef719689bc8ddd2477fa12e960f4c9a759 (diff) | |
| parent | 46faf7e7ba398a4137e93559b2efa5abf3df9663 (diff) | |
Merge branch 'release' into CR/search_enggine
Diffstat (limited to 'src/lib/home/api')
| -rw-r--r-- | src/lib/home/api/categoryManagementApi.js | 61 |
1 files changed, 29 insertions, 32 deletions
diff --git a/src/lib/home/api/categoryManagementApi.js b/src/lib/home/api/categoryManagementApi.js index 63edd629..0aeb2aac 100644 --- a/src/lib/home/api/categoryManagementApi.js +++ b/src/lib/home/api/categoryManagementApi.js @@ -1,43 +1,40 @@ -// import odooApi from '@/core/api/odooApi' - -// const categoryManagementApi = async () => { -// const dataCategoryManagement = await odooApi('GET', '/api/v1/categories_management') -// return dataCategoryManagement -// } - -// export default categoryManagementApi - - - -export const fetchPopulerProductSolr = async (category_id_ids) => { - let sort ='sort=qty_sold_f desc'; +export const fetchCategoryManagementSolr = async () => { + let sort ='sort=sequence_i asc'; try { - const queryParams = new URLSearchParams({ q: category_id_ids }); - const response = await fetch(`/solr/category_management/query?q=*:*&q.op=OR&indent=true`); + 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}`); + 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) => { - const result = []; - for (const promotion of promotions) { - const data = { + 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_level_2:promotion.categories_level_2 + categories: parsedCategories }; - result.push(data); - } - return result; + return productMapped; + }) };
\ No newline at end of file |
