n8n-core 1.120.1 → 1.121.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.
Files changed (37) hide show
  1. package/dist/binary-data/binary-data.config.d.ts +4 -2
  2. package/dist/binary-data/binary-data.config.js +11 -2
  3. package/dist/binary-data/binary-data.config.js.map +1 -1
  4. package/dist/binary-data/binary-data.service.d.ts +8 -5
  5. package/dist/binary-data/binary-data.service.js +27 -16
  6. package/dist/binary-data/binary-data.service.js.map +1 -1
  7. package/dist/binary-data/file-system.manager.d.ts +10 -5
  8. package/dist/binary-data/file-system.manager.js +50 -15
  9. package/dist/binary-data/file-system.manager.js.map +1 -1
  10. package/dist/binary-data/index.d.ts +1 -1
  11. package/dist/binary-data/index.js +2 -1
  12. package/dist/binary-data/index.js.map +1 -1
  13. package/dist/binary-data/object-store.manager.d.ts +3 -3
  14. package/dist/binary-data/object-store.manager.js +15 -10
  15. package/dist/binary-data/object-store.manager.js.map +1 -1
  16. package/dist/binary-data/types.d.ts +13 -7
  17. package/dist/binary-data/utils.d.ts +4 -2
  18. package/dist/binary-data/utils.js +13 -7
  19. package/dist/binary-data/utils.js.map +1 -1
  20. package/dist/build.tsbuildinfo +1 -1
  21. package/dist/errors/index.d.ts +0 -1
  22. package/dist/errors/index.js +1 -3
  23. package/dist/errors/index.js.map +1 -1
  24. package/dist/execution-engine/execution-context-hook-registry.service.d.ts +12 -0
  25. package/dist/execution-engine/execution-context-hook-registry.service.js +67 -0
  26. package/dist/execution-engine/execution-context-hook-registry.service.js.map +1 -0
  27. package/dist/execution-engine/index.d.ts +1 -0
  28. package/dist/execution-engine/index.js +1 -0
  29. package/dist/execution-engine/index.js.map +1 -1
  30. package/dist/execution-engine/node-execution-context/base-execute-context.js +2 -1
  31. package/dist/execution-engine/node-execution-context/base-execute-context.js.map +1 -1
  32. package/dist/execution-engine/node-execution-context/utils/binary-helper-functions.js +2 -2
  33. package/dist/execution-engine/node-execution-context/utils/binary-helper-functions.js.map +1 -1
  34. package/package.json +7 -7
  35. package/dist/errors/invalid-mode.error.d.ts +0 -4
  36. package/dist/errors/invalid-mode.error.js +0 -12
  37. package/dist/errors/invalid-mode.error.js.map +0 -1
@@ -1,12 +1,14 @@
1
1
  import { z } from 'zod';
2
2
  import { InstanceSettings } from '../instance-settings';
3
- declare const binaryDataModesSchema: z.ZodEnum<["default", "filesystem", "s3"]>;
4
- declare const availableModesSchema: z.ZodPipeline<z.ZodEffects<z.ZodString, string[], string>, z.ZodArray<z.ZodEnum<["default", "filesystem", "s3"]>, "many">>;
3
+ export declare const BINARY_DATA_MODES: readonly ["default", "filesystem", "s3", "database"];
4
+ declare const binaryDataModesSchema: z.ZodEnum<["default", "filesystem", "s3", "database"]>;
5
+ declare const availableModesSchema: z.ZodPipeline<z.ZodEffects<z.ZodString, string[], string>, z.ZodArray<z.ZodEnum<["default", "filesystem", "s3", "database"]>, "many">>;
5
6
  export declare class BinaryDataConfig {
6
7
  availableModes: z.infer<typeof availableModesSchema>;
7
8
  mode: z.infer<typeof binaryDataModesSchema>;
8
9
  localStoragePath: string;
9
10
  signingSecret: string;
11
+ dbMaxFileSize: number;
10
12
  constructor({ encryptionKey, n8nFolder }: InstanceSettings);
11
13
  }
12
14
  export {};
@@ -12,21 +12,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.BinaryDataConfig = void 0;
15
+ exports.BinaryDataConfig = exports.BINARY_DATA_MODES = void 0;
16
16
  const config_1 = require("@n8n/config");
17
17
  const node_crypto_1 = require("node:crypto");
18
18
  const node_path_1 = __importDefault(require("node:path"));
19
19
  const zod_1 = require("zod");
20
20
  const instance_settings_1 = require("../instance-settings");
21
- const binaryDataModesSchema = zod_1.z.enum(['default', 'filesystem', 's3']);
21
+ exports.BINARY_DATA_MODES = ['default', 'filesystem', 's3', 'database'];
22
+ const binaryDataModesSchema = zod_1.z.enum(exports.BINARY_DATA_MODES);
22
23
  const availableModesSchema = zod_1.z
23
24
  .string()
24
25
  .transform((value) => value.split(','))
25
26
  .pipe(binaryDataModesSchema.array());
