diff options
Diffstat (limited to 'src/lib/home/api')
| -rw-r--r-- | src/lib/home/api/categoryManagementApi.js | 70 |
1 files changed, 64 insertions, 6 deletions
diff --git a/src/lib/home/api/categoryManagementApi.js b/src/lib/home/api/categoryManagementApi.js index b70d60ce..54a6c1ac 100644 --- a/src/lib/home/api/categoryManagementApi.js +++ b/src/lib/home/api/categoryManagementApi.js @@ -1,8 +1,66 @@ -import odooApi from '@/core/api/odooApi' +// import odooApi from '@/core/api/odooApi' -const categoryManagementApi = async () => { - const dataCategoryManagement = await odooApi('GET', '/api/v1/categories_management') - return dataCategoryManagement -} +// const categoryManagementApi = async () => { +// const dataCategoryManagement = await odooApi('GET', '/api/v1/categories_management') +// return dataCategoryManagement +// } -export default categoryManagementApi +// export default categoryManagementApi + + + +export const fetchPopulerProductSolr = async () => { + let sort ='sort=sequence_i asc'; + try { + const response = await fetch(`/solr/category_management/query?q=*:*&q.op=OR&indent=true&${sort}`); + 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) => { + console.log("promotions",promotions) + const result = []; + for (const promotion of promotions) { + console.log("promotion",promotion) + const mappedCategories = promotion.categories.map((level2) => { + console.log("level2",JSON.parse(level2)) + const childFrontend = level2.child_frontend_id_i.map((level3) => { + return { + id_level_3: level3.id_level_3, + name: level3.name, + numFound: level3.numFound, + image: level3.image + }; + }); + + return { + id_level_2: level2.id_level_2, + name: level2.name, + numFound: level2.numFound, + image: level2.image, + child_frontend_id_i: childFrontend + }; + }); + + const data = { + id: promotion.id, + category_id_i: promotion.category_id_i, + name: promotion.name_s, + sequence: promotion.sequence_i, + numFound: promotion.numFound_i, + image: promotion.image_s, + categories: mappedCategories + }; + result.push(data); + } + return result; + }; +
\ No newline at end of file |
