From bfe708d48f603998a1f2c4cad4a6f9f8683dc18f Mon Sep 17 00:00:00 2001 From: Raphael Kabo Date: Fri, 12 May 2023 16:54:06 +0100 Subject: Migrate to Typescript --- src/helpers.js | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/helpers.js (limited to 'src/helpers.js') diff --git a/src/helpers.js b/src/helpers.js new file mode 100644 index 0000000..bf95e27 --- /dev/null +++ b/src/helpers.js @@ -0,0 +1,57 @@ +const domain = require('./config/domain.js').domain; +const siteName = require('./config/domain.js').sitename; + +const mongoose = require('mongoose'); +const Log = mongoose.model('Log'); +var moment = require('moment-timezone'); +const icalGenerator = require('ical-generator'); + +// LOGGING + +function addToLog(process, status, message) { + let logEntry = new Log({ + status: status, + process: process, + message: message, + timestamp: moment() + }); + logEntry.save().catch(() => { console.log("Error saving log entry!") }); +} + +function exportIcal(events, calendarName) { + // Create a new icalGenerator... generator + const cal = icalGenerator({ + name: calendarName || siteName, + x: { + 'X-WR-CALNAME': calendarName || siteName, + }, + }); + if (events instanceof Array === false) { + events = [ events ]; + } + events.forEach(event => { + // Add the event to the generator + cal.createEvent({ + start: moment.tz(event.start, event.timezone), + end: moment.tz(event.end, event.timezone), + timezone: event.timezone, + timestamp: moment(), + summary: event.name, + description: event.description, + organizer: { + name: event.hostName || "Anonymous", + email: event.creatorEmail || 'anonymous@anonymous.com', + }, + location: event.location, + url: 'https://' + domain + '/' + event.id + }); + }); + // Stringify it! + const string = cal.toString(); + return string; +} + +module.exports = { + addToLog, + exportIcal, +} -- cgit v1.2.3 From 453c08463bf46e568c8a5018416ad88498a73f29 Mon Sep 17 00:00:00 2001 From: Raphael Kabo Date: Fri, 12 May 2023 16:54:06 +0100 Subject: linting: source files --- src/helpers.js | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'src/helpers.js') diff --git a/src/helpers.js b/src/helpers.js index bf95e27..9b7559f 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -1,10 +1,10 @@ -const domain = require('./config/domain.js').domain; -const siteName = require('./config/domain.js').sitename; +const domain = require("./config/domain.js").domain; +const siteName = require("./config/domain.js").sitename; -const mongoose = require('mongoose'); -const Log = mongoose.model('Log'); -var moment = require('moment-timezone'); -const icalGenerator = require('ical-generator'); +const mongoose = require("mongoose"); +const Log = mongoose.model("Log"); +var moment = require("moment-timezone"); +const icalGenerator = require("ical-generator"); // LOGGING @@ -13,9 +13,11 @@ function addToLog(process, status, message) { status: status, process: process, message: message, - timestamp: moment() + timestamp: moment(), + }); + logEntry.save().catch(() => { + console.log("Error saving log entry!"); }); - logEntry.save().catch(() => { console.log("Error saving log entry!") }); } function exportIcal(events, calendarName) { @@ -23,13 +25,13 @@ function exportIcal(events, calendarName) { const cal = icalGenerator({ name: calendarName || siteName, x: { - 'X-WR-CALNAME': calendarName || siteName, + "X-WR-CALNAME": calendarName || siteName, }, }); if (events instanceof Array === false) { - events = [ events ]; + events = [events]; } - events.forEach(event => { + events.forEach((event) => { // Add the event to the generator cal.createEvent({ start: moment.tz(event.start, event.timezone), @@ -40,10 +42,10 @@ function exportIcal(events, calendarName) { description: event.description, organizer: { name: event.hostName || "Anonymous", - email: event.creatorEmail || 'anonymous@anonymous.com', + email: event.creatorEmail || "anonymous@anonymous.com", }, location: event.location, - url: 'https://' + domain + '/' + event.id + url: "https://" + domain + "/" + event.id, }); }); // Stringify it! @@ -54,4 +56,4 @@ function exportIcal(events, calendarName) { module.exports = { addToLog, exportIcal, -} +}; -- cgit v1.2.3