function alertOnStale()

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;
	}
}