diff --git a/app/controllers/redirect.js b/app/controllers/redirect.js index 6cf5d35..49ea271 100644 --- a/app/controllers/redirect.js +++ b/app/controllers/redirect.js @@ -11,6 +11,30 @@ const redirect = async (req, res) => { } }; -module.exports = { - redirect +const getRedirect = async (req, res) => { + const id = req.params.id || null; + let error = false; + let redirectUrl = undefined; + if (!id) { + error = true; + } else { + const realEstate = await getRealEstateById(id); + if (!realEstate) { + error = true; + } else { + redirectUrl = realEstate.url; + } + } + + if (error) { + const title = ""; + res.render("notFound", { title }); + } else { + const title = "Preusmjeravanje"; + res.render("redirect", { title, redirectUrl }); + } +}; + +module.exports = { + getRedirect }; diff --git a/app/routes/index.js b/app/routes/index.js index ef1fea9..807f594 100644 --- a/app/routes/index.js +++ b/app/routes/index.js @@ -18,7 +18,7 @@ const { getGoAgain } = require("../controllers/goAgain"); const { getLocation, postLocation } = require("../controllers/location"); const { getUnsubscribe } = require("../controllers/unsubscribe"); const { getRealEstates } = require("../controllers/realEstates"); -const { redirect } = require("../controllers/redirect"); +const { getRedirect } = require("../controllers/redirect"); const router = express.Router(); @@ -50,6 +50,6 @@ router.get("/ponovo", getGoAgain); router.get("/nekretnine/:searchRequestId", getRealEstates); -router.get("/redirect/:id", redirect); +router.get("/redirect/:id", getRedirect); module.exports = router; diff --git a/app/views/notFound.ejs b/app/views/notFound.ejs new file mode 100644 index 0000000..e66b342 --- /dev/null +++ b/app/views/notFound.ejs @@ -0,0 +1,9 @@ + +<% include partials/navBar %> + +