n8n-nodes-feishu-lark
Version:
n8n custom nodes for n8n to interact with Feishu/Lark, including Lark Bot, Lark MCP, and Lark Trigger.
50 lines • 1.93 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const RequestUtils_1 = __importDefault(require("../../../help/utils/RequestUtils"));
const wording_1 = require("../../../help/wording");
const description_1 = require("../../../help/description");
exports.default = {
name: wording_1.WORDING.DownloadFile,
value: "downloadFile",
order: 190,
options: [
description_1.DESCRIPTIONS.RESOURCE_KEY,
description_1.DESCRIPTIONS.OUTPUT_AS_BINARY,
{
displayName: `<a target="_blank" href="https://open.feishu.cn/document/server-docs/im-v1/file/get">${wording_1.WORDING.OpenDocument}</a>`,
name: 'notice',
type: 'notice',
default: '',
},
],
async call(index) {
const resourceKey = this.getNodeParameter('file_key', index);
const outputAsBinary = this.getNodeParameter('outputAsBinary', index, true);
const buffer = await RequestUtils_1.default.request.call(this, {
method: 'GET',
url: `/open-apis/im/v1/files/${resourceKey}`,
encoding: 'arraybuffer',
json: false,
});
const binaryData = await this.helpers.prepareBinaryData(buffer);
if (outputAsBinary) {
return {
outputType: "binary",
binaryData,
binaryPropertyName: 'data',
};
}
const base64Data = Buffer.from(buffer).toString('base64');
return {
data: base64Data,
mimeType: binaryData.mimeType,
fileName: binaryData.fileName,
fileExtension: binaryData.fileExtension,
fileSize: binaryData.fileSize,
};
},
};
//# sourceMappingURL=FileDownload.operation.js.map