-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.js
More file actions
38 lines (31 loc) · 861 Bytes
/
config.js
File metadata and controls
38 lines (31 loc) · 861 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
const fs = require('fs');
const payloadConverter = require('./payloadConverter');
const path = process.env.CONFIG_PATH ?? './config.json';
let data = {
urls: [],
port: 3000
};
if(path && fs.existsSync(path)){
const content = JSON.parse(fs.readFileSync(path));
data = {...data, ...content};
}
if(process.env.WEBHOOK_URLS) {
data.urls = [...data.urls, ...process.env.WEBHOOK_URLS
.split(',')
.map((url, i) => ({
url,
resolver: process.env[`URL_${i}_RESOLVER`],
converter: process.env[`URL_${i}_CONVERTER`],
renderer: process.env[`URL_${i}_RENDERER`]
})
)];
}
data.urls.forEach(url => {
payloadConverter.getConverter(url.converter);
payloadConverter.getResolver(url.resolver);
payloadConverter.getRenderer(url.renderer);
})
if(process.env.PORT) {
data.port = process.env.PORT;
}
module.exports = data;