From fc071096d8ff00c3fbab74e3fc4d6c76f6cf031a Mon Sep 17 00:00:00 2001 From: Patrick Mueller Date: Wed, 28 Dec 2022 01:20:06 +0100 Subject: [PATCH] Fix URL null error when no url is given in event --- .../calendar/events/icalgenerator.service.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/models/calendar/events/icalgenerator.service.ts b/src/models/calendar/events/icalgenerator.service.ts index e4a9aad..643841a 100644 --- a/src/models/calendar/events/icalgenerator.service.ts +++ b/src/models/calendar/events/icalgenerator.service.ts @@ -39,7 +39,9 @@ const serializeIcalEvent = (icalevent: iCalEvent): string => { returnString += 'SUMMARY:' + icalevent.summary; returnString += 'DESCRIPTION:' + icalevent.description; returnString += 'LOCATION:' + icalevent.location; - returnString += 'URL:' + icalevent.url; + if(!isNullOrBlank(icalevent.url)) { + returnString += 'URL:' + icalevent.url; + } returnString += icalevent.footer; return returnString; @@ -82,6 +84,8 @@ const addEventToFile = (ical: iCalFile, event: Event) => { }; const createIcalEvent = (event: Event): iCalEvent => { + let url = event.url ? event.url + '\n' : ''; + return { header: 'BEGIN:VEVENT\n', uid: event.uuid + '\n', @@ -92,7 +96,7 @@ const createIcalEvent = (event: Event): iCalEvent => { summary: event.name + '\n', description: event.description + '\n', location: event.location + '\n', - url: event.url + '\n', + url: url, footer: 'END:VEVENT\n' }; }; @@ -130,3 +134,11 @@ export interface iCalEvent { url: string; footer: string; } + +/** + * Checks if a given string is null, undefined or blank + * @param str The string to check + */ +function isNullOrBlank(str: string | null): boolean { + return str === null || str === undefined || str.trim() === ''; +}