27
+ const dbMaxFileSizeSchema = zod_1.z
28
+ .number()
29
+ .max(1024, 'Binary data max file size in `database` mode cannot exceed 1024 MiB');
26
30
  let BinaryDataConfig = class BinaryDataConfig {
27
31
  constructor({ encryptionKey, n8nFolder }) {
28
32
  this.availableModes = ['filesystem'];
29
33
  this.mode = 'default';
34
+ this.dbMaxFileSize = 512;
30
35
  this.localStoragePath = node_path_1.default.join(n8nFolder, 'binaryData');
31
36
  this.signingSecret = (0, node_crypto_1.createHash)('sha256')
32
37
  .update(`url-signing:${encryptionKey}`)
@@ -50,6 +55,10 @@ __decorate([
50
55
  (0, config_1.Env)('N8N_BINARY_DATA_SIGNING_SECRET'),
51
56
  __metadata("design:type", String)
52
57
  ], BinaryDataConfig.prototype, "signingSecret", void 0);
58
+ __decorate([
59
+ (0, config_1.Env)('N8N_BINARY_DATA_DATABASE_MAX_FILE_SIZE', dbMaxFileSizeSchema),
60
+ __metadata("design:type", Number)
61
+ ], BinaryDataConfig.prototype, "dbMaxFileSize", void 0);
53
62
  exports.BinaryDataConfig = BinaryDataConfig = __decorate([
54
63
  config_1.Config,
55
64
  __metadata("design:paramtypes", [instance_settings_1.InstanceSettings])
@@ -1 +1 @@
1
- {"version":3,"file":"binary-data.config.js","sourceRoot":"","sources":["../../src/binary-data/binary-data.config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAA0C;AAC1C,6CAAyC;AACzC,0DAA6B;AAC7B,6BAAwB;AAExB,2DAAuD;AAEvD,MAAM,qBAAqB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AAEtE,MAAM,oBAAoB,GAAG,OAAC;KAC5B,MAAM,EAAE;KACR,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACtC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC;AAG/B,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAoB5B,YAAY,EAAE,aAAa,EAAE,SAAS,EAAoB;QAjB1D,mBAAc,GAAyC,CAAC,YAAY,CAAC,CAAC;QAItE,SAAI,GAA0C,SAAS,CAAC;QAcvD,IAAI,CAAC,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC;aACvC,MAAM,CAAC,eAAe,aAAa,EAAE,CAAC;aACtC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;CACD,CAAA;AA1BY,4CAAgB;AAG5B;IADC,IAAA,YAAG,EAAC,iCAAiC,EAAE,oBAAoB,CAAC;;wDACS;AAItE;IADC,IAAA,YAAG,EAAC,8BAA8B,EAAE,qBAAqB,CAAC;;8CACH;AAIxD;IADC,IAAA,YAAG,EAAC,8BAA8B,CAAC;;0DACX;AAOzB;IADC,IAAA,YAAG,EAAC,gCAAgC,CAAC;;uDAChB;2BAlBV,gBAAgB;IAD5B,eAAM;qCAqBoC,oCAAgB;GApB9C,gBAAgB,CA0B5B"}
1
+ {"version":3,"file":"binary-data.config.js","sourceRoot":"","sources":["../../src/binary-data/binary-data.config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAA0C;AAC1C,6CAAyC;AACzC,0DAA6B;AAC7B,6BAAwB;AAExB,2DAAuD;AAE1C,QAAA,iBAAiB,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAU,CAAC;AAEtF,MAAM,qBAAqB,GAAG,OAAC,CAAC,IAAI,CAAC,yBAAiB,CAAC,CAAC;AAExD,MAAM,oBAAoB,GAAG,OAAC;KAC5B,MAAM,EAAE;KACR,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACtC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC;AAEtC,MAAM,mBAAmB,GAAG,OAAC;KAC3B,MAAM,EAAE;KACR,GAAG,CAAC,IAAI,EAAE,qEAAqE,CAAC,CAAC;AAG5E,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAwB5B,YAAY,EAAE,aAAa,EAAE,SAAS,EAAoB;QArB1D,mBAAc,GAAyC,CAAC,YAAY,CAAC,CAAC;QAItE,SAAI,GAA0C,SAAS,CAAC;QAexD,kBAAa,GAAW,GAAG,CAAC;QAG3B,IAAI,CAAC,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC;aACvC,MAAM,CAAC,eAAe,aAAa,EAAE,CAAC;aACtC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;CACD,CAAA;AA9BY,4CAAgB;AAG5B;IADC,IAAA,YAAG,EAAC,iCAAiC,EAAE,oBAAoB,CAAC;;wDACS;AAItE;IADC,IAAA,YAAG,EAAC,8BAA8B,EAAE,qBAAqB,CAAC;;8CACH;AAIxD;IADC,IAAA,YAAG,EAAC,8BAA8B,CAAC;;0DACX;AAOzB;IADC,IAAA,YAAG,EAAC,gCAAgC,CAAC;;uDAChB;AAItB;IADC,IAAA,YAAG,EAAC,wCAAwC,EAAE,mBAAmB,CAAC;;uDACvC;2BAtBhB,gBAAgB;IAD5B,eAAM;qCAyBoC,oCAAgB;GAxB9C,gBAAgB,CA8B5B"}
@@ -1,24 +1,27 @@
1
1
  import type { StringValue as TimeUnitValue } from 'ms';
2
2
  import type { INodeExecutionData, IBinaryData } from 'n8n-workflow';
3
3
  import type { Readable } from 'stream';
4
+ import { ErrorReporter } from '../errors';
4
5
  import { BinaryDataConfig } from './binary-data.config';
5
6
  import type { BinaryData } from './types';
6
7
  export declare class BinaryDataService {
7
8
  private readonly config;
9
+ private readonly errorReporter;
8
10
  private mode;
9
11
  private managers;
10
- constructor(config: BinaryDataConfig);
12
+ constructor(config: BinaryDataConfig, errorReporter: ErrorReporter);
11
13
  init(): Promise<void>;
12
14
  createSignedToken(binaryData: IBinaryData, expiresIn?: TimeUnitValue): string;
13
15
  validateSignedToken(token: string): string;
14
- copyBinaryFile(workflowId: string, executionId: string, binaryData: IBinaryData, filePath: string): Promise<IBinaryData>;
15
- store(workflowId: string, executionId: string, bufferOrStream: Buffer | Readable, binaryData: IBinaryData): Promise<IBinaryData>;
16
+ copyBinaryFile(location: BinaryData.FileLocation, binaryData: IBinaryData, filePath: string): Promise<IBinaryData>;
17
+ store(location: BinaryData.FileLocation, bufferOrStream: Buffer | Readable, binaryData: IBinaryData): Promise<IBinaryData>;
16
18
  getAsStream(binaryDataId: string, chunkSize?: number): Promise<Readable>;
17
19
  getAsBuffer(binaryData: IBinaryData): Promise<Buffer<ArrayBufferLike>>;
18
20
  getPath(binaryDataId: string): string;
19
21
  getMetadata(binaryDataId: string): Promise<BinaryData.Metadata>;
20
- deleteMany(ids: BinaryData.IdsForDeletion): Promise<void>;
21
- duplicateBinaryData(workflowId: string, executionId: string, inputData: Array<INodeExecutionData[] | null>): Promise<INodeExecutionData[][]>;
22
+ deleteMany(locations: BinaryData.FileLocation[]): Promise<void>;
23
+ deleteManyByBinaryDataId(ids: string[]): Promise<void>;
24
+ duplicateBinaryData(location: BinaryData.FileLocation, inputData: Array<INodeExecutionData[] | null>): Promise<INodeExecutionData[][]>;
22
25
  rename(oldFileId: string, newFileId: string): Promise<void>;
23
26
  private createBinaryDataId;
24
27
  private duplicateBinaryDataInExecData;
@@ -51,24 +51,26 @@ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
51
51
  const n8n_workflow_1 = require("n8n-workflow");
52
52
  const promises_1 = require("node:fs/promises");
53
53
  const pretty_bytes_1 = __importDefault(require("pretty-bytes"));
54
+ const errors_1 = require("../errors");
54
55
  const binary_data_config_1 = require("./binary-data.config");
55
56
  const utils_1 = require("./utils");
56
57
  const invalid_manager_error_1 = require("../errors/invalid-manager.error");
57
- const invalid_mode_error_1 = require("../errors/invalid-mode.error");
58
58
  let BinaryDataService = class BinaryDataService {
59
- constructor(config) {
59
+ constructor(config, errorReporter) {
60
60
  this.config = config;
61
+ this.errorReporter = errorReporter;
61
62
  this.mode = 'default';
62
63
  this.managers = {};
63
64
  }
64
65
  async init() {
65
66
  const { config } = this;
66
- if (!(0, utils_1.areConfigModes)(config.availableModes))
67
- throw new invalid_mode_error_1.InvalidModeError();
67
+ if (config.mode === 'database' || config.availableModes.includes('database')) {
68
+ throw new n8n_workflow_1.UserError('Database mode is not implemented yet');
69
+ }
68
70
  this.mode = config.mode === 'filesystem' ? 'filesystem-v2' : config.mode;
69
71
  if (config.availableModes.includes('filesystem')) {
70
72
  const { FileSystemManager } = await Promise.resolve().then(() => __importStar(require('./file-system.manager')));
71
- this.managers.filesystem = new FileSystemManager(config.localStoragePath);
73
+ this.managers.filesystem = new FileSystemManager(config.localStoragePath, this.errorReporter);
72
74
  this.managers['filesystem-v2'] = this.managers.filesystem;
73
75
  await this.managers.filesystem.init();
74
76
  }
@@ -94,7 +96,7 @@ let BinaryDataService = class BinaryDataService {
94
96
  const signedPayload = jsonwebtoken_1.default.verify(token, signingSecret);
95
97
  return signedPayload.id;
96
98
  }
97
- async copyBinaryFile(workflowId, executionId, binaryData, filePath) {
99
+ async copyBinaryFile(location, binaryData, filePath) {
98
100
  const manager = this.managers[this.mode];
99
101
  if (!manager) {
100
102
  const { size } = await (0, promises_1.stat)(filePath);
@@ -106,13 +108,13 @@ let BinaryDataService = class BinaryDataService {
106
108
  fileName: binaryData.fileName,
107
109
  mimeType: binaryData.mimeType,
108
110
  };
109
- const { fileId, fileSize } = await manager.copyByFilePath(workflowId, executionId, filePath, metadata);
111
+ const { fileId, fileSize } = await manager.copyByFilePath(location, filePath, metadata);
110
112
  binaryData.id = this.createBinaryDataId(fileId);
111
113
  binaryData.fileSize = (0, pretty_bytes_1.default)(fileSize);
112
114
  binaryData.data = this.mode;
113
115
  return binaryData;
114
116
  }
115
- async store(workflowId, executionId, bufferOrStream, binaryData) {
117
+ async store(location, bufferOrStream, binaryData) {
116
118
  const manager = this.managers[this.mode];
117
119
  if (!manager) {
118
120
  const buffer = await (0, utils_1.binaryToBuffer)(bufferOrStream);
@@ -124,7 +126,7 @@ let BinaryDataService = class BinaryDataService {
124
126
  fileName: binaryData.fileName,
125
127
  mimeType: binaryData.mimeType,
126
128
  };
127
- const { fileId, fileSize } = await manager.store(workflowId, executionId, bufferOrStream, metadata);
129
+ const { fileId, fileSize } = await manager.store(location, bufferOrStream, metadata);
128
130
  binaryData.id = this.createBinaryDataId(fileId);
129
131
  binaryData.fileSize = (0, pretty_bytes_1.default)(fileSize);
130
132
  binaryData.data = this.mode;
@@ -149,20 +151,28 @@ let BinaryDataService = class BinaryDataService {
149
151
  const [mode, fileId] = binaryDataId.split(':');
150
152
  return await this.getManager(mode).getMetadata(fileId);
151
153
  }
152
- async deleteMany(ids) {
154
+ async deleteMany(locations) {
153
155
  const manager = this.managers[this.mode];
154
156
  if (!manager)
155
157
  return;
156
158
  if (manager.deleteMany)
157
- await manager.deleteMany(ids);
159
+ await manager.deleteMany(locations);
160
+ }
161
+ async deleteManyByBinaryDataId(ids) {
162
+ const manager = this.managers[this.mode];
163
+ const fileIds = ids.flatMap((attachmentId) => {
164
+ const [, fileId] = attachmentId.split(':');
165
+ return fileId ? [fileId] : [];
166
+ });
167
+ await manager.deleteManyByFileId?.(fileIds);
158
168
  }
159
- async duplicateBinaryData(workflowId, executionId, inputData) {
169
+ async duplicateBinaryData(location, inputData) {
160
170
  if (inputData && this.managers[this.mode]) {
161
171
  const returnInputData = inputData.map(async (executionDataArray) => {
162
172
  if (executionDataArray) {
163
173
  return await Promise.all(executionDataArray.map(async (executionData) => {
164
174
  if (executionData.binary) {
165
- return await this.duplicateBinaryDataInExecData(workflowId, executionId, executionData);
175
+ return await this.duplicateBinaryDataInExecData(location, executionData);
166
176
  }
167
177
  return executionData;
168
178
  }));
@@ -182,7 +192,7 @@ let BinaryDataService = class BinaryDataService {
182
192
  createBinaryDataId(fileId) {
183
193
  return `${this.mode}:${fileId}`;
184
194
  }
185
- async duplicateBinaryDataInExecData(workflowId, executionId, executionData) {
195
+ async duplicateBinaryDataInExecData(location, executionData) {
186
196
  const manager = this.managers[this.mode];
187
197
  if (executionData.binary) {
188
198
  const binaryDataKeys = Object.keys(executionData.binary);
@@ -195,7 +205,7 @@ let BinaryDataService = class BinaryDataService {
195
205
  return { key, newId: undefined };
196
206
  }
197
207
  const [_mode, fileId] = binaryDataId.split(':');
198
- return await manager?.copyByFileId(workflowId, executionId, fileId).then((newFileId) => ({
208
+ return await manager?.copyByFileId(location, fileId).then((newFileId) => ({
199
209
  newId: this.createBinaryDataId(newFileId),
200
210
  key,
201
211
  }));
@@ -221,6 +231,7 @@ let BinaryDataService = class BinaryDataService {
221
231
  exports.BinaryDataService = BinaryDataService;
222
232
  exports.BinaryDataService = BinaryDataService = __decorate([
223
233
  (0, di_1.Service)(),
224
- __metadata("design:paramtypes", [binary_data_config_1.BinaryDataConfig])
234
+ __metadata("design:paramtypes", [binary_data_config_1.BinaryDataConfig,
235
+ errors_1.ErrorReporter])
225
236
  ], BinaryDataService);
226
237
  //# sourceMappingURL=binary-data.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"binary-data.service.js","sourceRoot":"","sources":["../../src/binary-data/binary-data.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary-data.service.js","sourceRoot":"","sources":["../../src/binary-data/binary-data.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import type { Readable } from 'stream';
2
+ import type { ErrorReporter } from '../errors';
2
3
  import type { BinaryData } from './types';
3
4
  export declare class FileSystemManager implements BinaryData.Manager {
4
5
  private storagePath;
5
- constructor(storagePath: string);
6
+ private readonly errorReporter;
7
+ constructor(storagePath: string, errorReporter: ErrorReporter);
6
8
  init(): Promise<void>;
7
- store(workflowId: string, executionId: string, bufferOrStream: Buffer | Readable, { mimeType, fileName }: BinaryData.PreWriteMetadata): Promise<{
9
+ store(location: BinaryData.FileLocation, bufferOrStream: Buffer | Readable, { mimeType, fileName }: BinaryData.PreWriteMetadata): Promise<{
8
10
  fileId: string;
9
11
  fileSize: number;
10
12
  }>;
@@ -12,14 +14,17 @@ export declare class FileSystemManager implements BinaryData.Manager {
12
14
  getAsStream(fileId: string, chunkSize?: number): Promise<import("fs").ReadStream>;
13
15
  getAsBuffer(fileId: string): Promise<Buffer<ArrayBufferLike>>;
14
16
  getMetadata(fileId: string): Promise<BinaryData.Metadata>;
15
- deleteMany(ids: BinaryData.IdsForDeletion): Promise<void>;
16
- copyByFilePath(workflowId: string, executionId: string, sourcePath: string, { mimeType, fileName }: BinaryData.PreWriteMetadata): Promise<{
17
+ deleteMany(locations: BinaryData.FileLocation[]): Promise<void>;
18
+ copyByFilePath(targetLocation: BinaryData.FileLocation, sourcePath: string, { mimeType, fileName }: BinaryData.PreWriteMetadata): Promise<{
17
19
  fileId: string;
18
20
  fileSize: number;
19
21
  }>;
20
- copyByFileId(workflowId: string, executionId: string, sourceFileId: string): Promise<string>;
22
+ copyByFileId(targetLocation: BinaryData.FileLocation, sourceFileId: string): Promise<string>;
21
23
  rename(oldFileId: string, newFileId: string): Promise<void>;
24
+ deleteManyByFileId(ids: string[]): Promise<void>;
22
25
  private toFileId;
26
+ private toRelativePath;
27
+ private parseFileId;
23
28
  private resolvePath;
24
29
  private storeMetadata;
25
30
  private getSize;
@@ -13,15 +13,17 @@ const utils_1 = require("./utils");
13
13
  const disallowed_filepath_error_1 = require("../errors/disallowed-filepath.error");
14
14
  const file_not_found_error_1 = require("../errors/file-not-found.error");
15
15
  const EXECUTION_ID_EXTRACTOR = /^(\w+)(?:[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12})$/;
16
+ const EXECUTION_PATH_MATCHER = /^workflows\/([^/]+)\/executions\/([^/]+)\//;
16
17
  class FileSystemManager {
17
- constructor(storagePath) {
18
+ constructor(storagePath, errorReporter) {
18
19
  this.storagePath = storagePath;
20
+ this.errorReporter = errorReporter;
19
21
  }
20
22
  async init() {
21
23
  await (0, utils_1.assertDir)(this.storagePath);
22
24
  }
23
- async store(workflowId, executionId, bufferOrStream, { mimeType, fileName }) {
24
- const fileId = this.toFileId(workflowId, executionId);
25
+ async store(location, bufferOrStream, { mimeType, fileName }) {
26
+ const fileId = this.toFileId(location);
25
27
  const filePath = this.resolvePath(fileId);
26
28
  await (0, utils_1.assertDir)(node_path_1.default.dirname(filePath));
27
29
  await promises_1.default.writeFile(filePath, bufferOrStream);
@@ -50,10 +52,10 @@ class FileSystemManager {
50
52
  const filePath = this.resolvePath(`${fileId}.metadata`);
51
53
  return await (0, n8n_workflow_1.jsonParse)(await promises_1.default.readFile(filePath, { encoding: 'utf-8' }));
52
54
  }
53
- async deleteMany(ids) {
54
- if (ids.length === 0)
55
+ async deleteMany(locations) {
56
+ if (locations.length === 0)
55
57
  return;
56
- const executionIds = ids.map((o) => o.executionId);
58
+ const executionIds = locations.flatMap((location) => location.type === 'execution' ? [location.executionId] : []);
57
59
  const set = new Set(executionIds);
58
60
  const fileNames = await promises_1.default.readdir(this.storagePath);
59
61
  for (const fileName of fileNames) {
@@ -63,13 +65,13 @@ class FileSystemManager {
63
65
  await Promise.all([promises_1.default.rm(filePath), promises_1.default.rm(`${filePath}.metadata`)]);
64
66
  }
65
67
  }
66
- const binaryDataDirs = ids.map(({ workflowId, executionId }) => this.resolvePath(`workflows/${workflowId}/executions/${executionId}`));
68
+ const binaryDataDirs = locations.map((location) => this.resolvePath(this.toRelativePath(location)));
67
69
  await Promise.all(binaryDataDirs.map(async (dir) => {
68
70
  await promises_1.default.rm(dir, { recursive: true, force: true });
69
71
  }));
70
72
  }
71
- async copyByFilePath(workflowId, executionId, sourcePath, { mimeType, fileName }) {
72
- const targetFileId = this.toFileId(workflowId, executionId);
73
+ async copyByFilePath(targetLocation, sourcePath, { mimeType, fileName }) {
74
+ const targetFileId = this.toFileId(targetLocation);
73
75
  const targetPath = this.resolvePath(targetFileId);
74
76
  await (0, utils_1.assertDir)(node_path_1.default.dirname(targetPath));
75
77
  await promises_1.default.cp(sourcePath, targetPath);
@@ -77,8 +79,8 @@ class FileSystemManager {
77
79
  await this.storeMetadata(targetFileId, { mimeType, fileName, fileSize });
78
80
  return { fileId: targetFileId, fileSize };
79
81
  }
80
- async copyByFileId(workflowId, executionId, sourceFileId) {
81
- const targetFileId = this.toFileId(workflowId, executionId);
82
+ async copyByFileId(targetLocation, sourceFileId) {
83
+ const targetFileId = this.toFileId(targetLocation);
82
84
  const sourcePath = this.resolvePath(sourceFileId);
83
85
  const targetPath = this.resolvePath(targetFileId);
84
86
  const sourceMetadata = await this.getMetadata(sourceFileId);
@@ -99,10 +101,43 @@ class FileSystemManager {
99
101
  const tempDir = node_path_1.default.join(tempDirParent, 'temp');
100
102
  await promises_1.default.rm(tempDir, { recursive: true });
101
103
  }
102
- toFileId(workflowId, executionId) {
103
- if (!executionId)
104
- executionId = 'temp';
105
- return `workflows/${workflowId}/executions/${executionId}/binary_data/${(0, uuid_1.v4)()}`;
104
+ async deleteManyByFileId(ids) {
105
+ const parsedIds = ids.flatMap((id) => {
106
+ try {
107
+ const parsed = this.parseFileId(id);
108
+ return [parsed];
109
+ }
110
+ catch (e) {
111
+ this.errorReporter.warn(`Could not parse file ID ${id}. Skip deletion`);
112
+ return [];
113
+ }
114
+ });
115
+ await this.deleteMany(parsedIds);
116
+ }
117
+ toFileId(location) {
118
+ return `${this.toRelativePath(location)}/binary_data/${(0, uuid_1.v4)()}`;
119
+ }
120
+ toRelativePath(location) {
121
+ switch (location.type) {
122
+ case 'execution': {
123
+ const executionId = location.executionId || 'temp';
124
+ return `workflows/${location.workflowId}/executions/${executionId}`;
125
+ }
126
+ case 'custom':
127
+ return location.pathSegments.join('/');
128
+ }
129
+ }
130
+ parseFileId(fileId) {
131
+ const executionMatch = fileId.match(EXECUTION_PATH_MATCHER);
132
+ if (executionMatch) {
133
+ return utils_1.FileLocation.ofExecution(executionMatch[1], executionMatch[2]);
134
+ }
135
+ const binaryDataIndex = fileId.indexOf('/binary_data/');
136
+ if (binaryDataIndex !== -1) {
137
+ const pathSegments = fileId.substring(0, binaryDataIndex).split('/');
138
+ return utils_1.FileLocation.ofCustom(pathSegments);
139
+ }
140
+ throw new n8n_workflow_1.UnexpectedError(`File ID ${fileId} has invalid format.`);
106
141
  }
107
142
  resolvePath(...args) {
108
143
  const returnPath = node_path_1.default.join(this.storagePath, ...args);
@@ -1 +1 @@
1
- {"version":3,"file":"file-system.manager.js","sourceRoot":"","sources":["../../src/binary-data/file-system.manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-system.manager.js","sourceRoot":"","sources":["../../src/binary-data/file-system.manager.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,4 @@ export * from './binary-data.service';
2
2
  export { BinaryDataConfig } from './binary-data.config';
3
3
  export type * from './types';
4
4
  export { ObjectStoreService } from './object-store/object-store.service.ee';
5
- export { isStoredMode as isValidNonDefaultMode } from './utils';
5
+ export { isStoredMode as isValidNonDefaultMode, FileLocation } from './utils';
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.isValidNonDefaultMode = exports.ObjectStoreService = exports.BinaryDataConfig = void 0;
17
+ exports.FileLocation = exports.isValidNonDefaultMode = exports.ObjectStoreService = exports.BinaryDataConfig = void 0;
18
18
  __exportStar(require("./binary-data.service"), exports);
19
19
  var binary_data_config_1 = require("./binary-data.config");
20
20
  Object.defineProperty(exports, "BinaryDataConfig", { enumerable: true, get: function () { return binary_data_config_1.BinaryDataConfig; } });
@@ -22,4 +22,5 @@ var object_store_service_ee_1 = require("./object-store/object-store.service.ee"
22
22
  Object.defineProperty(exports, "ObjectStoreService", { enumerable: true, get: function () { return object_store_service_ee_1.ObjectStoreService; } });
23
23
  var utils_1 = require("./utils");
24
24
  Object.defineProperty(exports, "isValidNonDefaultMode", { enumerable: true, get: function () { return utils_1.isStoredMode; } });
25
+ Object.defineProperty(exports, "FileLocation", { enumerable: true, get: function () { return utils_1.FileLocation; } });
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/binary-data/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AAEzB,kFAA4E;AAAnE,6HAAA,kBAAkB,OAAA;AAC3B,iCAAgE;AAAvD,8GAAA,YAAY,OAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/binary-data/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AAEzB,kFAA4E;AAAnE,6HAAA,kBAAkB,OAAA;AAC3B,iCAA8E;AAArE,8GAAA,YAAY,OAAyB;AAAE,qGAAA,YAAY,OAAA"}
@@ -5,7 +5,7 @@ export declare class ObjectStoreManager implements BinaryData.Manager {
5
5
  private readonly objectStoreService;
6
6
  constructor(objectStoreService: ObjectStoreService);
7
7
  init(): Promise<void>;
8
- store(workflowId: string, executionId: string, bufferOrStream: Buffer | Readable, metadata: BinaryData.PreWriteMetadata): Promise<{
8
+ store(location: BinaryData.FileLocation, bufferOrStream: Buffer | Readable, metadata: BinaryData.PreWriteMetadata): Promise<{
9
9
  fileId: string;
10
10
  fileSize: number;
11
11
  }>;
@@ -13,8 +13,8 @@ export declare class ObjectStoreManager implements BinaryData.Manager {
13
13
  getAsBuffer(fileId: string): Promise<Buffer<ArrayBufferLike>>;
14
14
  getAsStream(fileId: string): Promise<Readable>;
15
15
  getMetadata(fileId: string): Promise<BinaryData.Metadata>;
16
- copyByFileId(workflowId: string, executionId: string, sourceFileId: string): Promise<string>;
17
- copyByFilePath(workflowId: string, executionId: string, sourcePath: string, metadata: BinaryData.PreWriteMetadata): Promise<{
16
+ copyByFileId(targetLocation: BinaryData.FileLocation, sourceFileId: string): Promise<string>;
17
+ copyByFilePath(targetLocation: BinaryData.FileLocation, sourcePath: string, metadata: BinaryData.PreWriteMetadata): Promise<{
18
18
  fileId: string;
19
19
  fileSize: number;
20
20
  }>;
@@ -25,8 +25,8 @@ let ObjectStoreManager = class ObjectStoreManager {
25
25
  async init() {
26
26
  await this.objectStoreService.checkConnection();
27
27
  }
28
- async store(workflowId, executionId, bufferOrStream, metadata) {
29
- const fileId = this.toFileId(workflowId, executionId);
28
+ async store(location, bufferOrStream, metadata) {
29
+ const fileId = this.toFileId(location);
30
30
  const buffer = await (0, utils_1.binaryToBuffer)(bufferOrStream);
31
31
  await this.objectStoreService.put(fileId, buffer, metadata);
32
32
  return { fileId, fileSize: buffer.length };
@@ -49,14 +49,14 @@ let ObjectStoreManager = class ObjectStoreManager {
49
49
  metadata.fileName = fileName;
50
50
  return metadata;
51
51
  }
52
- async copyByFileId(workflowId, executionId, sourceFileId) {
53
- const targetFileId = this.toFileId(workflowId, executionId);
52
+ async copyByFileId(targetLocation, sourceFileId) {
53
+ const targetFileId = this.toFileId(targetLocation);
54
54
  const sourceFile = await this.objectStoreService.get(sourceFileId, { mode: 'buffer' });
55
55
  await this.objectStoreService.put(targetFileId, sourceFile);
56
56
  return targetFileId;
57
57
  }
58
- async copyByFilePath(workflowId, executionId, sourcePath, metadata) {
59
- const targetFileId = this.toFileId(workflowId, executionId);
58
+ async copyByFilePath(targetLocation, sourcePath, metadata) {
59
+ const targetFileId = this.toFileId(targetLocation);
60
60
  const sourceFile = await promises_1.default.readFile(sourcePath);
61
61
  await this.objectStoreService.put(targetFileId, sourceFile, metadata);
62
62
  return { fileId: targetFileId, fileSize: sourceFile.length };
@@ -67,10 +67,15 @@ let ObjectStoreManager = class ObjectStoreManager {
67
67
  await this.objectStoreService.put(newFileId, oldFile, oldFileMetadata);
68
68
  await this.objectStoreService.deleteOne(oldFileId);
69
69
  }
70
- toFileId(workflowId, executionId) {
71
- if (!executionId)
72
- executionId = 'temp';
73
- return `workflows/${workflowId}/executions/${executionId}/binary_data/${(0, uuid_1.v4)()}`;
70
+ toFileId(location) {
71
+ switch (location.type) {
72
+ case 'execution': {
73
+ const executionId = location.executionId || 'temp';
74
+ return `workflows/${location.workflowId}/executions/${executionId}/binary_data/${(0, uuid_1.v4)()}`;
75
+ }
76
+ case 'custom':
77
+ return `${location.pathSegments.join('/')}/binary_data/${(0, uuid_1.v4)()}`;
78
+ }
74
79
  }
75
80
  };
76
81
  exports.ObjectStoreManager = ObjectStoreManager;
@@ -1 +1 @@
1
- {"version":3,"file":"object-store.manager.js","sourceRoot":"","sources":["../../src/binary-data/object-store.manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-store.manager.js","sourceRoot":"","sources":["../../src/binary-data/object-store.manager.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { Readable } from 'stream';
2
+ import type { BINARY_DATA_MODES } from './binary-data.config';
2
3
  export declare namespace BinaryData {
3
4
  type LegacyMode = 'filesystem';
4
5
  type UpgradedMode = 'filesystem-v2';
5
- export type ConfigMode = 'default' | 'filesystem' | 's3';
6
+ export type ConfigMode = (typeof BINARY_DATA_MODES)[number];
6
7
  export type ServiceMode = Exclude<ConfigMode, LegacyMode> | UpgradedMode;
7
8
  export type StoredMode = Exclude<ConfigMode | UpgradedMode, 'default'>;
8
9
  export type Metadata = {
@@ -15,20 +16,25 @@ export declare namespace BinaryData {
15
16
  fileSize: number;
16
17
  };
17
18
  export type PreWriteMetadata = Omit<Metadata, 'fileSize'>;
18
- export type IdsForDeletion = Array<{
19
+ export type FileLocation = {
20
+ type: 'execution';
19
21
  workflowId: string;
20
22
  executionId: string;
21
- }>;
23
+ } | {
24
+ type: 'custom';
25
+ pathSegments: string[];
26
+ };
22
27
  export interface Manager {
23
28
  init(): Promise<void>;
24
- store(workflowId: string, executionId: string, bufferOrStream: Buffer | Readable, metadata: PreWriteMetadata): Promise<WriteResult>;
29
+ store(location: FileLocation, bufferOrStream: Buffer | Readable, metadata: PreWriteMetadata): Promise<WriteResult>;
25
30
  getPath(fileId: string): string;
26
31
  getAsBuffer(fileId: string): Promise<Buffer>;
27
32
  getAsStream(fileId: string, chunkSize?: number): Promise<Readable>;
28
33
  getMetadata(fileId: string): Promise<Metadata>;
29
- deleteMany?(ids: IdsForDeletion): Promise<void>;
30
- copyByFileId(workflowId: string, executionId: string, sourceFileId: string): Promise<string>;
31
- copyByFilePath(workflowId: string, executionId: string, sourcePath: string, metadata: PreWriteMetadata): Promise<WriteResult>;
34
+ deleteMany?(locations: FileLocation[]): Promise<void>;
35
+ deleteManyByFileId?(ids: string[]): Promise<void>;
36
+ copyByFileId(targetLocation: FileLocation, sourceFileId: string): Promise<string>;
37
+ copyByFilePath(targetLocation: FileLocation, sourcePath: string, metadata: PreWriteMetadata): Promise<WriteResult>;
32
38
  rename(oldFileId: string, newFileId: string): Promise<void>;
33
39
  }
34
40
  export type SigningPayload = {
@@ -1,9 +1,11 @@
1
1
  import type { Readable } from 'node:stream';
2
2
  import type { BinaryData } from './types';
3
- export declare const CONFIG_MODES: readonly ["default", "filesystem", "s3"];
4
- export declare function areConfigModes(modes: string[]): modes is BinaryData.ConfigMode[];
5
3
  export declare function isStoredMode(mode: string): mode is BinaryData.StoredMode;
6
4
  export declare function assertDir(dir: string): Promise<void>;
7
5
  export declare function doesNotExist(dir: string): Promise<boolean>;
8
6
  export declare function streamToBuffer(stream: Readable): Promise<Buffer<ArrayBufferLike>>;
9
7
  export declare function binaryToBuffer(body: Buffer | Readable): Promise<Buffer<ArrayBufferLike>>;
8
+ export declare const FileLocation: {
9
+ ofExecution: (workflowId: string, executionId: string) => BinaryData.FileLocation;
10
+ ofCustom: (pathSegments: string[]) => BinaryData.FileLocation;
11
+ };