diff --git a/app/config/appConfig.js b/app/config/appConfig.js index 3ccedbe..3e6003f 100644 --- a/app/config/appConfig.js +++ b/app/config/appConfig.js @@ -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 + }; diff --git a/app/helpers/emailContentGenerator.js b/app/helpers/emailContentGenerator.js index 5a76e9b..253d518 100644 --- a/app/helpers/emailContentGenerator.js +++ b/app/helpers/emailContentGenerator.js @@ -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 `
Trenutno ste prijavljeni da obavještenja o novim nekretninama primate ${emailFrequencyTitle.toLowerCase()} .
Ako želite prestati dobijati obavještenja za ovu pretragu, odjavite ovdje
@@ -54,7 +61,7 @@ const generateNotificationEmail = ( const messageBody = dailyNotification ? dailyMessageBody : asapMessageBody; - return `

Zdravo

+ return `

${stagingTag}Zdravo

${messageBody}

${realEstateLinks} @@ -113,7 +120,7 @@ const generateNewSearchRequestEmail = (searchRequest, matchingRealEstates) => { const emailFooter = generateEmailFooter(id, emailFrequencyTitle); - return `

Zdravo

+ return `

${stagingTag}Zdravo

Naručili ste da Vam javimo ako se nekretnina sa navedenim uslovima pojavi u oglasima:

@@ -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 => { diff --git a/app/services/notificationService.js b/app/services/notificationService.js index 15b8ce0..1e05e5e 100644 --- a/app/services/notificationService.js +++ b/app/services/notificationService.js @@ -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) => { diff --git a/development.env b/development.env index 9c5389b..27b54e1 100644 --- a/development.env +++ b/development.env @@ -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