From d32a4ba638d2473a189e1055467156a78c27c048 Mon Sep 17 00:00:00 2001 From: Vesa Luusua Date: Tue, 30 Oct 2018 22:51:42 +0200 Subject: [PATCH] SearchPage: *fix* range end is exclusive in Flex API --- src/containers/SearchPage/SearchPage.duck.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/containers/SearchPage/SearchPage.duck.js b/src/containers/SearchPage/SearchPage.duck.js index 4a483478..be796592 100644 --- a/src/containers/SearchPage/SearchPage.duck.js +++ b/src/containers/SearchPage/SearchPage.duck.js @@ -1,6 +1,8 @@ import unionWith from 'lodash/unionWith'; import { storableError } from '../../util/errors'; import { addMarketplaceEntities } from '../../ducks/marketplaceData.duck'; +import { convertUnitToSubUnit, unitDivisor } from '../../util/currency'; +import config from '../../config'; // ================ Action types ================ // @@ -118,9 +120,22 @@ export const searchMapListingsError = e => ({ export const searchListings = searchParams => (dispatch, getState, sdk) => { dispatch(searchListingsRequest(searchParams)); - const { perPage, ...rest } = searchParams; + const priceSearchParams = priceParam => { + const inSubunits = value => + convertUnitToSubUnit(value, unitDivisor(config.currencyConfig.currency)); + const values = priceParam ? priceParam.split(',') : []; + return priceParam && values.length === 2 + ? { + price: [inSubunits(values[0]), inSubunits(values[1]) + 1].join(','), + } + : {}; + }; + + const { perPage, price, ...rest } = searchParams; + const priceMaybe = priceSearchParams(price); const params = { ...rest, + ...priceMaybe, per_page: perPage, };