-
Notifications
You must be signed in to change notification settings - Fork 2
/
node_helper.js
42 lines (35 loc) · 1.42 KB
/
node_helper.js
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
39
40
41
42
const NodeHelper = require("node_helper");
const https = require('https');
module.exports = NodeHelper.create({
socketNotificationReceived: function (notification, payload) {
if (notification === 'DAILY_POWER_LOAD_VERSE') {
this.getDailyPowerVerse(payload.translation);
}
},
getDailyPowerVerse: function (translation) {
const date = this.createCurrentDate();
const dailyPowerVerseApi = `https://dailypower.oemel09.de/api/v1/verses/${date}?lang=${translation}`;
https.get(dailyPowerVerseApi, (response) => {
let data = '';
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
console.log('DailyPower', 'new verse received');
this.sendSocketNotification('DAILY_POWER_ON_VERSE_RECEIVED', JSON.parse(data));
});
}).on('error', (error) => {
console.log("Error: " + error.message);
});
},
createCurrentDate: function () {
const currentDate = new Date();
const day = this.prependLeadingZero(currentDate.getDate());
const month = this.prependLeadingZero(currentDate.getMonth() + 1);
const year = currentDate.getFullYear();
return year + '-' + month + '-' + day;
},
prependLeadingZero: function (number) {
return (number < 10) ? ('0' + number) : number;
}
});