From 2de5f57437526043b067a06854711f728379ff0d Mon Sep 17 00:00:00 2001 From: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Date: Thu, 10 Aug 2023 13:28:56 -0400 Subject: [PATCH] perf: Reduce Outlook Calendar & Availability Response Size (#10570) * Getting availability reduce the response size * Add list calendar filter param * Clean up --- .../app-store/office365calendar/lib/CalendarService.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/app-store/office365calendar/lib/CalendarService.ts b/packages/app-store/office365calendar/lib/CalendarService.ts index 3af981fbc1..c4faa5f8ec 100644 --- a/packages/app-store/office365calendar/lib/CalendarService.ts +++ b/packages/app-store/office365calendar/lib/CalendarService.ts @@ -133,6 +133,8 @@ export default class Office365CalendarService implements Calendar { dateFromParsed.toISOString() )}&endDateTime=${encodeURIComponent(dateToParsed.toISOString())}`; + const calendarSelectParams = "$select=showAs,start,end"; + try { const selectedCalendarIds = selectedCalendars .filter((e) => e.integration === this.integrationName) @@ -149,7 +151,7 @@ export default class Office365CalendarService implements Calendar { const requests = ids.map((calendarId, id) => ({ id, method: "GET", - url: `/me/calendars/${calendarId}/calendarView${filter}`, + url: `/me/calendars/${calendarId}/calendarView${filter}&${calendarSelectParams}`, })); const response = await this.apiGraphBatchCall(requests); const responseBody = await this.handleErrorJsonOffice365Calendar(response); @@ -181,8 +183,10 @@ export default class Office365CalendarService implements Calendar { const officeCalendars: OfficeCalendar[] = []; // List calendars from MS are paginated let finishedParsingCalendars = false; + const calendarFilterParam = "$select=id,name,isDefaultCalendar,canEdit"; + // Store @odata.nextLink if in response - let requestLink = "/me/calendars"; + let requestLink = `/me/calendars?${calendarFilterParam}`; while (!finishedParsingCalendars) { const response = await this.fetcher(requestLink);