UNPKG

@pnp/cli-microsoft365

Version:

Manage Microsoft 365 and SharePoint Framework projects on any platform

37 lines 1.7 kB
import { odata } from './odata.js'; import { formatting } from './formatting.js'; import { cli } from '../cli/cli.js'; import request from '../request.js'; export const calendar = { async getUserCalendarById(userId, calendarId, calendarGroupId, properties) { let url = `https://graph.microsoft.com/v1.0/users('${userId}')/${calendarGroupId ? `calendarGroups/${calendarGroupId}/` : ''}calendars/${calendarId}`; if (properties) { url += `?$select=${properties}`; } const requestOptions = { url: url, headers: { accept: 'application/json;odata.metadata=none' }, responseType: 'json' }; return await request.get(requestOptions); }, async getUserCalendarByName(userId, name, calendarGroupId, properties) { let url = `https://graph.microsoft.com/v1.0/users('${userId}')/${calendarGroupId ? `calendarGroups/${calendarGroupId}/` : ''}calendars?$filter=name eq '${formatting.encodeQueryParameter(name)}'`; if (properties) { url += `&$select=${properties}`; } const calendars = await odata.getAllItems(url); if (calendars.length === 0) { throw new Error(`The specified calendar '${name}' does not exist.`); } if (calendars.length > 1) { const resultAsKeyValuePair = formatting.convertArrayToHashTable('id', calendars); const selectedCalendar = await cli.handleMultipleResultsFound(`Multiple calendars with name '${name}' found.`, resultAsKeyValuePair); return selectedCalendar; } return calendars[0]; } }; //# sourceMappingURL=calendar.js.map