n8n-nodes-base
Version:
Base nodes of n8n
84 lines • 3.06 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 utils_1 = require("../../helpers/utils");
const transport_1 = require("../../transport");
const properties = [
descriptions_1.taskRLC,
{
displayName: 'Fields',
name: 'logFields',
type: 'resourceMapper',
default: {
mappingMode: 'defineBelow',
value: null,
},
noDataExpression: true,
required: true,
typeOptions: {
resourceMapper: {
resourceMapperMethod: 'getLogFields',
mode: 'add',
valuesLabel: 'Fields',
},
},
},
descriptions_1.attachmentsUi,
];
const displayOptions = {
show: {
resource: ['log'],
operation: ['create'],
},
};
exports.description = (0, utilities_1.updateDisplayOptions)(displayOptions, properties);
async function execute(i, item) {
let responseData = [];
let body = {};
const dataMode = this.getNodeParameter('logFields.mappingMode', i);
const taskId = this.getNodeParameter('taskId', i, '', { extractValue: true });
if (dataMode === 'autoMapInputData') {
const schema = this.getNodeParameter('logFields.schema', i);
body = (0, utils_1.prepareInputItem)(item.json, schema, i);
}
if (dataMode === 'defineBelow') {
const logFields = this.getNodeParameter('logFields.value', i, []);
body = logFields;
}
body = (0, utils_1.fixFieldType)(body);
const inputDataFields = this.getNodeParameter('attachmentsUi.values', i, []).map((entry) => entry.field.trim());
if (inputDataFields.length) {
const binaries = [];
for (const inputDataField of inputDataFields) {
const binaryData = this.helpers.assertBinaryData(i, inputDataField);
const dataBuffer = await this.helpers.getBinaryDataBuffer(i, inputDataField);
binaries.push({
value: dataBuffer,
options: {
contentType: binaryData.mimeType,
filename: binaryData.fileName,
},
});
}
responseData = await transport_1.theHiveApiRequest.call(this, 'POST', `/v1/task/${taskId}/log`, undefined, undefined, undefined, {
Headers: {
'Content-Type': 'multipart/form-data',
},
formData: {
attachments: binaries,
_json: JSON.stringify(body),
},
});
}
else {
responseData = await transport_1.theHiveApiRequest.call(this, 'POST', `/v1/task/${taskId}/log`, body);
}
const executionData = this.helpers.constructExecutionMetaData((0, utilities_1.wrapData)(responseData), {
itemData: { item: i },
});
return executionData;
}
//# sourceMappingURL=create.operation.js.map