From 8bf9b9bef9a36961102801cc1ca32ea0296f2288 Mon Sep 17 00:00:00 2001 From: krukle Date: Tue, 12 Jul 2022 14:35:04 +0200 Subject: [PATCH 1/4] Add possibility to fetch calendars through socket notifications --- modules/default/calendar/calendar.js | 4 ++++ modules/default/calendar/node_helper.js | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 34d720d3..ec137d26 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -133,6 +133,10 @@ Module.register("calendar", { // Override socket notification handler. socketNotificationReceived: function (notification, payload) { + if (notification === "FETCH_CALENDAR") { + this.sendSocketNotification(notification, {"url": payload.url, "id": this.identifier}) + } + if (this.identifier !== payload.id) { return; } diff --git a/modules/default/calendar/node_helper.js b/modules/default/calendar/node_helper.js index 21fa7e0e..e98e7b4d 100644 --- a/modules/default/calendar/node_helper.js +++ b/modules/default/calendar/node_helper.js @@ -19,6 +19,14 @@ module.exports = NodeHelper.create({ socketNotificationReceived: function (notification, payload) { if (notification === "ADD_CALENDAR") { this.createFetcher(payload.url, payload.fetchInterval, payload.excludedEvents, payload.maximumEntries, payload.maximumNumberOfDays, payload.auth, payload.broadcastPastEvents, payload.selfSignedCert, payload.id); + } else if (notification === "FETCH_CALENDAR") { + key = payload.id + payload.url; + if (typeof this.fetchers[key] === "undefined") { + Log.error("Calendar Error. No fetcher exists with key: ", key); + this.sendSocketNotification("CALENDAR_ERROR", { error_type: "MODULE_ERROR_UNSPECIFIED" }); + return; + } + this.fetchers[key].startFetch(); } }, From 82fbb7e32debf319844ca599c3c5875bf15e889e Mon Sep 17 00:00:00 2001 From: krukle Date: Thu, 14 Jul 2022 08:49:37 +0200 Subject: [PATCH 2/4] add changes to changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4268310f..4c55d53c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ _This release is scheduled to be released on 2022-10-01._ ## Added +- Possibility to fetch calendars through socket notifications. + ## Updated ## Fixed From bc239f660808519aa53a41d60aba71cb6f268ce9 Mon Sep 17 00:00:00 2001 From: krukle Date: Fri, 29 Jul 2022 10:25:23 +0200 Subject: [PATCH 3/4] fix checkstyle errors --- modules/default/calendar/calendar.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index bd4a9a78..aac9d5a2 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -135,9 +135,9 @@ Module.register("calendar", { // Override socket notification handler. socketNotificationReceived: function (notification, payload) { if (notification === "FETCH_CALENDAR") { - this.sendSocketNotification(notification, {"url": payload.url, "id": this.identifier}) + this.sendSocketNotification(notification, { url: payload.url, id: this.identifier }); } - + if (this.identifier !== payload.id) { return; } From 9ae62d60f743fd0ed6518a85936d7ecb5ad40f69 Mon Sep 17 00:00:00 2001 From: krukle Date: Sat, 6 Aug 2022 10:47:37 +0200 Subject: [PATCH 4/4] fix automated test: error 'key' is not defined --- modules/default/calendar/node_helper.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/calendar/node_helper.js b/modules/default/calendar/node_helper.js index e98e7b4d..2121c309 100644 --- a/modules/default/calendar/node_helper.js +++ b/modules/default/calendar/node_helper.js @@ -20,7 +20,7 @@ module.exports = NodeHelper.create({ if (notification === "ADD_CALENDAR") { this.createFetcher(payload.url, payload.fetchInterval, payload.excludedEvents, payload.maximumEntries, payload.maximumNumberOfDays, payload.auth, payload.broadcastPastEvents, payload.selfSignedCert, payload.id); } else if (notification === "FETCH_CALENDAR") { - key = payload.id + payload.url; + const key = payload.id + payload.url; if (typeof this.fetchers[key] === "undefined") { Log.error("Calendar Error. No fetcher exists with key: ", key); this.sendSocketNotification("CALENDAR_ERROR", { error_type: "MODULE_ERROR_UNSPECIFIED" });