"use strict"; const { MAX_REAL_ESTATES_IN_EMAIL, APP_URL } = require("../config/appConfig"); const { AD_CATEGORY } = require("../common/enums"); const generateEmailFooter = searchRequestId => { return `
Ako želite prestati dobijati obavještenja za ovu pretragu, odjavite ovdje
Ako želite pogledati ili promijeniti uslove za ovu pretragu, pogledajte ovdje

Vaš,
Javimi tim
`; }; const generateRealEstateLinks = realEstates => { let realEstateLinks = ""; for (const realEstate of realEstates) { const { id: realEstateId, title } = realEstate; realEstateLinks += `
  • ${title}
  • `; } return realEstateLinks; }; const generateNotificationEmail = (realEstates, searchRequestId) => { const truncateList = realEstates.length > MAX_REAL_ESTATES_IN_EMAIL; const realEstatesToShow = truncateList ? realEstates.slice(0, MAX_REAL_ESTATES_IN_EMAIL) : realEstates; const allRealEstatesLink = `${APP_URL}/nekretnine/${searchRequestId}`; const realEstateLinks = generateRealEstateLinks(realEstatesToShow); const moreRealEstates = `
    Kompletan spisak nekretnina možete pegledati na listi nekretnina
    `; 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}
    Lokacija:
    Kvadratura nekretnine: Od ${sizeMin} do ${sizeMax} m2
    ${gardenSize}
    Cijena: ${priceMin} do ${priceMax} KM
    ${matchingRealEstates.length > 0 ? instantRealEstatesText : ""}
    ${emailFooter}`; }; module.exports = { generateNotificationEmail, generateNewSearchRequestEmail };