adapt first step of search request to new DB design

This commit is contained in:
Bilal Catic
2019-09-13 11:08:45 +02:00
parent 3cbd79dcc9
commit 1a874d4d88
3 changed files with 29 additions and 25 deletions

View File

@@ -1,6 +1,6 @@
const db = require("../models/index");
const { currentSearchRequest } = require("../helpers/url");
const { createSearchRequest } = require("../helpers/db/searchRequest");
const { currentRERequest } = require("../helpers/url");
const { realEstateTypes, getRealEstateTypeEnum } = require("../helpers/enums");
const getRealEstateTypes = (req, res) => {
@@ -9,31 +9,35 @@ const getRealEstateTypes = (req, res) => {
};
const postRealEstateTypes = async (req, res) => {
const request = await currentRERequest(req);
const searchRequest = await currentSearchRequest(req);
//TODO: check if selected real estate type is valid
const selectedRealEstateType = req.body.realEstateType || null;
const nextStepPage = req.query.nextStep || "lokacija";
if (request && request.uniqueId) {
const nextStepUrl = `/${nextStepPage}/${request.uniqueId}`;
request.realEstateType = req.body.realestatetype;
if (!getRealEstateTypeEnum(request.realEstateType).hasGardenSize) {
request.gardenSize = null;
let nextStepUrl = "";
if (searchRequest && searchRequest.id) {
nextStepUrl = `/${nextStepPage}/${searchRequest.id}`;
searchRequest.realEstateType = selectedRealEstateType;
if (!getRealEstateTypeEnum(selectedRealEstateType).hasGardenSize) {
searchRequest.gardenSizeMin = null;
searchRequest.gardenSizeMax = null;
}
await request.save();
res.redirect(nextStepUrl);
} else {
db.RealEstateRequest.create({
realEstateType: req.body.realestatetype
})
.then(result => {
const nextStepUrl = `/${nextStepPage}/${result.uniqueId}`;
res.redirect(nextStepUrl);
})
.catch(e => {
res.send(e);
try {
const newSearchRequest = await createSearchRequest({
realEstateType: selectedRealEstateType
});
nextStepUrl = `/${nextStepPage}/${newSearchRequest.id}`;
} catch (error) {
console.log(error);
nextStepUrl = `/`;
}
}
res.redirect(nextStepUrl);
};
module.exports = {