summaryrefslogtreecommitdiff
path: root/src/lib/category/api/popularProduct.js
blob: 3fdfc41c30db87bf23a9d74e258921faa736a320 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

export const fetchPopulerProductSolr = async (category_id_ids) => {
    let sort ='sort=qty_sold_f desc';
    try {
        const queryParams = new URLSearchParams({ q: category_id_ids });
        const response = await fetch(`/solr/product/select?${queryParams.toString()}&rows=2000&fl=manufacture_name_s,manufacture_id_i,id,display_name_s,qty_sold_f,qty_sold_f&${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) => {
    const result = [];
    for (const promotion of promotions) {
      const data = {
        id: promotion.id,
        name: promotion.display_name_s,
        manufacture_name: promotion.manufacture_name_s,
        manufacture_id: promotion.manufacture_id_i,
        qty_sold: promotion.qty_sold_f,
      };
      result.push(data);
    }
    return result;
  };