diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2024-09-09 03:21:23 +0000 |
|---|---|---|
| committer | trisusilo <tri.susilo@altama.co.id> | 2024-09-09 03:21:23 +0000 |
| commit | 85b949de7645ad4134131485b6b1d13015e851f9 (patch) | |
| tree | cf2c7bae11c6f1cd78c2984a0df0f93228283bb3 /src/lib/home/api | |
| parent | 495b327ba0a45b17f4f0156f846ebe8bddbcd075 (diff) | |
| parent | 492db3e7515b2af3770e01c28d3aab76ea7755ee (diff) | |
Merged in update/category-management (pull request #295)
Update/category management
Approved-by: trisusilo
Diffstat (limited to 'src/lib/home/api')
| -rw-r--r-- | src/lib/home/api/categoryManagementApi.js | 48 |
1 files changed, 40 insertions, 8 deletions
diff --git a/src/lib/home/api/categoryManagementApi.js b/src/lib/home/api/categoryManagementApi.js index b70d60ce..0aeb2aac 100644 --- a/src/lib/home/api/categoryManagementApi.js +++ b/src/lib/home/api/categoryManagementApi.js @@ -1,8 +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 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; + }) + };
\ No newline at end of file |
