UNPKG

@n8n/n8n-nodes-langchain

Version:

![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

100 lines 3.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.description = exports.properties = void 0; exports.execute = execute; const n8n_workflow_1 = require("n8n-workflow"); const utils_1 = require("../../helpers/utils"); exports.properties = [ { displayName: 'Input Type', name: 'inputType', type: 'options', default: 'url', options: [ { name: 'File URL', value: 'url', }, { name: 'Binary File', value: 'binary', }, ], }, { displayName: 'URL', name: 'fileUrl', type: 'string', placeholder: 'e.g. https://example.com/file.pdf', description: 'URL of the file to upload', default: '', displayOptions: { show: { inputType: ['url'], }, }, }, { displayName: 'Input Data Field Name', name: 'binaryPropertyName', type: 'string', default: 'data', placeholder: 'e.g. data', hint: 'The name of the input field containing the binary file data to be processed', description: 'Name of the binary field which contains the file', displayOptions: { show: { inputType: ['binary'], }, }, }, { displayName: 'Options', name: 'options', type: 'collection', placeholder: 'Add Option', default: {}, options: [ { displayName: 'File Name', name: 'fileName', type: 'string', description: 'The file name to use for the uploaded file', default: '', }, ], }, ]; const displayOptions = { show: { operation: ['upload'], resource: ['file'], }, }; exports.description = (0, n8n_workflow_1.updateDisplayOptions)(displayOptions, exports.properties); async function execute(i) { const inputType = this.getNodeParameter('inputType', i, 'url'); const fileName = this.getNodeParameter('options.fileName', i, 'file'); const baseUrl = await utils_1.getBaseUrl.call(this); let response; if (inputType === 'url') { const fileUrl = this.getNodeParameter('fileUrl', i, ''); const { fileContent, mimeType } = await utils_1.downloadFile.call(this, fileUrl); response = await utils_1.uploadFile.call(this, fileContent, mimeType, fileName); } else { const binaryPropertyName = this.getNodeParameter('binaryPropertyName', i, 'data'); const binaryData = this.helpers.assertBinaryData(i, binaryPropertyName); const buffer = await this.helpers.getBinaryDataBuffer(i, binaryPropertyName); response = await utils_1.uploadFile.call(this, buffer, binaryData.mimeType, fileName); } return [ { json: { ...response, url: `${baseUrl}/v1/files/${response.id}` }, pairedItem: { item: i, }, }, ]; } //# sourceMappingURL=upload.operation.js.map