n8n-nodes-base
Version:
Base nodes of n8n
66 lines • 2.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.description = void 0;
exports.execute = execute;
const utilities_1 = require("../../../../utils/utilities");
const descriptions_1 = require("../../descriptions");
const transport_1 = require("../../transport");
const properties = [
descriptions_1.caseRLC,
descriptions_1.attachmentsUi,
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add option',
default: {},
options: [
{
displayName: 'Rename Files',
name: 'canRename',
type: 'boolean',
description: 'Whether to rename the file in case a file with the same name already exists',
default: false,
},
],
},
];
const displayOptions = {
show: {
resource: ['case'],
operation: ['addAttachment'],
},
};
exports.description = (0, utilities_1.updateDisplayOptions)(displayOptions, properties);
async function execute(i) {
let responseData = [];
const caseId = this.getNodeParameter('caseId', i, '', { extractValue: true });
const canRename = this.getNodeParameter('options.canRename', i, false);
const inputDataFields = this.getNodeParameter('attachmentsUi.values', i, []).map((entry) => entry.field.trim());
const attachments = [];
for (const inputDataField of inputDataFields) {
const binaryData = this.helpers.assertBinaryData(i, inputDataField);
const dataBuffer = await this.helpers.getBinaryDataBuffer(i, inputDataField);
attachments.push({
value: dataBuffer,
options: {
contentType: binaryData.mimeType,
filename: binaryData.fileName,
},
});
}
responseData = await transport_1.theHiveApiRequest.call(this, 'POST', `/v1/case/${caseId}/attachments`, undefined, undefined, undefined, {
Headers: {
'Content-Type': 'multipart/form-data',
},
formData: {
attachments,
canRename: JSON.stringify(canRename),
},
});
const executionData = this.helpers.constructExecutionMetaData((0, utilities_1.wrapData)(responseData), {
itemData: { item: i },
});
return executionData;
}
//# sourceMappingURL=addAttachment.operation.js.map