diff options
| author | HATEC\SPVDEV001 <tri.susilo@altama.co.id> | 2023-07-31 16:53:37 +0700 |
|---|---|---|
| committer | HATEC\SPVDEV001 <tri.susilo@altama.co.id> | 2023-07-31 16:53:37 +0700 |
| commit | e1c6052ffc9887e792f19f99d900189647845c69 (patch) | |
| tree | f34f8cb875f7276918a4ace318e7dfd50eb393d3 /src | |
| parent | 778dcf944561e74cb915d41aff810c3f433daa43 (diff) | |
add product flash sale to card produk banyak dilihat dan product similar
Diffstat (limited to 'src')
| -rw-r--r-- | src/api/productApi.js | 16 | ||||
| -rw-r--r-- | src/lib/product/api/productSimilarApi.js | 15 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/api/productApi.js b/src/api/productApi.js index feb91257..6d043172 100644 --- a/src/api/productApi.js +++ b/src/api/productApi.js @@ -1,10 +1,26 @@ +import odooApi from '@/core/api/odooApi' +import productSearchApi from '@/lib/product/api/productSearchApi' import axios from 'axios' +import { useState } from 'react' export const popularProductApi = () => { + let dataFlashSale = null return async () => { + const flashSale = await odooApi('GET', '/api/v1/flashsale/header') + if(flashSale){ + const dataProducts = await productSearchApi({ + query: `fq=flashsale_id_i:${flashSale[0].pricelistId}&fq=flashsale_price_f:[1 TO *]&limit=2`, + operation: 'AND' + }) + dataFlashSale = dataProducts.response.products + } const dataPopularProducts = await axios( `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/search?q=*&page=1&orderBy=popular-weekly` ) + dataPopularProducts.data.response.products = [ + ...dataFlashSale, + ...dataPopularProducts.data.response.products, + ]; return dataPopularProducts.data.response } } diff --git a/src/lib/product/api/productSimilarApi.js b/src/lib/product/api/productSimilarApi.js index d62077eb..2470937d 100644 --- a/src/lib/product/api/productSimilarApi.js +++ b/src/lib/product/api/productSimilarApi.js @@ -1,9 +1,24 @@ +import odooApi from '@/core/api/odooApi' import axios from 'axios' +import productSearchApi from './productSearchApi' const productSimilarApi = async ({ query }) => { + let dataFlashSale = null + const flashSale = await odooApi('GET', '/api/v1/flashsale/header') + if(flashSale){ + const dataProducts = await productSearchApi({ + query: `fq=flashsale_id_i:${flashSale[0].pricelistId}&fq=flashsale_price_f:[1 TO *]&limit=2`, + operation: 'AND' + }) + dataFlashSale = dataProducts.response.products + } const dataProductSimilar = await axios( `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/search?q=${query}&page=1&orderBy=popular-weekly&operation=OR` ) + dataProductSimilar.data.response.products = [ + ...dataFlashSale, + ...dataProductSimilar.data.response.products, + ]; return dataProductSimilar.data.response } |
