Tag staging email #85
@@ -9,6 +9,8 @@ const APP_URL =
|
||||
? process.env.APP_URL || "http://market-alarm"
|
||||
: process.env.APP_URL || `${APP_BASE_URL}:${APP_PORT}`;
|
||||
|
||||
const STAGING = process.env.SETTINGS !== "production";
|
||||
|
||||
const DEFAULT_TIMEZONE = "Europe/Sarajevo";
|
||||
|
||||
const CRAWLER_INTERVAL = parseInt(process.env.CRAWLER_INTERVAL) || 60;
|
||||
@@ -50,6 +52,8 @@ module.exports = {
|
||||
MAX_REAL_ESTATES_IN_FIRST_EMAIL,
|
||||
PRINT_CRAWLER_DEBUG,
|
||||
API_MAP_KEY,
|
||||
STAGING,
|
||||
CHECK_UP_DAYS,
|
||||
PROSTOR_LOGIN
|
||||
|
||||
};
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
"use strict";
|
||||
|
||||
const { MAX_REAL_ESTATES_IN_EMAIL, APP_URL } = require("../config/appConfig");
|
||||
const {
|
||||
MAX_REAL_ESTATES_IN_EMAIL,
|
||||
APP_URL,
|
||||
STAGING
|
||||
} = require("../config/appConfig");
|
||||
const { AD_CATEGORY, AD_TYPE, EMAIL_FREQUENCY } = require("../common/enums");
|
||||
|
||||
//Tag to recognize staging from development
|
||||
const stagingTag = STAGING ? "[STAGING] " : "";
|
||||
|
||||
const generateEmailFooter = (searchRequestId, emailFrequencyTitle) => {
|
||||
return ` <div>Trenutno ste prijavljeni da obavještenja o novim nekretninama primate <strong>${emailFrequencyTitle.toLowerCase()} </strong>.</div>
|
||||
<div>Ako želite prestati dobijati obavještenja za ovu pretragu, <a href="${APP_URL}/odjava/${searchRequestId}">odjavite ovdje</a></div>
|
||||
@@ -54,7 +61,7 @@ const generateNotificationEmail = (
|
||||
|
||||
const messageBody = dailyNotification ? dailyMessageBody : asapMessageBody;
|
||||
|
||||
return `<h3>Zdravo</h3>
|
||||
return `<h3>${stagingTag}Zdravo</h3>
|
||||
<h4>${messageBody}</h4>
|
||||
<div>
|
||||
${realEstateLinks}
|
||||
@@ -113,7 +120,7 @@ const generateNewSearchRequestEmail = (searchRequest, matchingRealEstates) => {
|
||||
|
||||
const emailFooter = generateEmailFooter(id, emailFrequencyTitle);
|
||||
|
||||
return `<h3>Zdravo</h3>
|
||||
return `<h3>${stagingTag}Zdravo</h3>
|
||||
<div>Naručili ste da Vam javimo ako se nekretnina sa navedenim uslovima pojavi u oglasima:</div>
|
||||
<br/>
|
||||
<div>
|
||||
@@ -130,7 +137,7 @@ const generateNewSearchRequestEmail = (searchRequest, matchingRealEstates) => {
|
||||
|
||||
const generateEmailSubject = (numberOfRealEstates, singleRealEstateTitle) => {
|
||||
if (numberOfRealEstates === 1) {
|
||||
return `Kivi: ${singleRealEstateTitle}`;
|
||||
return `${stagingTag}Kivi: ${singleRealEstateTitle}`;
|
||||
}
|
||||
|
||||
const leastSignificantDigit = numberOfRealEstates % 10;
|
||||
@@ -138,7 +145,7 @@ const generateEmailSubject = (numberOfRealEstates, singleRealEstateTitle) => {
|
||||
const secondLeastSignificantDigit = numberWithoutLastDigit % 10;
|
||||
|
||||
if (leastSignificantDigit === 1 && secondLeastSignificantDigit !== 1) {
|
||||
return `Kivi : ${numberOfRealEstates} nova nekretnina`;
|
||||
return `${stagingTag}Kivi : ${numberOfRealEstates} nova nekretnina`;
|
||||
}
|
||||
|
||||
if (
|
||||
@@ -146,10 +153,10 @@ const generateEmailSubject = (numberOfRealEstates, singleRealEstateTitle) => {
|
||||
leastSignificantDigit <= 4 &&
|
||||
secondLeastSignificantDigit !== 1
|
||||
) {
|
||||
return `Kivi: ${numberOfRealEstates} nove nekretnine`;
|
||||
return `${stagingTag}Kivi: ${numberOfRealEstates} nove nekretnine`;
|
||||
}
|
||||
|
||||
return `Kivi: ${numberOfRealEstates} novih nekretnina`;
|
||||
return `${stagingTag}Kivi: ${numberOfRealEstates} novih nekretnina`;
|
||||
};
|
||||
|
||||
const generateCheckUpEmail = searchRequest => {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
"use strict";
|
||||
const { STAGING } = require("../config/appConfig");
|
||||
const {
|
||||
matchRealEstates,
|
||||
matchSearchRequest
|
||||
@@ -26,13 +27,17 @@ const notifyForNewSearchRequest = async searchRequest => {
|
||||
|
||||
const searchRequestId = searchRequest.id;
|
||||
const matchingRealEstates = matches[searchRequestId].realEstates;
|
||||
|
||||
const stagingTag = STAGING ? "[STAGING] " : "";
|
||||
const emailContent = generateNewSearchRequestEmail(
|
||||
searchRequest,
|
||||
matchingRealEstates
|
||||
);
|
||||
const { email } = searchRequest;
|
||||
await sendEmail(email, "Kivi - novi zahtjev za pretragu", emailContent);
|
||||
await sendEmail(
|
||||
email,
|
||||
`${stagingTag} Kivi - novi zahtjev za pretragu`,
|
||||
emailContent
|
||||
);
|
||||
};
|
||||
|
||||
const notifyMatches = async (matches, dailyNotification = false) => {
|
||||
|
||||
@@ -8,6 +8,9 @@ SEQUELIZE_LOGGING=0- no sequelize logging, 1- log to the console
|
||||
PORT=Port for the app, defaults to 5000
|
||||
APP_BASE_URL=base url for the app
|
||||
|
||||
SETTINGS=Variable to denote development, staging and production
|
||||
|
||||
|
||||
MAX_REAL_ESTATES_IN_EMAIL=Max number of real estates that will be shown in email, others will be truncated and URL with full list will be shwon
|
||||
MAX_REAL_ESTATES_IN_FIRST_EMAIL=Max number of real estates that will be shown in first (welcome) email
|
||||
|
||||
|
||||
Reference in New Issue
Block a user