diff --git a/app/controllers/redirect.js b/app/controllers/redirect.js new file mode 100644 index 0000000..b52a51e --- /dev/null +++ b/app/controllers/redirect.js @@ -0,0 +1,16 @@ +const { getMarketAlertById } = require("../helpers/db/dbHelper"); + +const redirect = async (req, res) => { + const id = req.params["id"]; + const marketAlert = await getMarketAlertById(id); + if (marketAlert) { + res.redirect(marketAlert.url); + } else { + res.send("Not found"); + res.end(); + } +}; + +module.exports = { + redirect +}; diff --git a/app/helpers/awsEmail.js b/app/helpers/awsEmail.js index f5f3c70..dac4f48 100644 --- a/app/helpers/awsEmail.js +++ b/app/helpers/awsEmail.js @@ -1,32 +1,29 @@ - -const dotenv = require('dotenv').config(); -const { getRealEstateTypeEnum } = require('./enums'); -const { getRegionName, getMunicipalityName } = require('./codes'); -const { allRERequestByUiid } = require('./db/dbHelper'); -var AWS = require('aws-sdk'); -const TEMPLATE_NAME = "MarketAlertTemplate" +const dotenv = require("dotenv").config(); +const { getRealEstateTypeEnum } = require("./enums"); +const { getRegionName, getMunicipalityName } = require("./codes"); +const { allRERequestByUiid } = require("./db/dbHelper"); +var AWS = require("aws-sdk"); +const TEMPLATE_NAME = "MarketAlertTemplate"; AWS.config.update({ region: process.env.AMAZON_REGION, - credentials: - { + credentials: { accessKeyId: process.env.AMAZON_ACCES_KEY_ID, secretAccessKey: process.env.AMAZON_SECRET_ACCESS_KEY } }); const sendTemplatedEmail = async (email, request) => { - const params = { - Destination: { /* required */ - CcAddresses: [ - ], - ToAddresses: [ - email - ] + Destination: { + /* required */ + CcAddresses: [], + ToAddresses: [email] }, - Message: { /* required */ - Body: { /* required */ + Message: { + /* required */ + Body: { + /* required */ Html: { Charset: "UTF-8", Data: getGreetingsEmailHTML(request) @@ -37,76 +34,124 @@ const sendTemplatedEmail = async (email, request) => { } }, Subject: { - Charset: 'UTF-8', - Data: `Javimi Potvrda: ${getSubject(request.realEstateType, request.region, request.municipality)}` + Charset: "UTF-8", + Data: `Javimi Potvrda: ${getSubject( + request.realEstateType, + request.region, + request.municipality + )}` } }, - Source: process.env.SOURCE_EMAIL, /* required */ - ReplyToAddresses: [ - process.env.SOURCE_EMAIL, - ], + Source: process.env.SOURCE_EMAIL /* required */, + ReplyToAddresses: [process.env.SOURCE_EMAIL] }; - const sendEmailPromise = new AWS.SES({ apiVersion: '2010-12-01' }).sendEmail(params).promise(); + const sendEmailPromise = new AWS.SES({ apiVersion: "2010-12-01" }) + .sendEmail(params) + .promise(); await sendEmailPromise; -} +}; -const getGreetingsEmailHTML = (realestateRequest) => { - const realEstateType = getRealEstateTypeEnum(realestateRequest.realEstateType); - const gardenSize = realEstateType.hasGardenSize ? `