nylas
Version:
A NodeJS wrapper for the Nylas REST API for email, contacts, and calendar.
59 lines (58 loc) • 2.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Attachments = void 0;
const utils_js_1 = require("../utils.js");
const resource_js_1 = require("./resource.js");
/**
* Nylas Attachments API
*
* The Nylas Attachments API allows you to retrieve metadata and download attachments.
*/
class Attachments extends resource_js_1.Resource {
/**
* Returns an attachment by ID.
* @return The Attachment metadata
*/
find({ identifier, attachmentId, queryParams, overrides, }) {
return super._find({
path: (0, utils_js_1.makePathParams)('/v3/grants/{identifier}/attachments/{attachmentId}', { identifier, attachmentId }),
queryParams,
overrides,
});
}
/**
* Download the attachment data
*
* This method returns a NodeJS.ReadableStream which can be used to stream the attachment data.
* This is particularly useful for handling large attachments efficiently, as it avoids loading
* the entire file into memory. The stream can be piped to a file stream or used in any other way
* that Node.js streams are typically used.
*
* @param identifier Grant ID or email account to query
* @param attachmentId The id of the attachment to download.
* @param queryParams The query parameters to include in the request
* @returns {NodeJS.ReadableStream} The ReadableStream containing the file data.
*/
download({ identifier, attachmentId, queryParams, overrides, }) {
return this._getStream({
path: (0, utils_js_1.makePathParams)('/v3/grants/{identifier}/attachments/{attachmentId}/download', { identifier, attachmentId }),
queryParams,
overrides,
});
}
/**
* Download the attachment as a byte array
* @param identifier Grant ID or email account to query
* @param attachmentId The id of the attachment to download.
* @param queryParams The query parameters to include in the request
* @return The raw file data
*/
downloadBytes({ identifier, attachmentId, queryParams, overrides, }) {
return super._getRaw({
path: (0, utils_js_1.makePathParams)('/v3/grants/{identifier}/attachments/{attachmentId}/download', { identifier, attachmentId }),
queryParams,
overrides,
});
}
}
exports.Attachments = Attachments;