Files
old-web/app/lib/sendNotification.js

58 lines
1.4 KiB
JavaScript

const scrapTheItems = require("./scrapTheItems");
const convertToDate = require("./convertToDate");
const AWS = require("aws-sdk");
// AWS.config.update({region: 'eu-central-1'});
async function sendNotification(marketAlert) {
const { id, email, olx_url } = marketAlert;
let url =
"https://www.olx.ba/pretraga?" + olx_url + "&sort_order=desc&sort_po=datum";
let newItems = await scrapTheItems(url);
let lastDate = newItems.length && newItems[0].date;
let message =
newItems.length &&
newItems.reduce(
(mes, item) => mes + `<strong>${item.url} i ${item.price}</strong>`,
""
);
// Create sendEmail params
const params = {
Destination: {
/* required */
CcAddresses: [],
ToAddresses: [email]
},
Message: {
/* required */
Body: {
/* required */
Html: {
Charset: "UTF-8",
Data: message
},
Text: {
Charset: "UTF-8",
Data: message // TODO: convert to text
}
},
Subject: {
Charset: "UTF-8",
Data: "Javimi alert"
}
},
Source: 'Kivi.ba <info@saburly.com>' /* required */,
ReplyToAddresses: ["info@saburly.com"]
};
if (message) {
const sendPromise = new AWS.SES({ apiVersion: "2010-12-01" })
.sendEmail(params)
.promise();
await sendPromise;
return { id, date: String(convertToDate(lastDate)) };
}
}
module.exports = sendNotification;