nylas
Version:
A NodeJS wrapper for the Nylas REST API for email, contacts, and calendar.
123 lines (122 loc) • 4.43 kB
JavaScript
import { Resource } from './resource.js';
import { makePathParams } from '../utils.js';
/**
* Nylas Notetakers API
*
* The Nylas Notetakers API allows you to invite a Notetaker bot to meetings.
*/
export class Notetakers extends Resource {
/**
* Return all Notetakers
* @param params The parameters to list Notetakers with
* @return The list of Notetakers
*/
list({ identifier, queryParams, overrides, }) {
return super._list({
path: identifier
? makePathParams('/v3/grants/{identifier}/notetakers', { identifier })
: makePathParams('/v3/notetakers', {}),
queryParams,
overrides,
});
}
/**
* Invite a Notetaker to a meeting
* @param params The parameters to create the Notetaker with
* @returns Promise resolving to the created Notetaker
*/
create({ identifier, requestBody, overrides, }) {
return this._create({
path: identifier
? makePathParams('/v3/grants/{identifier}/notetakers', { identifier })
: makePathParams('/v3/notetakers', {}),
requestBody,
overrides,
});
}
/**
* Return a single Notetaker
* @param params The parameters to find the Notetaker with
* @returns Promise resolving to the Notetaker
*/
find({ identifier, notetakerId, overrides, }) {
return this._find({
path: identifier
? makePathParams('/v3/grants/{identifier}/notetakers/{notetakerId}', {
identifier,
notetakerId,
})
: makePathParams('/v3/notetakers/{notetakerId}', { notetakerId }),
overrides,
});
}
/**
* Update a Notetaker
* @param params The parameters to update the Notetaker with
* @returns Promise resolving to the updated Notetaker
*/
update({ identifier, notetakerId, requestBody, overrides, }) {
return this._updatePatch({
path: identifier
? makePathParams('/v3/grants/{identifier}/notetakers/{notetakerId}', {
identifier,
notetakerId,
})
: makePathParams('/v3/notetakers/{notetakerId}', { notetakerId }),
requestBody,
overrides,
});
}
/**
* Cancel a scheduled Notetaker
* @param params The parameters to cancel the Notetaker with
* @returns Promise resolving to the base response with request ID
*/
cancel({ identifier, notetakerId, overrides, }) {
return this._destroy({
path: identifier
? makePathParams('/v3/grants/{identifier}/notetakers/{notetakerId}/cancel', {
identifier,
notetakerId,
})
: makePathParams('/v3/notetakers/{notetakerId}/cancel', {
notetakerId,
}),
overrides,
});
}
/**
* Remove a Notetaker from a meeting
* @param params The parameters to remove the Notetaker from the meeting
* @returns Promise resolving to a response containing the Notetaker ID and a message
*/
leave({ identifier, notetakerId, overrides, }) {
return this.apiClient.request({
method: 'POST',
path: identifier
? makePathParams('/v3/grants/{identifier}/notetakers/{notetakerId}/leave', {
identifier,
notetakerId,
})
: makePathParams('/v3/notetakers/{notetakerId}/leave', { notetakerId }),
overrides,
});
}
/**
* Download media (recording and transcript) from a Notetaker session
* @param params The parameters to download the Notetaker media
* @returns Promise resolving to the media download response with URLs and sizes
*/
downloadMedia({ identifier, notetakerId, overrides, }) {
return this.apiClient.request({
method: 'GET',
path: identifier
? makePathParams('/v3/grants/{identifier}/notetakers/{notetakerId}/media', {
identifier,
notetakerId,
})
: makePathParams('/v3/notetakers/{notetakerId}/media', { notetakerId }),
overrides,
});
}
}