Added option to include-exclude ads without price
This commit is contained in:
@@ -98,6 +98,7 @@ const findRealEstatesForSearchRequest = async (searchRequest, maxResults) => {
|
||||
floorMin,
|
||||
floorMax,
|
||||
includeIncompleteAds,
|
||||
includeWithoutPrice,
|
||||
balcony,
|
||||
elevator,
|
||||
newBuilding,
|
||||
@@ -139,15 +140,6 @@ const findRealEstatesForSearchRequest = async (searchRequest, maxResults) => {
|
||||
const query = {
|
||||
adType,
|
||||
realEstateType,
|
||||
price: {
|
||||
[Op.or]: {
|
||||
[Op.and]: {
|
||||
[Op.lte]: priceMax,
|
||||
[Op.gte]: priceMin
|
||||
},
|
||||
[Op.is]: null
|
||||
}
|
||||
},
|
||||
area: {
|
||||
[Op.lte]: sizeMax,
|
||||
[Op.gte]: sizeMin
|
||||
@@ -159,15 +151,6 @@ const findRealEstatesForSearchRequest = async (searchRequest, maxResults) => {
|
||||
const queryIncludeIncomplete = {
|
||||
adType,
|
||||
realEstateType,
|
||||
price: {
|
||||
[Op.or]: {
|
||||
[Op.and]: {
|
||||
[Op.lte]: priceMax,
|
||||
[Op.gte]: priceMin
|
||||
},
|
||||
[Op.is]: null
|
||||
}
|
||||
},
|
||||
area: {
|
||||
[Op.or]: {
|
||||
[Op.and]: {
|
||||
@@ -180,6 +163,42 @@ const findRealEstatesForSearchRequest = async (searchRequest, maxResults) => {
|
||||
[Op.and]: geoSearchQueryPart
|
||||
};
|
||||
|
||||
//Is user checked includeWithoutPrice TRUE then it should return null values of price
|
||||
//If not then only check for price max and min (this is DEFAULT)
|
||||
//includeIncpompleteAds does not have effect on price query
|
||||
if (includeWithoutPrice) {
|
||||
query.price = {
|
||||
[Op.or]: {
|
||||
[Op.and]: {
|
||||
[Op.lte]: priceMax,
|
||||
[Op.gte]: priceMin
|
||||
},
|
||||
[Op.is]: null
|
||||
}
|
||||
};
|
||||
queryIncludeIncomplete.price = {
|
||||
[Op.or]: {
|
||||
[Op.and]: {
|
||||
[Op.lte]: priceMax,
|
||||
[Op.gte]: priceMin
|
||||
},
|
||||
[Op.is]: null
|
||||
}
|
||||
};
|
||||
} else {
|
||||
query.price = {
|
||||
[Op.and]: {
|
||||
[Op.lte]: priceMax,
|
||||
[Op.gte]: priceMin
|
||||
}
|
||||
};
|
||||
queryIncludeIncomplete.price = {
|
||||
[Op.and]: {
|
||||
[Op.lte]: priceMax,
|
||||
[Op.gte]: priceMin
|
||||
}
|
||||
};
|
||||
}
|
||||
//Every other attribute is checked separately and included in query only if it is defined for real estate type
|
||||
|
||||
if (
|
||||
|
||||
Reference in New Issue
Block a user