in src/index.js [72:112]
function alertOnStale (list, frontsMap, lambda, logger, jsonConfig) {
const stale = list.filter(item => {
const date = frontsMap[item.front];
return !date || isBefore(date, item.cutoff);
});
const result = {
checked: list.length,
stale: stale.length
};
logger.log('Stale result', frontsMap, result, stale);
if (result.stale) {
return new Promise((resolve, reject) => {
logger.log('Sending email');
lambda.invoke({
FunctionName: jsonConfig.email.lambda,
InvocationType: 'RequestResponse',
Payload: JSON.stringify({
from: jsonConfig.email.from,
to: jsonConfig.email.to,
subject: 'Stale fronts',
template: STALE_TEMPLATE,
env: Object.assign({
list: stale.map(item => item.front),
faciaPath: jsonConfig.facia.PROD.path
}, result)
})
}, err => {
if (err) {
logger.error('Error sending email', err.message);
reject(err);
} else {
logger.log('Email sent');
resolve(result);
}
});
});
} else {
return result;
}
}