From 870e5faf16e2ea151aa214e0c66b14bd76505aa4 Mon Sep 17 00:00:00 2001 From: Christoph Lukas Date: Sun, 15 Oct 2023 22:05:19 +0200 Subject: [PATCH] Made caldav service work with Zimbra --- src/caldav/caldav.service.ts | 10 +++++++--- src/rules.ts | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/caldav/caldav.service.ts b/src/caldav/caldav.service.ts index 1c449a6..1ac6be7 100644 --- a/src/caldav/caldav.service.ts +++ b/src/caldav/caldav.service.ts @@ -221,11 +221,11 @@ export class CalDAVService { if (err) { throw err; } - const data = result['d:multistatus']['d:response']; + const data = result['D:multistatus']['D:response']; const resultEvents: CalendarEvent[] = []; if (data) { data.forEach((eventXML) => { - const iCalendarData = eventXML['d:propstat'][0]['d:prop'][0]['cal:calendar-data'][0]; + const iCalendarData = eventXML['D:propstat'][0]['D:prop'][0]['C:calendar-data'][0]['_']; const calendarEvent = this.parseToCalendarEvent(iCalendarData); resultEvents.push(calendarEvent); }); @@ -325,6 +325,10 @@ class RecurrenceIterator{ } public next() { - return this._event.getOccurrenceDetails(this._iter.next()); + const next = this._iter.next(); + if (next) + return this._event.getOccurrenceDetails(next); + else + return false; } } diff --git a/src/rules.ts b/src/rules.ts index 4fe9fea..fe67265 100644 --- a/src/rules.ts +++ b/src/rules.ts @@ -1,11 +1,11 @@ import * as config from './config'; export function ShouldCopy(summary: string, markedFree: boolean): boolean { - const forceSharing = summary.includes(config.FORCE_SHARING_SIGN); + const forceSharing = summary && summary.includes(config.FORCE_SHARING_SIGN); return forceSharing || !markedFree; }; export function NewSummary(summary: string, redactedSummary?: string): string { - if (redactedSummary && !summary.includes(config.FORCE_SHARING_SIGN)) return redactedSummary; + if (redactedSummary && summary && !summary.includes(config.FORCE_SHARING_SIGN)) return redactedSummary; return summary; -} \ No newline at end of file +}