Added formated subject to bulk email
This commit is contained in:
@@ -2,8 +2,10 @@
|
||||
const dotenv = require('dotenv').config();
|
||||
const { getRealEstateTypeEnum } = require('./enums');
|
||||
const { getRegionName, getMunicipalityName } = require('./codes');
|
||||
const db = require('../models/index');
|
||||
const { allRERequestByUiid } = require('./db/dbHelper');
|
||||
var AWS = require('aws-sdk');
|
||||
const TEMPLATE_NAME = "MarketAlertTemplate"
|
||||
const TEMPLATE_NAME = "MarketAlertTemplateDevelop"
|
||||
|
||||
AWS.config.update({
|
||||
region: process.env.AMAZON_REGION,
|
||||
@@ -97,26 +99,78 @@ const sendBulkEmail = async (marketAlerts) => {
|
||||
try {
|
||||
|
||||
destinations = []
|
||||
groupedEmails = [];
|
||||
groupedRERequests = [];
|
||||
|
||||
|
||||
let RERequestUuids = marketAlerts.map(marketAlert => marketAlert.request);
|
||||
// console.log(RERequestUuids)
|
||||
RERequestUuids = Array.from(new Set(RERequestUuids));
|
||||
// console.log(RERequestUuids)
|
||||
RERequestUuids = RERequestUuids.map(marketAlert => {
|
||||
return { uniqueId: marketAlert }
|
||||
});
|
||||
// RERequestUuids = Array.from(new Set(RERequestUuids));
|
||||
// console.log(RERequestUuids)
|
||||
// const RERequests = await
|
||||
const RERequest = await allRERequestByUiid(RERequestUuids);
|
||||
// const requestDataValues = RERequest.map(RERequest => {
|
||||
// var formatedRequest = {};
|
||||
// formatedRequest[RERequest.uniqueId] = {
|
||||
// realEstateType: RERequest.realEstateType,
|
||||
// region: RERequest.region,
|
||||
// municipality: RERequest.municipality
|
||||
// };
|
||||
// return formatedRequest;
|
||||
// })
|
||||
const requestDataValues = [];
|
||||
RERequest.forEach(RERequest => {
|
||||
var formatedRequest = {};
|
||||
formatedRequest[RERequest.uniqueId] =
|
||||
requestDataValues[RERequest.uniqueId] = {
|
||||
realEstateType: RERequest.realEstateType,
|
||||
region: RERequest.region,
|
||||
municipality: RERequest.municipality
|
||||
};
|
||||
});
|
||||
// console.log(requestDataValues);
|
||||
|
||||
|
||||
marketAlerts.forEach(marketAlert => {
|
||||
if (!groupedEmails[marketAlert.email]) {
|
||||
groupedEmails[marketAlert.email] = [];
|
||||
groupedEmails[marketAlert.email].push({ url: marketAlert.url, title: marketAlert.title });
|
||||
} else {
|
||||
groupedEmails[marketAlert.email].push({ url: marketAlert.url, title: marketAlert.title });
|
||||
// console.log(marketAlert);
|
||||
// const RERequest = await currentRERequest(marketAlert.request);
|
||||
if (!groupedRERequests[marketAlert.request]) {
|
||||
groupedRERequests[marketAlert.request] = [];
|
||||
}
|
||||
// console.log(requestDataValues[marketAlert.request]);
|
||||
console.log("MarketAlertEmail");
|
||||
console.log(marketAlert.email);
|
||||
|
||||
groupedRERequests[marketAlert.request].push({
|
||||
|
||||
url: marketAlert.url,
|
||||
title: marketAlert.title,
|
||||
email: marketAlert.email,
|
||||
requestData: {
|
||||
realEstateType: requestDataValues[marketAlert.request].realEstateType,
|
||||
region: requestDataValues[marketAlert.request].region,
|
||||
municipality: requestDataValues[marketAlert.request].municipality
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
for (email in groupedEmails) {
|
||||
for (request in groupedRERequests) {
|
||||
// {{realestateType}}, {{region}}, {{municipality}}
|
||||
|
||||
const url = groupedEmails[email];
|
||||
let repData = `{ "marketAlertUrl":[${toAWSArray(url)}], "favoriteanimal":"yak" }`
|
||||
const marketAlert = groupedRERequests[request];
|
||||
console.log("RequestlertEmail");
|
||||
console.log(request.email);
|
||||
console.log(request);
|
||||
let repData = `{ "marketAlertUrl":[${toAWSArray(marketAlert)}], "realestateType":"${request.realEstateType}", "region":"${request.region}", "municipality":"${request.municipality}" }`
|
||||
|
||||
destinations.push({
|
||||
Destination: {
|
||||
ToAddresses: [
|
||||
email
|
||||
request.email
|
||||
]
|
||||
},
|
||||
ReplacementTemplateData: repData
|
||||
@@ -124,7 +178,7 @@ const sendBulkEmail = async (marketAlerts) => {
|
||||
|
||||
}
|
||||
console.log("AWS EMAIL : Bulk email replacement data:");
|
||||
console.log(destinations);
|
||||
// console.log(destinations);
|
||||
|
||||
var params = {
|
||||
Destinations:
|
||||
@@ -152,6 +206,7 @@ const sendBulkEmail = async (marketAlerts) => {
|
||||
}
|
||||
|
||||
const toAWSArray = (urlArray) => {
|
||||
console.log(urlArray);
|
||||
let arrayString = ""
|
||||
urlArray.forEach(element => {
|
||||
const formatetdTitle = element.title.replace(/"/g, "");
|
||||
@@ -179,8 +234,8 @@ const getNotificationEmailText = () => {
|
||||
const createMarketAlertEmailTemplate = async () => {
|
||||
const marketAlertTemplate = {
|
||||
Template: {
|
||||
TemplateName: "MarketAlertTemplate",
|
||||
SubjectPart: "Javi mi obavijest",
|
||||
TemplateName: TEMPLATE_NAME,
|
||||
SubjectPart: "Javi mi obavijest: {{realestateType}}, {{region}}, {{municipality}}",
|
||||
TextPart: getNotificationEmailText(),
|
||||
HtmlPart: getNotificationEmailHtml()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user