perf: Reduce Outlook Calendar & Availability Response Size (#10570)

* Getting availability reduce the response size

* Add list calendar filter param

* Clean up
This commit is contained in:
Joe Au-Yeung authored and GitHub committed 2023-08-10 18:28:56 +01:00
1 parent 8bdd835a68
commit 2de5f57437
1 file changed
+6 -2
@@ -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);