n8n-core 1.12.1 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/generate-ui-types +16 -0
- package/dist/BinaryData/BinaryData.service.js +2 -1
- package/dist/BinaryData/BinaryData.service.js.map +1 -1
- package/dist/BinaryData/ObjectStore.manager.d.ts +0 -1
- package/dist/BinaryData/ObjectStore.manager.js +0 -6
- package/dist/BinaryData/ObjectStore.manager.js.map +1 -1
- package/dist/BinaryData/types.d.ts +1 -1
- package/dist/Cipher.d.ts +7 -0
- package/dist/Cipher.js +32 -0
- package/dist/Cipher.js.map +1 -0
- package/dist/Constants.d.ts +0 -10
- package/dist/Constants.js +1 -11
- package/dist/Constants.js.map +1 -1
- package/dist/Credentials.d.ts +4 -5
- package/dist/Credentials.js +11 -27
- package/dist/Credentials.js.map +1 -1
- package/dist/InstanceSettings.d.ts +20 -0
- package/dist/InstanceSettings.js +76 -0
- package/dist/InstanceSettings.js.map +1 -0
- package/dist/Interfaces.d.ts +0 -5
- package/dist/NodeExecuteFunctions.js +9 -6
- package/dist/NodeExecuteFunctions.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/UserSettings.d.ts +0 -12
- package/dist/UserSettings.js +0 -164
- package/dist/UserSettings.js.map +0 -1
package/bin/generate-ui-types
CHANGED
|
@@ -26,6 +26,21 @@ function findReferencedMethods(obj, refs = {}, latestName = '') {
|
|
|
26
26
|
return refs;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
function addWebhookLifecycle(nodeType) {
|
|
30
|
+
if (nodeType.description.webhooks) {
|
|
31
|
+
nodeType.description.webhooks = nodeType.description.webhooks.map((webhook) => {
|
|
32
|
+
const webhookMethods =
|
|
33
|
+
nodeType?.webhookMethods?.[webhook.name] ?? nodeType?.webhookMethods?.default;
|
|
34
|
+
webhook.hasLifecycleMethods = Boolean(
|
|
35
|
+
webhookMethods?.checkExists && webhookMethods?.create && webhookMethods?.delete,
|
|
36
|
+
);
|
|
37
|
+
return webhook;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return nodeType;
|
|
42
|
+
}
|
|
43
|
+
|
|
29
44
|
(async () => {
|
|
30
45
|
const loader = new PackageDirectoryLoader(packageDir);
|
|
31
46
|
await loader.loadAll();
|
|
@@ -57,6 +72,7 @@ function findReferencedMethods(obj, refs = {}, latestName = '') {
|
|
|
57
72
|
.map((data) => {
|
|
58
73
|
const nodeType = NodeHelpers.getVersionedNodeType(data.type);
|
|
59
74
|
NodeHelpers.applySpecialNodeParameters(nodeType);
|
|
75
|
+
addWebhookLifecycle(nodeType);
|
|
60
76
|
return data.type;
|
|
61
77
|
})
|
|
62
78
|
.flatMap((nodeData) => {
|
|
@@ -127,7 +127,8 @@ let BinaryDataService = class BinaryDataService {
|
|
|
127
127
|
const manager = this.managers[this.mode];
|
|
128
128
|
if (!manager)
|
|
129
129
|
return;
|
|
130
|
-
|
|
130
|
+
if (manager.deleteMany)
|
|
131
|
+
await manager.deleteMany(ids);
|
|
131
132
|
}
|
|
132
133
|
async duplicateBinaryData(workflowId, executionId, inputData) {
|
|
133
134
|
if (inputData && this.managers[this.mode]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryData.service.js","sourceRoot":"","sources":["../../src/BinaryData/BinaryData.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+CAAkD;AAClD,gEAAuC;AACvC,iDAA4C;AAC5C,+CAAmF;AACnF,qCAAiE;AACjE,mCAAmD;AACnD,yEAA4D;AAOrD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAAvB;QACE,SAAI,GAA2B,SAAS,CAAC;QAEzC,aAAQ,GAAuC,EAAE,CAAC;IA2O3D,CAAC;IAzOA,KAAK,CAAC,IAAI,CAAC,MAAyB;QACnC,IAAI,CAAC,IAAA,sBAAc,EAAC,MAAM,CAAC,cAAc,CAAC;YAAE,MAAM,IAAI,yBAAgB,EAAE,CAAC;QAEzE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAEzE,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YACjD,MAAM,EAAE,iBAAiB,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;YAEnE,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAE1D,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SACtC;QAED,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACzC,MAAM,EAAE,kBAAkB,EAAE,GAAG,wDAAa,uBAAuB,GAAC,CAAC;YACrE,MAAM,EAAE,kBAAkB,EAAE,GAAG,wDAAa,uCAAuC,GAAC,CAAC;YAErF,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,kBAAkB,CAAC,gBAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAE7E,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;SAC9B;IACF,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CACnB,UAAkB,EAClB,WAAmB,EACnB,UAAuB,EACvB,QAAgB;QAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,OAAO,EAAE;YACb,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,eAAI,EAAC,QAAQ,CAAC,CAAC;YACtC,UAAU,CAAC,QAAQ,GAAG,IAAA,sBAAW,EAAC,IAAI,CAAC,CAAC;YACxC,UAAU,CAAC,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,8BAAe,EAAE,CAAC,CAAC;YAE1E,OAAO,UAAU,CAAC;SAClB;QAED,MAAM,QAAQ,GAAG;YAChB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC7B,CAAC;QAEF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,cAAc,CACxD,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,CACR,CAAC;QAEF,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,UAAU,CAAC,QAAQ,GAAG,IAAA,sBAAW,EAAC,QAAQ,CAAC,CAAC;QAC5C,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAE5B,OAAO,UAAU,CAAC;IACnB,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK,CACV,UAAkB,EAClB,WAAmB,EACnB,cAAiC,EACjC,UAAuB;QAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,OAAO,EAAE;YACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACnD,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,8BAAe,CAAC,CAAC;YACnD,UAAU,CAAC,QAAQ,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEjD,OAAO,UAAU,CAAC;SAClB;QAED,MAAM,QAAQ,GAAG;YAChB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC7B,CAAC;QAEF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAC/C,UAAU,EACV,WAAW,EACX,cAAc,EACd,QAAQ,CACR,CAAC;QAEF,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,UAAU,CAAC,QAAQ,GAAG,IAAA,sBAAW,EAAC,QAAQ,CAAC,CAAC;QAC5C,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAE5B,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,cAAiC;QAC/C,OAAO,IAAA,gBAAQ,EAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,YAAoB,EAAE,SAAkB;QACzD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAuB;QACxC,IAAI,UAAU,CAAC,EAAE,EAAE;YAClB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEhD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACjD;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,8BAAe,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,YAAoB;QAC3B,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,YAAoB;QACrC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAA8B;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"BinaryData.service.js","sourceRoot":"","sources":["../../src/BinaryData/BinaryData.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,6 @@ export declare class ObjectStoreManager implements BinaryData.Manager {
|
|
|
20
20
|
fileId: string;
|
|
21
21
|
fileSize: number;
|
|
22
22
|
}>;
|
|
23
|
-
deleteMany(ids: BinaryData.IdsForDeletion): Promise<void>;
|
|
24
23
|
rename(oldFileId: string, newFileId: string): Promise<void>;
|
|
25
24
|
private toFileId;
|
|
26
25
|
private toBuffer;
|
|
@@ -61,12 +61,6 @@ let ObjectStoreManager = class ObjectStoreManager {
|
|
|
61
61
|
await this.objectStoreService.put(targetFileId, sourceFile, metadata);
|
|
62
62
|
return { fileId: targetFileId, fileSize: sourceFile.length };
|
|
63
63
|
}
|
|
64
|
-
async deleteMany(ids) {
|
|
65
|
-
const prefixes = ids.map(({ workflowId, executionId }) => `workflows/${workflowId}/executions/${executionId}/binary_data/`);
|
|
66
|
-
await Promise.all(prefixes.map(async (prefix) => {
|
|
67
|
-
await this.objectStoreService.deleteMany(prefix);
|
|
68
|
-
}));
|
|
69
|
-
}
|
|
70
64
|
async rename(oldFileId, newFileId) {
|
|
71
65
|
const oldFile = await this.objectStoreService.get(oldFileId, { mode: 'buffer' });
|
|
72
66
|
const oldFileMetadata = await this.objectStoreService.getMetadata(oldFileId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectStore.manager.js","sourceRoot":"","sources":["../../src/BinaryData/ObjectStore.manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAkC;AAClC,mCAAiC;AACjC,+BAAkC;AAClC,mCAAmC;AACnC,kFAA2E;AAMpE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC9B,YAA6B,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAEvE,KAAK,CAAC,IAAI;QACT,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,KAAK,CACV,UAAkB,EAClB,WAAmB,EACnB,cAAiC,EACjC,QAAqC;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEnD,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,MAAc;QACrB,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC/B,MAAM,EACL,gBAAgB,EAAE,aAAa,EAC/B,cAAc,EAAE,WAAW,EAC3B,qBAAqB,EAAE,QAAQ,GAC/B,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEtD,MAAM,QAAQ,GAAwB,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAE1E,IAAI,WAAW;YAAE,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAC;QACjD,IAAI,QAAQ;YAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE3C,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,WAAmB,EAAE,YAAoB;QAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAE5D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvF,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAE5D,OAAO,YAAY,CAAC;IACrB,CAAC;IAKD,KAAK,CAAC,cAAc,CACnB,UAAkB,EAClB,WAAmB,EACnB,UAAkB,EAClB,QAAqC;QAErC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEjD,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEtE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"ObjectStore.manager.js","sourceRoot":"","sources":["../../src/BinaryData/ObjectStore.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ export declare namespace BinaryData {
|
|
|
33
33
|
getAsBuffer(fileId: string): Promise<Buffer>;
|
|
34
34
|
getAsStream(fileId: string, chunkSize?: number): Promise<Readable>;
|
|
35
35
|
getMetadata(fileId: string): Promise<Metadata>;
|
|
36
|
-
deleteMany(ids: IdsForDeletion): Promise<void>;
|
|
36
|
+
deleteMany?(ids: IdsForDeletion): Promise<void>;
|
|
37
37
|
copyByFileId(workflowId: string, executionId: string, sourceFileId: string): Promise<string>;
|
|
38
38
|
copyByFilePath(workflowId: string, executionId: string, sourcePath: string, metadata: PreWriteMetadata): Promise<WriteResult>;
|
|
39
39
|
rename(oldFileId: string, newFileId: string): Promise<void>;
|
package/dist/Cipher.d.ts
ADDED
package/dist/Cipher.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Cipher = void 0;
|
|
13
|
+
const typedi_1 = require("typedi");
|
|
14
|
+
const crypto_js_1 = require("crypto-js");
|
|
15
|
+
const InstanceSettings_1 = require("./InstanceSettings");
|
|
16
|
+
let Cipher = class Cipher {
|
|
17
|
+
constructor(instanceSettings) {
|
|
18
|
+
this.instanceSettings = instanceSettings;
|
|
19
|
+
}
|
|
20
|
+
encrypt(data) {
|
|
21
|
+
return crypto_js_1.AES.encrypt(typeof data === 'string' ? data : JSON.stringify(data), this.instanceSettings.encryptionKey).toString();
|
|
22
|
+
}
|
|
23
|
+
decrypt(data) {
|
|
24
|
+
return crypto_js_1.AES.decrypt(data, this.instanceSettings.encryptionKey).toString(crypto_js_1.enc.Utf8);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
exports.Cipher = Cipher;
|
|
28
|
+
exports.Cipher = Cipher = __decorate([
|
|
29
|
+
(0, typedi_1.Service)(),
|
|
30
|
+
__metadata("design:paramtypes", [InstanceSettings_1.InstanceSettings])
|
|
31
|
+
], Cipher);
|
|
32
|
+
//# sourceMappingURL=Cipher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cipher.js","sourceRoot":"","sources":["../src/Cipher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAiC;AACjC,yCAAqC;AACrC,yDAAsD;AAG/C,IAAM,MAAM,GAAZ,MAAM,MAAM;IAClB,YAA6B,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAEnE,OAAO,CAAC,IAAqB;QAC5B,OAAO,eAAG,CAAC,OAAO,CACjB,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACtD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CACnC,CAAC,QAAQ,EAAE,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAY;QACnB,OAAO,eAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,eAAG,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC;CACD,CAAA;AAbY,wBAAM;iBAAN,MAAM;IADlB,IAAA,gBAAO,GAAE;qCAEsC,mCAAgB;GADnD,MAAM,CAalB"}
|
package/dist/Constants.d.ts
CHANGED
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
export declare const CUSTOM_EXTENSION_ENV = "N8N_CUSTOM_EXTENSIONS";
|
|
2
|
-
export declare const DOWNLOADED_NODES_SUBDIRECTORY = "nodes";
|
|
3
|
-
export declare const ENCRYPTION_KEY_ENV_OVERWRITE = "N8N_ENCRYPTION_KEY";
|
|
4
|
-
export declare const EXTENSIONS_SUBDIRECTORY = "custom";
|
|
5
|
-
export declare const USER_FOLDER_ENV_OVERWRITE = "N8N_USER_FOLDER";
|
|
6
|
-
export declare const USER_SETTINGS_FILE_NAME = "config";
|
|
7
|
-
export declare const USER_SETTINGS_SUBFOLDER = ".n8n";
|
|
8
2
|
export declare const PLACEHOLDER_EMPTY_EXECUTION_ID = "__UNKNOWN__";
|
|
9
3
|
export declare const PLACEHOLDER_EMPTY_WORKFLOW_ID = "__EMPTY__";
|
|
10
|
-
export declare const TUNNEL_SUBDOMAIN_ENV = "N8N_TUNNEL_SUBDOMAIN";
|
|
11
|
-
export declare const RESPONSE_ERROR_MESSAGES: {
|
|
12
|
-
NO_ENCRYPTION_KEY: string;
|
|
13
|
-
};
|
|
14
4
|
export declare const CUSTOM_NODES_CATEGORY = "Custom Nodes";
|
|
15
5
|
export declare const RESTRICT_FILE_ACCESS_TO = "N8N_RESTRICT_FILE_ACCESS_TO";
|
|
16
6
|
export declare const BLOCK_FILE_ACCESS_TO_N8N_FILES = "N8N_BLOCK_FILE_ACCESS_TO_N8N_FILES";
|
package/dist/Constants.js
CHANGED
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UM_EMAIL_TEMPLATES_PWRESET = exports.UM_EMAIL_TEMPLATES_INVITE = exports.BINARY_DATA_STORAGE_PATH = exports.CONFIG_FILES = exports.BLOCK_FILE_ACCESS_TO_N8N_FILES = exports.RESTRICT_FILE_ACCESS_TO = exports.CUSTOM_NODES_CATEGORY = exports.
|
|
3
|
+
exports.UM_EMAIL_TEMPLATES_PWRESET = exports.UM_EMAIL_TEMPLATES_INVITE = exports.BINARY_DATA_STORAGE_PATH = exports.CONFIG_FILES = exports.BLOCK_FILE_ACCESS_TO_N8N_FILES = exports.RESTRICT_FILE_ACCESS_TO = exports.CUSTOM_NODES_CATEGORY = exports.PLACEHOLDER_EMPTY_WORKFLOW_ID = exports.PLACEHOLDER_EMPTY_EXECUTION_ID = exports.CUSTOM_EXTENSION_ENV = void 0;
|
|
4
4
|
exports.CUSTOM_EXTENSION_ENV = 'N8N_CUSTOM_EXTENSIONS';
|
|
5
|
-
exports.DOWNLOADED_NODES_SUBDIRECTORY = 'nodes';
|
|
6
|
-
exports.ENCRYPTION_KEY_ENV_OVERWRITE = 'N8N_ENCRYPTION_KEY';
|
|
7
|
-
exports.EXTENSIONS_SUBDIRECTORY = 'custom';
|
|
8
|
-
exports.USER_FOLDER_ENV_OVERWRITE = 'N8N_USER_FOLDER';
|
|
9
|
-
exports.USER_SETTINGS_FILE_NAME = 'config';
|
|
10
|
-
exports.USER_SETTINGS_SUBFOLDER = '.n8n';
|
|
11
5
|
exports.PLACEHOLDER_EMPTY_EXECUTION_ID = '__UNKNOWN__';
|
|
12
6
|
exports.PLACEHOLDER_EMPTY_WORKFLOW_ID = '__EMPTY__';
|
|
13
|
-
exports.TUNNEL_SUBDOMAIN_ENV = 'N8N_TUNNEL_SUBDOMAIN';
|
|
14
|
-
exports.RESPONSE_ERROR_MESSAGES = {
|
|
15
|
-
NO_ENCRYPTION_KEY: 'Encryption key is missing or was not set',
|
|
16
|
-
};
|
|
17
7
|
exports.CUSTOM_NODES_CATEGORY = 'Custom Nodes';
|
|
18
8
|
exports.RESTRICT_FILE_ACCESS_TO = 'N8N_RESTRICT_FILE_ACCESS_TO';
|
|
19
9
|
exports.BLOCK_FILE_ACCESS_TO_N8N_FILES = 'N8N_BLOCK_FILE_ACCESS_TO_N8N_FILES';
|
package/dist/Constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constants.js","sourceRoot":"","sources":["../src/Constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,uBAAuB,CAAC;AAC/C,QAAA,
|
|
1
|
+
{"version":3,"file":"Constants.js","sourceRoot":"","sources":["../src/Constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,uBAAuB,CAAC;AAC/C,QAAA,8BAA8B,GAAG,aAAa,CAAC;AAC/C,QAAA,6BAA6B,GAAG,WAAW,CAAC;AAE5C,QAAA,qBAAqB,GAAG,cAAc,CAAC;AAEvC,QAAA,uBAAuB,GAAG,6BAA6B,CAAC;AACxD,QAAA,8BAA8B,GAAG,oCAAoC,CAAC;AACtE,QAAA,YAAY,GAAG,kBAAkB,CAAC;AAClC,QAAA,wBAAwB,GAAG,8BAA8B,CAAC;AAC1D,QAAA,yBAAyB,GAAG,+BAA+B,CAAC;AAC5D,QAAA,0BAA0B,GAAG,gCAAgC,CAAC"}
|
package/dist/Credentials.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ICredentialDataDecryptedObject, ICredentialsEncrypted } from 'n8n-workflow';
|
|
2
2
|
import { ICredentials } from 'n8n-workflow';
|
|
3
3
|
export declare class Credentials extends ICredentials {
|
|
4
|
+
private readonly cipher;
|
|
4
5
|
hasNodeAccess(nodeType: string): boolean;
|
|
5
|
-
setData(data: ICredentialDataDecryptedObject
|
|
6
|
-
|
|
7
|
-
getData(encryptionKey: string, nodeType?: string): ICredentialDataDecryptedObject;
|
|
8
|
-
getDataKey(key: string, encryptionKey: string, nodeType?: string): CredentialInformation;
|
|
6
|
+
setData(data: ICredentialDataDecryptedObject): void;
|
|
7
|
+
getData(nodeType?: string): ICredentialDataDecryptedObject;
|
|
9
8
|
getDataToSave(): ICredentialsEncrypted;
|
|
10
9
|
}
|
package/dist/Credentials.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Credentials = void 0;
|
|
4
|
+
const typedi_1 = require("typedi");
|
|
4
5
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
-
const
|
|
6
|
+
const Cipher_1 = require("./Cipher");
|
|
6
7
|
class Credentials extends n8n_workflow_1.ICredentials {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.cipher = typedi_1.Container.get(Cipher_1.Cipher);
|
|
11
|
+
}
|
|
7
12
|
hasNodeAccess(nodeType) {
|
|
8
13
|
for (const accessData of this.nodesAccess) {
|
|
9
14
|
if (accessData.nodeType === nodeType) {
|
|
@@ -12,45 +17,24 @@ class Credentials extends n8n_workflow_1.ICredentials {
|
|
|
12
17
|
}
|
|
13
18
|
return false;
|
|
14
19
|
}
|
|
15
|
-
setData(data
|
|
16
|
-
this.data =
|
|
20
|
+
setData(data) {
|
|
21
|
+
this.data = this.cipher.encrypt(data);
|
|
17
22
|
}
|
|
18
|
-
|
|
19
|
-
let fullData;
|
|
20
|
-
try {
|
|
21
|
-
fullData = this.getData(encryptionKey);
|
|
22
|
-
}
|
|
23
|
-
catch (e) {
|
|
24
|
-
fullData = {};
|
|
25
|
-
}
|
|
26
|
-
fullData[key] = data;
|
|
27
|
-
return this.setData(fullData, encryptionKey);
|
|
28
|
-
}
|
|
29
|
-
getData(encryptionKey, nodeType) {
|
|
23
|
+
getData(nodeType) {
|
|
30
24
|
if (nodeType && !this.hasNodeAccess(nodeType)) {
|
|
31
25
|
throw new Error(`The node of type "${nodeType}" does not have access to credentials "${this.name}" of type "${this.type}".`);
|
|
32
26
|
}
|
|
33
27
|
if (this.data === undefined) {
|
|
34
28
|
throw new Error('No data is set so nothing can be returned.');
|
|
35
29
|
}
|
|
36
|
-
const decryptedData =
|
|
30
|
+
const decryptedData = this.cipher.decrypt(this.data);
|
|
37
31
|
try {
|
|
38
|
-
return
|
|
32
|
+
return (0, n8n_workflow_1.jsonParse)(decryptedData);
|
|
39
33
|
}
|
|
40
34
|
catch (e) {
|
|
41
35
|
throw new Error('Credentials could not be decrypted. The likely reason is that a different "encryptionKey" was used to encrypt the data.');
|
|
42
36
|
}
|
|
43
37
|
}
|
|
44
|
-
getDataKey(key, encryptionKey, nodeType) {
|
|
45
|
-
const fullData = this.getData(encryptionKey, nodeType);
|
|
46
|
-
if (fullData === null) {
|
|
47
|
-
throw new Error('No data was set.');
|
|
48
|
-
}
|
|
49
|
-
if (!fullData.hasOwnProperty(key)) {
|
|
50
|
-
throw new Error(`No data for key "${key}" exists.`);
|
|
51
|
-
}
|
|
52
|
-
return fullData[key];
|
|
53
|
-
}
|
|
54
38
|
getDataToSave() {
|
|
55
39
|
if (this.data === undefined) {
|
|
56
40
|
throw new Error('No credentials were set to save.');
|
package/dist/Credentials.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Credentials.js","sourceRoot":"","sources":["../src/Credentials.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Credentials.js","sourceRoot":"","sources":["../src/Credentials.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,+CAAuD;AACvD,qCAAkC;AAElC,MAAa,WAAY,SAAQ,2BAAY;IAA7C;;QACkB,WAAM,GAAG,kBAAS,CAAC,GAAG,CAAC,eAAM,CAAC,CAAC;IA+DjD,CAAC;IA1DA,aAAa,CAAC,QAAgB;QAC7B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;YAC1C,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACrC,OAAO,IAAI,CAAC;aACZ;SACD;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAKD,OAAO,CAAC,IAAoC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAKD,OAAO,CAAC,QAAiB;QACxB,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;YAC9C,MAAM,IAAI,KAAK,CACd,qBAAqB,QAAQ,0CAA0C,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,IAAI,IAAI,CAC3G,CAAC;SACF;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC9D;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI;YACH,OAAO,IAAA,wBAAS,EAAC,aAAa,CAAC,CAAC;SAChC;QAAC,OAAO,CAAC,EAAE;YACX,MAAM,IAAI,KAAK,CACd,yHAAyH,CACzH,CAAC;SACF;IACF,CAAC;IAKD,aAAa;QACZ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACpD;QAED,OAAO;YACN,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAC;IACH,CAAC;CACD;AAhED,kCAgEC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface WritableSettings {
|
|
2
|
+
tunnelSubdomain?: string;
|
|
3
|
+
}
|
|
4
|
+
export declare class InstanceSettings {
|
|
5
|
+
readonly userHome: string;
|
|
6
|
+
readonly n8nFolder: string;
|
|
7
|
+
readonly customExtensionDir: string;
|
|
8
|
+
readonly nodesDownloadDir: string;
|
|
9
|
+
private readonly settingsFile;
|
|
10
|
+
private settings;
|
|
11
|
+
readonly instanceId: string;
|
|
12
|
+
get encryptionKey(): string;
|
|
13
|
+
get tunnelSubdomain(): string | undefined;
|
|
14
|
+
update(newSettings: WritableSettings): void;
|
|
15
|
+
private getUserHome;
|
|
16
|
+
private loadOrCreate;
|
|
17
|
+
private generateInstanceId;
|
|
18
|
+
private save;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.InstanceSettings = void 0;
|
|
13
|
+
const path_1 = __importDefault(require("path"));
|
|
14
|
+
const fs_1 = require("fs");
|
|
15
|
+
const crypto_1 = require("crypto");
|
|
16
|
+
const typedi_1 = require("typedi");
|
|
17
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
18
|
+
let InstanceSettings = class InstanceSettings {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.userHome = this.getUserHome();
|
|
21
|
+
this.n8nFolder = path_1.default.join(this.userHome, '.n8n');
|
|
22
|
+
this.customExtensionDir = path_1.default.join(this.n8nFolder, 'custom');
|
|
23
|
+
this.nodesDownloadDir = path_1.default.join(this.n8nFolder, 'nodes');
|
|
24
|
+
this.settingsFile = path_1.default.join(this.n8nFolder, 'config');
|
|
25
|
+
this.settings = this.loadOrCreate();
|
|
26
|
+
this.instanceId = this.generateInstanceId();
|
|
27
|
+
}
|
|
28
|
+
get encryptionKey() {
|
|
29
|
+
return this.settings.encryptionKey;
|
|
30
|
+
}
|
|
31
|
+
get tunnelSubdomain() {
|
|
32
|
+
return this.settings.tunnelSubdomain;
|
|
33
|
+
}
|
|
34
|
+
update(newSettings) {
|
|
35
|
+
this.save({ ...this.settings, ...newSettings });
|
|
36
|
+
}
|
|
37
|
+
getUserHome() {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
const homeVarName = process.platform === 'win32' ? 'USERPROFILE' : 'HOME';
|
|
40
|
+
return (_b = (_a = process.env.N8N_USER_FOLDER) !== null && _a !== void 0 ? _a : process.env[homeVarName]) !== null && _b !== void 0 ? _b : process.cwd();
|
|
41
|
+
}
|
|
42
|
+
loadOrCreate() {
|
|
43
|
+
var _a;
|
|
44
|
+
let settings;
|
|
45
|
+
const { settingsFile } = this;
|
|
46
|
+
if ((0, fs_1.existsSync)(settingsFile)) {
|
|
47
|
+
const content = (0, fs_1.readFileSync)(settingsFile, 'utf8');
|
|
48
|
+
settings = (0, n8n_workflow_1.jsonParse)(content, {
|
|
49
|
+
errorMessage: `Error parsing n8n-config file "${settingsFile}". It does not seem to be valid JSON.`,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
(0, fs_1.mkdirSync)(this.n8nFolder, { recursive: true });
|
|
54
|
+
const encryptionKey = (_a = process.env.N8N_ENCRYPTION_KEY) !== null && _a !== void 0 ? _a : (0, crypto_1.randomBytes)(24).toString('base64');
|
|
55
|
+
settings = { encryptionKey };
|
|
56
|
+
this.save(settings);
|
|
57
|
+
}
|
|
58
|
+
const { encryptionKey, tunnelSubdomain } = settings;
|
|
59
|
+
return { encryptionKey, tunnelSubdomain };
|
|
60
|
+
}
|
|
61
|
+
generateInstanceId() {
|
|
62
|
+
const { encryptionKey } = this;
|
|
63
|
+
return (0, crypto_1.createHash)('sha256')
|
|
64
|
+
.update(encryptionKey.slice(Math.round(encryptionKey.length / 2)))
|
|
65
|
+
.digest('hex');
|
|
66
|
+
}
|
|
67
|
+
save(settings) {
|
|
68
|
+
this.settings = settings;
|
|
69
|
+
(0, fs_1.writeFileSync)(this.settingsFile, JSON.stringify(settings, null, '\t'), 'utf-8');
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
exports.InstanceSettings = InstanceSettings;
|
|
73
|
+
exports.InstanceSettings = InstanceSettings = __decorate([
|
|
74
|
+
(0, typedi_1.Service)()
|
|
75
|
+
], InstanceSettings);
|
|
76
|
+
//# sourceMappingURL=InstanceSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstanceSettings.js","sourceRoot":"","sources":["../src/InstanceSettings.ts"],"names":[],"mappings":"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"}
|
package/dist/Interfaces.d.ts
CHANGED
|
@@ -6,11 +6,6 @@ export interface IProcessMessage {
|
|
|
6
6
|
export interface IResponseError extends Error {
|
|
7
7
|
statusCode?: number;
|
|
8
8
|
}
|
|
9
|
-
export interface IUserSettings {
|
|
10
|
-
encryptionKey?: string;
|
|
11
|
-
tunnelSubdomain?: string;
|
|
12
|
-
instanceId?: string;
|
|
13
|
-
}
|
|
14
9
|
export interface IWorkflowSettings extends IWorkflowSettingsWorkflow {
|
|
15
10
|
errorWorkflow?: string;
|
|
16
11
|
timezone?: string;
|
|
@@ -51,8 +51,8 @@ const ExtractValue_1 = require("./ExtractValue");
|
|
|
51
51
|
const OAuth2Helper_1 = require("./OAuth2Helper");
|
|
52
52
|
const WorkflowExecutionMetadata_1 = require("./WorkflowExecutionMetadata");
|
|
53
53
|
const Secrets_1 = require("./Secrets");
|
|
54
|
-
const UserSettings_1 = require("./UserSettings");
|
|
55
54
|
const typedi_1 = __importDefault(require("typedi"));
|
|
55
|
+
const InstanceSettings_1 = require("./InstanceSettings");
|
|
56
56
|
axios_1.default.defaults.timeout = 300000;
|
|
57
57
|
axios_1.default.defaults.headers.post = {};
|
|
58
58
|
axios_1.default.defaults.headers.put = {};
|
|
@@ -1537,6 +1537,9 @@ const addExecutionDataFunctions = async (type, nodeName, data, runExecutionData,
|
|
|
1537
1537
|
data: taskData,
|
|
1538
1538
|
});
|
|
1539
1539
|
}
|
|
1540
|
+
if ((0, get_1.default)(runExecutionData, 'executionData.metadata', undefined) === undefined) {
|
|
1541
|
+
runExecutionData.executionData.metadata = {};
|
|
1542
|
+
}
|
|
1540
1543
|
let sourceTaskData = (0, get_1.default)(runExecutionData, `executionData.metadata[${sourceNodeName}]`);
|
|
1541
1544
|
if (!sourceTaskData) {
|
|
1542
1545
|
runExecutionData.executionData.metadata[sourceNodeName] = [];
|
|
@@ -1565,7 +1568,7 @@ const getCommonWorkflowFunctions = (workflow, node, additionalData) => ({
|
|
|
1565
1568
|
getWorkflowStaticData: (type) => workflow.getStaticData(type, node),
|
|
1566
1569
|
getRestApiUrl: () => additionalData.restApiUrl,
|
|
1567
1570
|
getInstanceBaseUrl: () => additionalData.instanceBaseUrl,
|
|
1568
|
-
getInstanceId:
|
|
1571
|
+
getInstanceId: () => typedi_1.default.get(InstanceSettings_1.InstanceSettings).instanceId,
|
|
1569
1572
|
getTimezone: () => getTimezone(workflow, additionalData),
|
|
1570
1573
|
prepareOutputData: async (outputData) => [outputData],
|
|
1571
1574
|
});
|
|
@@ -1599,7 +1602,6 @@ const getAllowedPaths = () => {
|
|
|
1599
1602
|
function isFilePathBlocked(filePath) {
|
|
1600
1603
|
const allowedPaths = getAllowedPaths();
|
|
1601
1604
|
const resolvedFilePath = path_1.default.resolve(filePath);
|
|
1602
|
-
const userFolder = (0, UserSettings_1.getUserN8nFolderPath)();
|
|
1603
1605
|
const blockFileAccessToN8nFiles = process.env[Constants_1.BLOCK_FILE_ACCESS_TO_N8N_FILES] !== 'false';
|
|
1604
1606
|
if (allowedPaths.length) {
|
|
1605
1607
|
for (const path of allowedPaths) {
|
|
@@ -1610,7 +1612,8 @@ function isFilePathBlocked(filePath) {
|
|
|
1610
1612
|
return true;
|
|
1611
1613
|
}
|
|
1612
1614
|
if (blockFileAccessToN8nFiles) {
|
|
1613
|
-
const
|
|
1615
|
+
const { n8nFolder } = typedi_1.default.get(InstanceSettings_1.InstanceSettings);
|
|
1616
|
+
const restrictedPaths = [n8nFolder];
|
|
1614
1617
|
if (process.env[Constants_1.CONFIG_FILES]) {
|
|
1615
1618
|
restrictedPaths.push(...process.env[Constants_1.CONFIG_FILES].split(','));
|
|
1616
1619
|
}
|
|
@@ -1658,7 +1661,7 @@ const getFileSystemHelperFunctions = (node) => ({
|
|
|
1658
1661
|
return (0, fs_1.createReadStream)(filePath);
|
|
1659
1662
|
},
|
|
1660
1663
|
getStoragePath() {
|
|
1661
|
-
return path_1.default.join((
|
|
1664
|
+
return path_1.default.join(typedi_1.default.get(InstanceSettings_1.InstanceSettings).n8nFolder, `storage/${node.type}`);
|
|
1662
1665
|
},
|
|
1663
1666
|
async writeContentToFile(filePath, content, flag) {
|
|
1664
1667
|
if (isFilePathBlocked(filePath)) {
|
|
@@ -1836,7 +1839,7 @@ function getExecuteFunctions(workflow, runExecutionData, runIndex, connectionInp
|
|
|
1836
1839
|
}
|
|
1837
1840
|
};
|
|
1838
1841
|
try {
|
|
1839
|
-
return await nodeType.supplyData.call(context);
|
|
1842
|
+
return await nodeType.supplyData.call(context, itemIndex);
|
|
1840
1843
|
}
|
|
1841
1844
|
catch (error) {
|
|
1842
1845
|
if (!(error instanceof n8n_workflow_1.ExecutionBaseError)) {
|