Files
fredy/lib/notification/notify.js

22 lines
761 B
JavaScript
Raw Normal View History

2018-01-20 20:23:27 +01:00
const fs = require('fs');
const path = './adapter';
/** Read every integration existing in ./adapter **/
const adapter = fs
.readdirSync('./lib/notification/adapter')
.filter((file) => file.endsWith('.js'))
.map((integPath) => require(`${path}/${integPath}`));
2018-01-20 20:23:27 +01:00
if (adapter.length === 0) {
throw new Error('Please specify at least one notification provider');
2018-01-20 20:23:27 +01:00
}
exports.send = (serviceName, newListings, notificationConfig, jobKey) => {
//this is not being used in tests, therefore adapter are always set
return adapter
.filter((notificationAdapter) => {
return notificationConfig.find((config) => config.id === notificationAdapter.config.id);
})
.map((a) => a.send({ serviceName, newListings, notificationConfig, jobKey }));
2018-01-20 20:23:27 +01:00
};