@pnp/cli-microsoft365
Version:
Manage Microsoft 365 and SharePoint Framework projects on any platform
37 lines • 1.7 kB
JavaScript
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