UNPKG

nylas

Version:

A NodeJS wrapper for the Nylas REST API for email, contacts, and calendar.

103 lines (102 loc) 3.14 kB
"use strict"; 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;