WiP - changed db helpers

This commit is contained in:
Naida Vatric
2019-12-11 01:24:18 +01:00
parent 6f729b4135
commit dee7c6000a
2 changed files with 79 additions and 4 deletions

View File

@@ -87,7 +87,22 @@ const findRealEstatesForSearchRequest = async (searchRequest, maxResults) => {
sizeMax,
adType,
realEstateType,
areaToSearch
areaToSearch,
//
gardenSizeMin,
gardenSizeMax,
numberOfRoomsMin,
numberOfRoomsMax,
numberOfFloorsMin,
numberOfFloorsMax,
floorMin,
floorMax,
includeIncompleteAds,
balcony,
elevator,
newBuilding,
accessRoadType
//
} = searchRequest;
const longitudeColumn = sequelize.col("locationLong");
@@ -115,7 +130,9 @@ const findRealEstatesForSearchRequest = async (searchRequest, maxResults) => {
);
const geoSearchQueryPart = sequelize.where(contains, true);
//Does not work with incomplete data
//issue https://github.com/sequelize/sequelize/issues/11564
const query = {
adType,
realEstateType,
@@ -127,7 +144,28 @@ const findRealEstatesForSearchRequest = async (searchRequest, maxResults) => {
[Op.lte]: sizeMax,
[Op.gte]: sizeMin
},
[Op.and]: geoSearchQueryPart
[Op.and]: geoSearchQueryPart,
//
gardenSize: {
[Op.lte]: gardenSizeMax,
[Op.gte]: gardenSizeMin,
},
numberOfRooms: {
[Op.lte]: numberOfRoomsMax,
[Op.gte]: numberOfRoomsMin,
},
numberOfFloors: {
[Op.lte]: numberOfFloorsMax,
[Op.gte]: numberOfFloorsMin,
},
floor: {
[Op.lte]: floorMax,
[Op.gte]: floorMin,
},
accessRoadType,
balcony,
newBuilding,
elevator
};
const order = [["updatedAt", "desc"]];

View File

@@ -43,6 +43,11 @@ const findSearchRequestsForRealEstate = async realEstate => {
adType,
realEstateType,
subscribed: true,
//
accessRoadType,
balcony,
newBuilding,
elevator,
[Op.and]: geoSearchQueryPart
};
@@ -63,7 +68,39 @@ const findSearchRequestsForRealEstate = async realEstate => {
[Op.gte]: area
};
}
//
if (gardenSize) {
query.gardenSizeMin = {
[Op.lte]: gardenSize
};
query.gardenSizeMax = {
[Op.gte]: gardenSize
};
}
if (numberOfRooms) {
query.numberOfRoomsMin = {
[Op.lte]: numberOfRooms
};
query.numberOfRoomsMax = {
[Op.gte]: numberOfRooms
};
}
if (numberOfFloors) {
query.numberOfFloorsMin = {
[Op.lte]: numberOfFloors
};
query.numberOfFloorsMax = {
[Op.gte]: numberOfFloors
};
}
if (floor) {
query.floorMin = {
[Op.lte]: floor
};
query.floorMax = {
[Op.gte]: floor
};
}
return await db.SearchRequest.findAll({ where: query });
};