summaryrefslogtreecommitdiff
path: root/src/lib/home/api
diff options
context:
space:
mode:
authorIT Fixcomart <it@fixcomart.co.id>2024-09-09 03:21:23 +0000
committertrisusilo <tri.susilo@altama.co.id>2024-09-09 03:21:23 +0000
commit85b949de7645ad4134131485b6b1d13015e851f9 (patch)
treecf2c7bae11c6f1cd78c2984a0df0f93228283bb3 /src/lib/home/api
parent495b327ba0a45b17f4f0156f846ebe8bddbcd075 (diff)
parent492db3e7515b2af3770e01c28d3aab76ea7755ee (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.js48
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