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 + `${item.url} i ${item.price}`, "" ); // 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 ' /* 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;