2018-01-20 20:23:27 +01:00
|
|
|
const fs = require('fs');
|
|
|
|
|
const path = './adapter';
|
|
|
|
|
|
|
|
|
|
/** Read every integration existing in ./adapter **/
|
|
|
|
|
const adapter = fs
|
2018-01-25 16:51:05 +01:00
|
|
|
.readdirSync('./lib/notification/adapter')
|
2020-02-26 09:05:20 +01:00
|
|
|
.map(integPath => require(`${path}/${integPath}`));
|
2018-01-20 20:23:27 +01:00
|
|
|
|
|
|
|
|
if (adapter.length === 0) {
|
2018-01-25 16:51:05 +01:00
|
|
|
throw new Error('Please specify at least one notification provider');
|
2018-01-20 20:23:27 +01:00
|
|
|
}
|
|
|
|
|
|
2020-02-26 09:05:20 +01:00
|
|
|
exports.send = (serviceName, payload, notificationConfig) => {
|
2018-01-25 16:51:05 +01:00
|
|
|
//this is not being used in tests, therefor adapter are always set
|
2020-02-26 09:05:20 +01:00
|
|
|
return adapter.map(a => a.send(serviceName, payload, notificationConfig));
|
2018-01-20 20:23:27 +01:00
|
|
|
};
|