From 27c29c65e2d3f34bc73e81cd2bfd72bc8ff7f1a9 Mon Sep 17 00:00:00 2001 From: Alex van Andel Date: Sat, 18 Mar 2023 22:47:15 +0100 Subject: [PATCH] Bugfix/format without time zone (#7820) * Format Office365 as non-UTC (defer to timeZone) * Ensure the start_time is provided in UTC --- packages/app-store/office365calendar/lib/CalendarService.ts | 5 ++--- packages/app-store/zoomvideo/lib/VideoApiAdapter.ts | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/app-store/office365calendar/lib/CalendarService.ts b/packages/app-store/office365calendar/lib/CalendarService.ts index 50c54eff73..64dd723048 100644 --- a/packages/app-store/office365calendar/lib/CalendarService.ts +++ b/packages/app-store/office365calendar/lib/CalendarService.ts @@ -253,7 +253,6 @@ export default class Office365CalendarService implements Calendar { }; private translateEvent = (event: CalendarEvent) => { - const utcOffset = dayjs(event.startTime).tz(event.organizer.timeZone).utcOffset() / 60; return { subject: event.title, body: { @@ -261,11 +260,11 @@ export default class Office365CalendarService implements Calendar { content: getRichDescription(event), }, start: { - dateTime: dayjs(event.startTime).utcOffset(utcOffset).format(), + dateTime: dayjs(event.startTime).tz(event.organizer.timeZone).format("YYYY-MM-DDTHH:mm:ss"), timeZone: event.organizer.timeZone, }, end: { - dateTime: dayjs(event.endTime).utcOffset(utcOffset).format(), + dateTime: dayjs(event.endTime).tz(event.organizer.timeZone).format("YYYY-MM-DDTHH:mm:ss"), timeZone: event.organizer.timeZone, }, attendees: event.attendees.map((attendee) => ({ diff --git a/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts b/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts index df637170d2..2b12f84969 100644 --- a/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts +++ b/packages/app-store/zoomvideo/lib/VideoApiAdapter.ts @@ -196,12 +196,11 @@ const ZoomVideoApiAdapter = (credential: CredentialPayload): VideoApiAdapter => }; const recurrence = getRecurrence(event); - const utcOffset = dayjs(event.startTime).tz(event.organizer.timeZone).utcOffset() / 60; // Documentation at: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate return { topic: event.title, type: 2, // Means that this is a scheduled meeting - start_time: dayjs(event.startTime).utcOffset(utcOffset).format(), + start_time: dayjs(event.startTime).utc().format(), duration: (new Date(event.endTime).getTime() - new Date(event.startTime).getTime()) / 60000, //schedule_for: "string", TODO: Used when scheduling the meeting for someone else (needed?) timezone: event.organizer.timeZone,