`;
const emailFooter = generateEmailFooter(searchRequestId);
return `
Zdravo
Pronašli smo nekretnine koje odgovaraju Vašoj pretrazi
${realEstateLinks}
${moreRealEstates}
${emailFooter}`;
};
const generateNewSearchRequestEmail = (searchRequest, matchingRealEstates) => {
const realEstateType = AD_CATEGORY[searchRequest.realEstateType];
const {
id,
gardenSizeMin,
gardenSizeMax,
sizeMin,
sizeMax,
priceMin,
priceMax
} = searchRequest;
const realEstateLinks = generateRealEstateLinks(matchingRealEstates);
const instantRealEstatesText = `
U međuvremenu pogledajte neke od nedavno objavljenih nekretnina koje odgovaraju Vašim uslovima pretrage :
${realEstateLinks}
`;
const gardenSize = realEstateType.hasGardenSize
? `
Kvadratura okućnice: Od ${gardenSizeMin} do ${gardenSizeMax} m2
`
: ``;
const emailFooter = generateEmailFooter(id);
return `
Zdravo
Naručili ste da Vam javimo ako se nekretnina sa navedenim uslovima pojavi u oglasima:
Tip nekretnine: ${realEstateType.title}
Kvadratura nekretnine: Od ${sizeMin} do ${sizeMax} m2
${gardenSize}
Cijena: ${priceMin} do ${priceMax} KM
${matchingRealEstates.length > 0 ? instantRealEstatesText : ""}
${emailFooter}`;
};
const generateEmailSubject = (numberOfRealEstates, singleRealEstateTitle) => {
if (numberOfRealEstates === 1) {
return `Kivi: ${singleRealEstateTitle}`;
}
const leastSignificantDigit = numberOfRealEstates % 10;
const numberWithoutLastDigit = Math.floor(numberOfRealEstates / 10);
const secondLeastSignificantDigit = numberWithoutLastDigit % 10;
if (leastSignificantDigit === 1 && secondLeastSignificantDigit !== 1) {
return `Kivi : ${numberOfRealEstates} nova nekretnina`;
}
if (
leastSignificantDigit >= 2 &&
leastSignificantDigit <= 4 &&
secondLeastSignificantDigit !== 1
) {
return `Kivi: ${numberOfRealEstates} nove nekretnine`;
}
return `Kivi: ${numberOfRealEstates} novih nekretnina`;
};
module.exports = {
generateNotificationEmail,
generateNewSearchRequestEmail,
generateEmailSubject
};