nylas
Version:
A NodeJS wrapper for the Nylas REST API for email, contacts, and calendar.
103 lines (102 loc) • 3.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Calendars = void 0;
const resource_js_1 = require("./resource.js");
const utils_js_1 = require("../utils.js");
/**
* Nylas Calendar API
*
* The Nylas calendar API allows you to create new calendars or manage existing ones.
* A calendar can be accessed by one, or several people, and can contain events.
*/
class Calendars extends resource_js_1.Resource {
/**
* Return all Calendars
* @return A list of calendars
*/
list({ identifier, queryParams, overrides, }) {
return super._list({
queryParams,
overrides,
path: (0, utils_js_1.makePathParams)('/v3/grants/{identifier}/calendars', { identifier }),
});
}
/**
* Return a Calendar
* @return The calendar
*/
find({ identifier, calendarId, overrides, }) {
return super._find({
path: (0, utils_js_1.makePathParams)('/v3/grants/{identifier}/calendars/{calendarId}', {
identifier,
calendarId,
}),
overrides,
});
}
/**
* Create a Calendar
* @return The created calendar
*/
create({ identifier, requestBody, overrides, }) {
return super._create({
path: (0, utils_js_1.makePathParams)('/v3/grants/{identifier}/calendars', { identifier }),
requestBody,
overrides,
});
}
/**
* Update a Calendar
* @return The updated Calendar
*/
update({ calendarId, identifier, requestBody, overrides, }) {
return super._update({
path: (0, utils_js_1.makePathParams)('/v3/grants/{identifier}/calendars/{calendarId}', {
identifier,
calendarId,
}),
requestBody,
overrides,
});
}
/**
* Delete a Calendar
* @return The deleted Calendar
*/
destroy({ identifier, calendarId, overrides, }) {
return super._destroy({
path: (0, utils_js_1.makePathParams)('/v3/grants/{identifier}/calendars/{calendarId}', {
identifier,
calendarId,
}),
overrides,
});
}
/**
* Get Availability for a given account / accounts
* @return The availability response
*/
getAvailability({ requestBody, overrides, }) {
return this.apiClient.request({
method: 'POST',
path: (0, utils_js_1.makePathParams)('/v3/calendars/availability', {}),
body: requestBody,
overrides,
});
}
/**
* Get the free/busy schedule for a list of email addresses
* @return The free/busy response
*/
getFreeBusy({ identifier, requestBody, overrides, }) {
return this.apiClient.request({
method: 'POST',
path: (0, utils_js_1.makePathParams)('/v3/grants/{identifier}/calendars/free-busy', {
identifier,
}),
body: requestBody,
overrides,
});
}
}
exports.Calendars = Calendars;