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: '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;