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.
@@ -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
- await manager.deleteMany(ids);
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":"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"}
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":"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"}
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>;
@@ -0,0 +1,7 @@
1
+ import { InstanceSettings } from './InstanceSettings';
2
+ export declare class Cipher {
3
+ private readonly instanceSettings;
4
+ constructor(instanceSettings: InstanceSettings);
5
+ encrypt(data: string | object): string;
6
+ decrypt(data: string): string;
7
+ }
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"}
@@ -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.RESPONSE_ERROR_MESSAGES = exports.TUNNEL_SUBDOMAIN_ENV = exports.PLACEHOLDER_EMPTY_WORKFLOW_ID = exports.PLACEHOLDER_EMPTY_EXECUTION_ID = exports.USER_SETTINGS_SUBFOLDER = exports.USER_SETTINGS_FILE_NAME = exports.USER_FOLDER_ENV_OVERWRITE = exports.EXTENSIONS_SUBDIRECTORY = exports.ENCRYPTION_KEY_ENV_OVERWRITE = exports.DOWNLOADED_NODES_SUBDIRECTORY = exports.CUSTOM_EXTENSION_ENV = void 0;
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';
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../src/Constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,uBAAuB,CAAC;AAC/C,QAAA,6BAA6B,GAAG,OAAO,CAAC;AACxC,QAAA,4BAA4B,GAAG,oBAAoB,CAAC;AACpD,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,yBAAyB,GAAG,iBAAiB,CAAC;AAC9C,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,uBAAuB,GAAG,MAAM,CAAC;AACjC,QAAA,8BAA8B,GAAG,aAAa,CAAC;AAC/C,QAAA,6BAA6B,GAAG,WAAW,CAAC;AAC5C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAE9C,QAAA,uBAAuB,GAAG;IACtC,iBAAiB,EAAE,0CAA0C;CAC7D,CAAC;AAEW,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"}
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"}
@@ -1,10 +1,9 @@
1
- import type { CredentialInformation, ICredentialDataDecryptedObject, ICredentialsEncrypted } from 'n8n-workflow';
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, encryptionKey: string): void;
6
- setDataKey(key: string, data: CredentialInformation, encryptionKey: string): void;
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
  }
@@ -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 crypto_js_1 = require("crypto-js");
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, encryptionKey) {
16
- this.data = crypto_js_1.AES.encrypt(JSON.stringify(data), encryptionKey).toString();
20
+ setData(data) {
21
+ this.data = this.cipher.encrypt(data);
17
22
  }
18
- setDataKey(key, data, encryptionKey) {
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 = crypto_js_1.AES.decrypt(this.data, encryptionKey);
30
+ const decryptedData = this.cipher.decrypt(this.data);
37
31
  try {
38
- return JSON.parse(decryptedData.toString(crypto_js_1.enc.Utf8));
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.');
@@ -1 +1 @@
1
- {"version":3,"file":"Credentials.js","sourceRoot":"","sources":["../src/Credentials.ts"],"names":[],"mappings":";;;AAKA,+CAA4C;AAE5C,yCAAqC;AAErC,MAAa,WAAY,SAAQ,2BAAY;IAI5C,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,EAAE,aAAqB;QAClE,IAAI,CAAC,IAAI,GAAG,eAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzE,CAAC;IAKD,UAAU,CAAC,GAAW,EAAE,IAA2B,EAAE,aAAqB;QACzE,IAAI,QAAQ,CAAC;QACb,IAAI;YACH,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SACvC;QAAC,OAAO,CAAC,EAAE;YACX,QAAQ,GAAG,EAAE,CAAC;SACd;QAED,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAErB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAKD,OAAO,CAAC,aAAqB,EAAE,QAAiB;QAC/C,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,eAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAE5D,IAAI;YAEH,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAG,CAAC,IAAI,CAAC,CAAC,CAAC;SACpD;QAAC,OAAO,CAAC,EAAE;YACX,MAAM,IAAI,KAAK,CACd,yHAAyH,CACzH,CAAC;SACF;IACF,CAAC;IAKD,UAAU,CAAC,GAAW,EAAE,aAAqB,EAAE,QAAiB;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAEvD,IAAI,QAAQ,KAAK,IAAI,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACpC;QAED,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,WAAW,CAAC,CAAC;SACpD;QAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtB,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;AAhGD,kCAgGC"}
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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"}
@@ -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: async () => (0, UserSettings_1.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 restrictedPaths = [userFolder];
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((0, UserSettings_1.getUserN8nFolderPath)(), `storage/${node.type}`);
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)) {