n8n-core 1.50.0 → 1.52.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/dist/ActiveWorkflows.d.ts +6 -3
- package/dist/ActiveWorkflows.js +16 -24
- package/dist/ActiveWorkflows.js.map +1 -1
- package/dist/BinaryData/BinaryData.service.d.ts +0 -1
- package/dist/BinaryData/BinaryData.service.js +1 -4
- package/dist/BinaryData/BinaryData.service.js.map +1 -1
- package/dist/BinaryData/ObjectStore.manager.d.ts +0 -1
- package/dist/BinaryData/ObjectStore.manager.js +1 -4
- package/dist/BinaryData/ObjectStore.manager.js.map +1 -1
- package/dist/BinaryData/utils.d.ts +1 -1
- package/dist/BinaryData/utils.js +2 -2
- package/dist/BinaryData/utils.js.map +1 -1
- package/dist/Interfaces.d.ts +1 -2
- package/dist/NodeExecuteFunctions.d.ts +0 -1
- package/dist/NodeExecuteFunctions.js +33 -24
- package/dist/NodeExecuteFunctions.js.map +1 -1
- package/dist/ScheduledTaskManager.d.ts +8 -0
- package/dist/ScheduledTaskManager.js +43 -0
- package/dist/ScheduledTaskManager.js.map +1 -0
- package/dist/build.tsbuildinfo +1 -1
- package/package.json +4 -5
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import type { IGetExecutePollFunctions, IGetExecuteTriggerFunctions, INode,
|
|
1
|
+
import type { IGetExecutePollFunctions, IGetExecuteTriggerFunctions, INode, IWorkflowExecuteAdditionalData, Workflow, WorkflowActivateMode, WorkflowExecuteMode } from 'n8n-workflow';
|
|
2
|
+
import { ScheduledTaskManager } from './ScheduledTaskManager';
|
|
2
3
|
import type { IWorkflowData } from './Interfaces';
|
|
3
4
|
export declare class ActiveWorkflows {
|
|
5
|
+
private readonly scheduledTaskManager;
|
|
6
|
+
constructor(scheduledTaskManager: ScheduledTaskManager);
|
|
4
7
|
private activeWorkflows;
|
|
5
8
|
isActive(workflowId: string): boolean;
|
|
6
9
|
allActiveWorkflows(): string[];
|
|
7
10
|
get(workflowId: string): IWorkflowData;
|
|
8
11
|
add(workflowId: string, workflow: Workflow, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, activation: WorkflowActivateMode, getTriggerFunctions: IGetExecuteTriggerFunctions, getPollFunctions: IGetExecutePollFunctions): Promise<void>;
|
|
9
|
-
activatePolling(node: INode, workflow: Workflow, additionalData: IWorkflowExecuteAdditionalData, getPollFunctions: IGetExecutePollFunctions, mode: WorkflowExecuteMode, activation: WorkflowActivateMode): Promise<
|
|
12
|
+
activatePolling(node: INode, workflow: Workflow, additionalData: IWorkflowExecuteAdditionalData, getPollFunctions: IGetExecutePollFunctions, mode: WorkflowExecuteMode, activation: WorkflowActivateMode): Promise<void>;
|
|
10
13
|
remove(workflowId: string): Promise<boolean>;
|
|
11
14
|
removeAllTriggerAndPollerBasedWorkflows(): Promise<void>;
|
|
12
|
-
private
|
|
15
|
+
private closeTrigger;
|
|
13
16
|
}
|
package/dist/ActiveWorkflows.js
CHANGED
|
@@ -5,13 +5,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
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
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
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
|
+
};
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
12
|
exports.ActiveWorkflows = void 0;
|
|
10
13
|
const typedi_1 = require("typedi");
|
|
11
|
-
const cron_1 = require("cron");
|
|
12
14
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
15
|
+
const ScheduledTaskManager_1 = require("./ScheduledTaskManager");
|
|
13
16
|
let ActiveWorkflows = class ActiveWorkflows {
|
|
14
|
-
constructor() {
|
|
17
|
+
constructor(scheduledTaskManager) {
|
|
18
|
+
this.scheduledTaskManager = scheduledTaskManager;
|
|
15
19
|
this.activeWorkflows = {};
|
|
16
20
|
}
|
|
17
21
|
isActive(workflowId) {
|
|
@@ -43,10 +47,9 @@ let ActiveWorkflows = class ActiveWorkflows {
|
|
|
43
47
|
const pollingNodes = workflow.getPollNodes();
|
|
44
48
|
if (pollingNodes.length === 0)
|
|
45
49
|
return;
|
|
46
|
-
this.activeWorkflows[workflowId].pollResponses = [];
|
|
47
50
|
for (const pollNode of pollingNodes) {
|
|
48
51
|
try {
|
|
49
|
-
|
|
52
|
+
await this.activatePolling(pollNode, workflow, additionalData, getPollFunctions, mode, activation);
|
|
50
53
|
}
|
|
51
54
|
catch (e) {
|
|
52
55
|
const error = e instanceof Error ? e : new Error(`${e}`);
|
|
@@ -77,36 +80,24 @@ let ActiveWorkflows = class ActiveWorkflows {
|
|
|
77
80
|
}
|
|
78
81
|
};
|
|
79
82
|
await executeTrigger(true);
|
|
80
|
-
const timezone = pollFunctions.getTimezone();
|
|
81
|
-
const cronJobs = [];
|
|
82
83
|
for (const cronTime of cronTimes) {
|
|
83
84
|
const cronTimeParts = cronTime.split(' ');
|
|
84
85
|
if (cronTimeParts.length > 0 && cronTimeParts[0].includes('*')) {
|
|
85
86
|
throw new n8n_workflow_1.ApplicationError('The polling interval is too short. It has to be at least a minute.');
|
|
86
87
|
}
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
async function closeFunction() {
|
|
90
|
-
for (const cronJob of cronJobs) {
|
|
91
|
-
cronJob.stop();
|
|
92
|
-
}
|
|
88
|
+
this.scheduledTaskManager.registerCron(workflow, cronTime, executeTrigger);
|
|
93
89
|
}
|
|
94
|
-
return {
|
|
95
|
-
closeFunction,
|
|
96
|
-
};
|
|
97
90
|
}
|
|
98
91
|
async remove(workflowId) {
|
|
99
|
-
var _a
|
|
92
|
+
var _a;
|
|
100
93
|
if (!this.isActive(workflowId)) {
|
|
101
94
|
n8n_workflow_1.LoggerProxy.warn(`Cannot deactivate already inactive workflow ID "${workflowId}"`);
|
|
102
95
|
return false;
|
|
103
96
|
}
|
|
97
|
+
this.scheduledTaskManager.deregisterCrons(workflowId);
|
|
104
98
|
const w = this.activeWorkflows[workflowId];
|
|
105
99
|
for (const r of (_a = w.triggerResponses) !== null && _a !== void 0 ? _a : []) {
|
|
106
|
-
await this.
|
|
107
|
-
}
|
|
108
|
-
for (const r of (_b = w.pollResponses) !== null && _b !== void 0 ? _b : []) {
|
|
109
|
-
await this.close(r, workflowId, 'poller');
|
|
100
|
+
await this.closeTrigger(r, workflowId);
|
|
110
101
|
}
|
|
111
102
|
delete this.activeWorkflows[workflowId];
|
|
112
103
|
return true;
|
|
@@ -116,7 +107,7 @@ let ActiveWorkflows = class ActiveWorkflows {
|
|
|
116
107
|
await this.remove(workflowId);
|
|
117
108
|
}
|
|
118
109
|
}
|
|
119
|
-
async
|
|
110
|
+
async closeTrigger(response, workflowId) {
|
|
120
111
|
if (!response.closeFunction)
|
|
121
112
|
return;
|
|
122
113
|
try {
|
|
@@ -125,16 +116,17 @@ let ActiveWorkflows = class ActiveWorkflows {
|
|
|
125
116
|
catch (e) {
|
|
126
117
|
if (e instanceof n8n_workflow_1.TriggerCloseError) {
|
|
127
118
|
n8n_workflow_1.LoggerProxy.error(`There was a problem calling "closeFunction" on "${e.node.name}" in workflow "${workflowId}"`);
|
|
128
|
-
n8n_workflow_1.ErrorReporterProxy.error(e, { extra: {
|
|
119
|
+
n8n_workflow_1.ErrorReporterProxy.error(e, { extra: { workflowId } });
|
|
129
120
|
return;
|
|
130
121
|
}
|
|
131
122
|
const error = e instanceof Error ? e : new Error(`${e}`);
|
|
132
|
-
throw new n8n_workflow_1.WorkflowDeactivationError(`Failed to deactivate
|
|
123
|
+
throw new n8n_workflow_1.WorkflowDeactivationError(`Failed to deactivate trigger of workflow ID "${workflowId}": "${error.message}"`, { cause: error, workflowId });
|
|
133
124
|
}
|
|
134
125
|
}
|
|
135
126
|
};
|
|
136
127
|
exports.ActiveWorkflows = ActiveWorkflows;
|
|
137
128
|
exports.ActiveWorkflows = ActiveWorkflows = __decorate([
|
|
138
|
-
(0, typedi_1.Service)()
|
|
129
|
+
(0, typedi_1.Service)(),
|
|
130
|
+
__metadata("design:paramtypes", [ScheduledTaskManager_1.ScheduledTaskManager])
|
|
139
131
|
], ActiveWorkflows);
|
|
140
132
|
//# sourceMappingURL=ActiveWorkflows.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActiveWorkflows.js","sourceRoot":"","sources":["../src/ActiveWorkflows.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActiveWorkflows.js","sourceRoot":"","sources":["../src/ActiveWorkflows.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@ export declare class BinaryDataService {
|
|
|
7
7
|
init(config: BinaryData.Config): Promise<void>;
|
|
8
8
|
copyBinaryFile(workflowId: string, executionId: string, binaryData: IBinaryData, filePath: string): Promise<IBinaryData>;
|
|
9
9
|
store(workflowId: string, executionId: string, bufferOrStream: Buffer | Readable, binaryData: IBinaryData): Promise<IBinaryData>;
|
|
10
|
-
toBuffer(bufferOrStream: Buffer | Readable): Promise<Buffer>;
|
|
11
10
|
getAsStream(binaryDataId: string, chunkSize?: number): Promise<Readable>;
|
|
12
11
|
getAsBuffer(binaryData: IBinaryData): Promise<Buffer>;
|
|
13
12
|
getPath(binaryDataId: string): string;
|
|
@@ -83,7 +83,7 @@ let BinaryDataService = class BinaryDataService {
|
|
|
83
83
|
async store(workflowId, executionId, bufferOrStream, binaryData) {
|
|
84
84
|
const manager = this.managers[this.mode];
|
|
85
85
|
if (!manager) {
|
|
86
|
-
const buffer = await
|
|
86
|
+
const buffer = await (0, utils_1.binaryToBuffer)(bufferOrStream);
|
|
87
87
|
binaryData.data = buffer.toString(n8n_workflow_1.BINARY_ENCODING);
|
|
88
88
|
binaryData.fileSize = (0, pretty_bytes_1.default)(buffer.length);
|
|
89
89
|
return binaryData;
|
|
@@ -98,9 +98,6 @@ let BinaryDataService = class BinaryDataService {
|
|
|
98
98
|
binaryData.data = this.mode;
|
|
99
99
|
return binaryData;
|
|
100
100
|
}
|
|
101
|
-
async toBuffer(bufferOrStream) {
|
|
102
|
-
return await (0, utils_1.toBuffer)(bufferOrStream);
|
|
103
|
-
}
|
|
104
101
|
async getAsStream(binaryDataId, chunkSize) {
|
|
105
102
|
const [mode, fileId] = binaryDataId.split(':');
|
|
106
103
|
return await this.getManager(mode).getAsStream(fileId, chunkSize);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryData.service.js","sourceRoot":"","sources":["../../src/BinaryData/BinaryData.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAkD;AAClD,gEAAuC;AACvC,iDAA4C;AAC5C,+CAA+C;AAC/C,qEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"BinaryData.service.js","sourceRoot":"","sources":["../../src/BinaryData/BinaryData.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAkD;AAClD,gEAAuC;AACvC,iDAA4C;AAC5C,+CAA+C;AAC/C,qEAAgE;AAChE,mCAAyD;AAKzD,2EAAsE;AAG/D,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAAvB;QACE,SAAI,GAA2B,SAAS,CAAC;QAEzC,aAAQ,GAAuC,EAAE,CAAC;IAsO3D,CAAC;IApOA,KAAK,CAAC,IAAI,CAAC,MAAyB;QACnC,IAAI,CAAC,IAAA,sBAAc,EAAC,MAAM,CAAC,cAAc,CAAC;YAAE,MAAM,IAAI,qCAAgB,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,CAAC;YAClD,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;QACvC,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,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;QAC/B,CAAC;IACF,CAAC;IAED,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,CAAC;YACd,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;QACnB,CAAC;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;IAED,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,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAc,EAAC,cAAc,CAAC,CAAC;YACpD,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;QACnB,CAAC;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,WAAW,CAAC,YAAoB,EAAE,SAAkB;QACzD,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAuB;QACxC,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEhD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;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,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxD,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,IAAI,OAAO,CAAC,UAAU;YAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,mBAAmB,CACxB,UAAkB,EAClB,WAAmB,EACnB,SAA6C;QAE7C,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,eAAe,GAAI,SAAoC,CAAC,GAAG,CAChE,KAAK,EAAE,kBAAkB,EAAE,EAAE;gBAC5B,IAAI,kBAAkB,EAAE,CAAC;oBACxB,OAAO,MAAM,OAAO,CAAC,GAAG,CACvB,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;wBAC9C,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;4BAC1B,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAC9C,UAAU,EACV,WAAW,EACX,aAAa,CACb,CAAC;wBACH,CAAC;wBAED,OAAO,aAAa,CAAC;oBACtB,CAAC,CAAC,CACF,CAAC;gBACH,CAAC;gBAED,OAAO,kBAAkB,CAAC;YAC3B,CAAC,CACD,CAAC;YAEF,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,SAAmC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,SAAiB;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAMO,kBAAkB,CAAC,MAAc;QACxC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAC1C,UAAkB,EAClB,WAAmB,EACnB,aAAiC;QAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;gBAC3D,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;oBAC3B,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAClC,CAAC;gBAED,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAClC,CAAC;gBAED,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEhD,OAAO,MAAM,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACxF,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;oBACzC,GAAG;iBACH,CAAC,CAAC,CAAA,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/C,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBAC7B,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;wBACxB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;oBACtC,CAAC;oBAED,OAAO,GAAG,CAAC;gBACZ,CAAC,EAAE,aAAa,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,aAAa,CAAC;IACtB,CAAC;IAEO,UAAU,CAAC,IAAY;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,MAAM,IAAI,2CAAmB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACD,CAAA;AAzOY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,gBAAO,GAAE;GACG,iBAAiB,CAyO7B"}
|
|
@@ -27,7 +27,7 @@ let ObjectStoreManager = class ObjectStoreManager {
|
|
|
27
27
|
}
|
|
28
28
|
async store(workflowId, executionId, bufferOrStream, metadata) {
|
|
29
29
|
const fileId = this.toFileId(workflowId, executionId);
|
|
30
|
-
const buffer = await
|
|
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 };
|
|
33
33
|
}
|
|
@@ -72,9 +72,6 @@ let ObjectStoreManager = class ObjectStoreManager {
|
|
|
72
72
|
executionId = 'temp';
|
|
73
73
|
return `workflows/${workflowId}/executions/${executionId}/binary_data/${(0, uuid_1.v4)()}`;
|
|
74
74
|
}
|
|
75
|
-
async toBuffer(bufferOrStream) {
|
|
76
|
-
return await (0, utils_1.toBuffer)(bufferOrStream);
|
|
77
|
-
}
|
|
78
75
|
};
|
|
79
76
|
exports.ObjectStoreManager = ObjectStoreManager;
|
|
80
77
|
exports.ObjectStoreManager = ObjectStoreManager = __decorate([
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"ObjectStore.manager.js","sourceRoot":"","sources":["../../src/BinaryData/ObjectStore.manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAkC;AAClC,mCAAiC;AACjC,+BAAkC;AAClC,mCAAyC;AACzC,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,IAAA,sBAAc,EAAC,cAAc,CAAC,CAAC;QAEpD,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,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC/B,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtE,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,MAAM,CAAC,SAAiB,EAAE,SAAiB;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAE7E,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAMO,QAAQ,CAAC,UAAkB,EAAE,WAAmB;QACvD,IAAI,CAAC,WAAW;YAAE,WAAW,GAAG,MAAM,CAAC;QAEvC,OAAO,aAAa,UAAU,eAAe,WAAW,gBAAgB,IAAA,SAAI,GAAE,EAAE,CAAC;IAClF,CAAC;CACD,CAAA;AA5FY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,gBAAO,GAAE;qCAEwC,2CAAkB;GADvD,kBAAkB,CA4F9B"}
|
|
@@ -5,4 +5,4 @@ export declare function areConfigModes(modes: string[]): modes is BinaryData.Con
|
|
|
5
5
|
export declare function isStoredMode(mode: string): mode is BinaryData.StoredMode;
|
|
6
6
|
export declare function assertDir(dir: string): Promise<void>;
|
|
7
7
|
export declare function doesNotExist(dir: string): Promise<boolean>;
|
|
8
|
-
export declare function
|
|
8
|
+
export declare function binaryToBuffer(body: Buffer | Readable): Promise<Buffer>;
|
package/dist/BinaryData/utils.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.areConfigModes = areConfigModes;
|
|
|
8
8
|
exports.isStoredMode = isStoredMode;
|
|
9
9
|
exports.assertDir = assertDir;
|
|
10
10
|
exports.doesNotExist = doesNotExist;
|
|
11
|
-
exports.
|
|
11
|
+
exports.binaryToBuffer = binaryToBuffer;
|
|
12
12
|
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
13
13
|
const concat_stream_1 = __importDefault(require("concat-stream"));
|
|
14
14
|
exports.CONFIG_MODES = ['default', 'filesystem', 's3'];
|
|
@@ -36,7 +36,7 @@ async function doesNotExist(dir) {
|
|
|
36
36
|
return true;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
async function
|
|
39
|
+
async function binaryToBuffer(body) {
|
|
40
40
|
if (Buffer.isBuffer(body))
|
|
41
41
|
return body;
|
|
42
42
|
return await new Promise((resolve, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/BinaryData/utils.ts"],"names":[],"mappings":";;;;;;AASA,wCAEC;AAED,oCAEC;AAED,8BAMC;AAED,oCAOC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/BinaryData/utils.ts"],"names":[],"mappings":";;;;;;AASA,wCAEC;AAED,oCAEC;AAED,8BAMC;AAED,oCAOC;AAGD,wCAWC;AA9CD,gEAAkC;AAGlC,kEAAyC;AAE5B,QAAA,YAAY,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAU,CAAC;AAErE,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAU,CAAC;AAEpE,SAAgB,cAAc,CAAC,KAAe;IAC7C,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAY,CAAC,QAAQ,CAAC,CAA0B,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,YAAY,CAAC,IAAY;IACxC,OAAO,YAAY,CAAC,QAAQ,CAAC,IAA6B,CAAC,CAAC;AAC7D,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,GAAW;IAC1C,IAAI,CAAC;QACJ,MAAM,kBAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,kBAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;AACF,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,GAAW;IAC7C,IAAI,CAAC;QACJ,MAAM,kBAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAGM,KAAK,UAAU,cAAc,CAAC,IAAuB;IAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpD,IAAI;aACF,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBACnD,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;;gBAC1D,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;aACD,IAAI,CAAC,IAAA,uBAAY,EAAC,OAAO,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/Interfaces.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ITriggerResponse, IWorkflowSettings as IWorkflowSettingsWorkflow, ValidationResult } from 'n8n-workflow';
|
|
2
2
|
export type Class<T = object, A extends unknown[] = unknown[]> = new (...args: A) => T;
|
|
3
3
|
export interface IResponseError extends Error {
|
|
4
4
|
statusCode?: number;
|
|
@@ -9,7 +9,6 @@ export interface IWorkflowSettings extends IWorkflowSettingsWorkflow {
|
|
|
9
9
|
saveManualRuns?: boolean;
|
|
10
10
|
}
|
|
11
11
|
export interface IWorkflowData {
|
|
12
|
-
pollResponses?: IPollResponse[];
|
|
13
12
|
triggerResponses?: ITriggerResponse[];
|
|
14
13
|
}
|
|
15
14
|
export declare namespace n8n {
|
|
@@ -37,7 +37,6 @@ export declare function ensureType(toType: EnsureTypeOptions, parameterValue: an
|
|
|
37
37
|
export declare function getNodeParameter(workflow: Workflow, runExecutionData: IRunExecutionData | null, runIndex: number, connectionInputData: INodeExecutionData[], node: INode, parameterName: string, itemIndex: number, mode: WorkflowExecuteMode, additionalKeys: IWorkflowDataProxyAdditionalKeys, executeData?: IExecuteData, fallbackValue?: any, options?: IGetNodeParameterOptions): NodeParameterValueType | object;
|
|
38
38
|
export declare function continueOnFail(node: INode): boolean;
|
|
39
39
|
export declare function getNodeWebhookUrl(name: string, workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, additionalKeys: IWorkflowDataProxyAdditionalKeys, isTest?: boolean): string | undefined;
|
|
40
|
-
export declare function getTimezone(workflow: Workflow): string;
|
|
41
40
|
export declare function getWebhookDescription(name: string, workflow: Workflow, node: INode): IWebhookDescription | undefined;
|
|
42
41
|
export declare function copyInputItems(items: INodeExecutionData[], properties: string[]): IDataObject[];
|
|
43
42
|
export declare function getExecutePollFunctions(workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, activation: WorkflowActivateMode): IPollFunctions;
|
|
@@ -51,7 +51,6 @@ exports.ensureType = ensureType;
|
|
|
51
51
|
exports.getNodeParameter = getNodeParameter;
|
|
52
52
|
exports.continueOnFail = continueOnFail;
|
|
53
53
|
exports.getNodeWebhookUrl = getNodeWebhookUrl;
|
|
54
|
-
exports.getTimezone = getTimezone;
|
|
55
54
|
exports.getWebhookDescription = getWebhookDescription;
|
|
56
55
|
exports.copyInputItems = copyInputItems;
|
|
57
56
|
exports.getExecutePollFunctions = getExecutePollFunctions;
|
|
@@ -90,7 +89,9 @@ const Secrets_1 = require("./Secrets");
|
|
|
90
89
|
const typedi_1 = __importDefault(require("typedi"));
|
|
91
90
|
const merge_1 = __importDefault(require("lodash/merge"));
|
|
92
91
|
const InstanceSettings_1 = require("./InstanceSettings");
|
|
92
|
+
const ScheduledTaskManager_1 = require("./ScheduledTaskManager");
|
|
93
93
|
const SSHClientsManager_1 = require("./SSHClientsManager");
|
|
94
|
+
const utils_1 = require("./BinaryData/utils");
|
|
94
95
|
axios_1.default.defaults.timeout = 300000;
|
|
95
96
|
axios_1.default.defaults.headers.post = {};
|
|
96
97
|
axios_1.default.defaults.headers.put = {};
|
|
@@ -564,6 +565,14 @@ function parseIncomingMessage(message) {
|
|
|
564
565
|
message.contentDisposition = contentDisposition;
|
|
565
566
|
}
|
|
566
567
|
}
|
|
568
|
+
async function binaryToString(body, encoding) {
|
|
569
|
+
const buffer = await (0, utils_1.binaryToBuffer)(body);
|
|
570
|
+
if (!encoding && body instanceof http_1.IncomingMessage) {
|
|
571
|
+
parseIncomingMessage(body);
|
|
572
|
+
encoding = body.encoding;
|
|
573
|
+
}
|
|
574
|
+
return buffer.toString(encoding);
|
|
575
|
+
}
|
|
567
576
|
async function proxyRequestToAxios(workflow, additionalData, node, uriOrObject, options) {
|
|
568
577
|
var _a, _b, _c;
|
|
569
578
|
let axiosConfig = {
|
|
@@ -629,9 +638,7 @@ async function proxyRequestToAxios(workflow, additionalData, node, uriOrObject,
|
|
|
629
638
|
n8n_workflow_1.LoggerProxy.debug('Request proxied to Axios failed', { status: response.status });
|
|
630
639
|
let responseData = response.data;
|
|
631
640
|
if (Buffer.isBuffer(responseData) || responseData instanceof stream_1.Readable) {
|
|
632
|
-
responseData = await
|
|
633
|
-
.toBuffer(responseData)
|
|
634
|
-
.then((buffer) => buffer.toString('utf-8'));
|
|
641
|
+
responseData = await binaryToString(responseData);
|
|
635
642
|
}
|
|
636
643
|
if (configObject.simple === false) {
|
|
637
644
|
if (configObject.resolveWithFullResponse) {
|
|
@@ -1676,10 +1683,6 @@ function getNodeWebhookUrl(name, workflow, node, additionalData, mode, additiona
|
|
|
1676
1683
|
const isFullPath = workflow.expression.getSimpleParameterValue(node, webhookDescription.isFullPath, mode, additionalKeys, undefined, false);
|
|
1677
1684
|
return n8n_workflow_1.NodeHelpers.getNodeWebhookUrl(baseUrl, workflow.id, node, path.toString(), isFullPath);
|
|
1678
1685
|
}
|
|
1679
|
-
function getTimezone(workflow) {
|
|
1680
|
-
var _a;
|
|
1681
|
-
return (_a = workflow.settings.timezone) !== null && _a !== void 0 ? _a : (0, n8n_workflow_1.getGlobalState)().defaultTimezone;
|
|
1682
|
-
}
|
|
1683
1686
|
function getWebhookDescription(name, workflow, node) {
|
|
1684
1687
|
const nodeType = workflow.nodeTypes.getByNameAndVersion(node.type, node.typeVersion);
|
|
1685
1688
|
if (nodeType.description.webhooks === undefined) {
|
|
@@ -1772,7 +1775,7 @@ const addExecutionDataFunctions = async (type, nodeName, data, runExecutionData,
|
|
|
1772
1775
|
}
|
|
1773
1776
|
};
|
|
1774
1777
|
async function getInputConnectionData(workflow, runExecutionData, runIndex, connectionInputData, additionalData, executeData, mode, closeFunctions, inputName, itemIndex) {
|
|
1775
|
-
var _a;
|
|
1778
|
+
var _a, _b, _c;
|
|
1776
1779
|
const node = this.getNode();
|
|
1777
1780
|
const nodeType = workflow.nodeTypes.getByNameAndVersion(node.type, node.typeVersion);
|
|
1778
1781
|
const inputs = n8n_workflow_1.NodeHelpers.getNodeInputs(workflow, node, nodeType.description);
|
|
@@ -1794,6 +1797,9 @@ async function getInputConnectionData(workflow, runExecutionData, runIndex, conn
|
|
|
1794
1797
|
}
|
|
1795
1798
|
const parentNodes = workflow.getParentNodes(node.name, inputName, 1);
|
|
1796
1799
|
if (parentNodes.length === 0) {
|
|
1800
|
+
if (inputConfiguration.required) {
|
|
1801
|
+
throw new n8n_workflow_1.NodeOperationError(node, `A ${(_a = inputConfiguration === null || inputConfiguration === void 0 ? void 0 : inputConfiguration.displayName) !== null && _a !== void 0 ? _a : inputName} sub-node must be connected`);
|
|
1802
|
+
}
|
|
1797
1803
|
return inputConfiguration.maxConnections === 1 ? undefined : [];
|
|
1798
1804
|
}
|
|
1799
1805
|
const constParentNodes = parentNodes
|
|
@@ -1857,14 +1863,14 @@ async function getInputConnectionData(workflow, runExecutionData, runIndex, conn
|
|
|
1857
1863
|
});
|
|
1858
1864
|
const nodes = await Promise.all(constParentNodes);
|
|
1859
1865
|
if (inputConfiguration.required && nodes.length === 0) {
|
|
1860
|
-
throw new n8n_workflow_1.NodeOperationError(node, `A ${inputName}
|
|
1866
|
+
throw new n8n_workflow_1.NodeOperationError(node, `A ${(_b = inputConfiguration === null || inputConfiguration === void 0 ? void 0 : inputConfiguration.displayName) !== null && _b !== void 0 ? _b : inputName} sub-node must be connected`);
|
|
1861
1867
|
}
|
|
1862
1868
|
if (inputConfiguration.maxConnections !== undefined &&
|
|
1863
1869
|
nodes.length > inputConfiguration.maxConnections) {
|
|
1864
|
-
throw new n8n_workflow_1.NodeOperationError(node, `Only ${inputConfiguration.maxConnections} ${inputName}
|
|
1870
|
+
throw new n8n_workflow_1.NodeOperationError(node, `Only ${inputConfiguration.maxConnections} ${inputName} sub-nodes are/is allowed to be connected`);
|
|
1865
1871
|
}
|
|
1866
1872
|
return inputConfiguration.maxConnections === 1
|
|
1867
|
-
? (
|
|
1873
|
+
? (_c = (nodes || [])[0]) === null || _c === void 0 ? void 0 : _c.response
|
|
1868
1874
|
: nodes.map((node) => node.response);
|
|
1869
1875
|
}
|
|
1870
1876
|
const getCommonWorkflowFunctions = (workflow, node, additionalData) => ({
|
|
@@ -1907,7 +1913,7 @@ const getCommonWorkflowFunctions = (workflow, node, additionalData) => ({
|
|
|
1907
1913
|
getRestApiUrl: () => additionalData.restApiUrl,
|
|
1908
1914
|
getInstanceBaseUrl: () => additionalData.instanceBaseUrl,
|
|
1909
1915
|
getInstanceId: () => typedi_1.default.get(InstanceSettings_1.InstanceSettings).instanceId,
|
|
1910
|
-
getTimezone: () =>
|
|
1916
|
+
getTimezone: () => workflow.timezone,
|
|
1911
1917
|
getCredentialsProperties: (type) => additionalData.credentialsHelper.getCredentialsProperties(type),
|
|
1912
1918
|
prepareOutputData: async (outputData) => [outputData],
|
|
1913
1919
|
});
|
|
@@ -1985,16 +1991,13 @@ const getRequestHelperFunctions = (workflow, node, additionalData) => {
|
|
|
1985
1991
|
}, (0, pick_1.default)(tempResponseData, ['body', 'headers', 'statusCode']));
|
|
1986
1992
|
let contentBody;
|
|
1987
1993
|
if (newResponse.body instanceof stream_1.Readable && paginationOptions.binaryResult !== true) {
|
|
1988
|
-
|
|
1989
|
-
.binaryToBuffer(newResponse.body)
|
|
1990
|
-
.then((body) => body.toString());
|
|
1991
|
-
contentBody = data;
|
|
1994
|
+
contentBody = await binaryToString(newResponse.body);
|
|
1992
1995
|
const responseContentType = (_b = (_a = newResponse.headers['content-type']) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '';
|
|
1993
1996
|
if (responseContentType.includes('application/json')) {
|
|
1994
|
-
newResponse.body = (0, n8n_workflow_1.jsonParse)(
|
|
1997
|
+
newResponse.body = (0, n8n_workflow_1.jsonParse)(contentBody, { fallbackValue: {} });
|
|
1995
1998
|
}
|
|
1996
1999
|
else {
|
|
1997
|
-
newResponse.body =
|
|
2000
|
+
newResponse.body = contentBody;
|
|
1998
2001
|
}
|
|
1999
2002
|
tempResponseData.__bodyResolved = true;
|
|
2000
2003
|
tempResponseData.body = newResponse.body;
|
|
@@ -2052,9 +2055,7 @@ const getRequestHelperFunctions = (workflow, node, additionalData) => {
|
|
|
2052
2055
|
if (tempResponseData.statusCode < 200 || tempResponseData.statusCode >= 300) {
|
|
2053
2056
|
let data = tempResponseData.body;
|
|
2054
2057
|
if (data instanceof stream_1.Readable && paginationOptions.binaryResult !== true) {
|
|
2055
|
-
data = await
|
|
2056
|
-
.binaryToBuffer(tempResponseData.body)
|
|
2057
|
-
.then((body) => body.toString());
|
|
2058
|
+
data = await binaryToString(data);
|
|
2058
2059
|
}
|
|
2059
2060
|
else if (typeof data === 'object') {
|
|
2060
2061
|
data = JSON.stringify(data);
|
|
@@ -2092,6 +2093,12 @@ const getRequestHelperFunctions = (workflow, node, additionalData) => {
|
|
|
2092
2093
|
const getSSHTunnelFunctions = () => ({
|
|
2093
2094
|
getSSHClient: async (credentials) => await typedi_1.default.get(SSHClientsManager_1.SSHClientsManager).getClient(credentials),
|
|
2094
2095
|
});
|
|
2096
|
+
const getSchedulingFunctions = (workflow) => {
|
|
2097
|
+
const scheduledTaskManager = typedi_1.default.get(ScheduledTaskManager_1.ScheduledTaskManager);
|
|
2098
|
+
return {
|
|
2099
|
+
registerCron: (cronExpression, onTick) => scheduledTaskManager.registerCron(workflow, cronExpression, onTick),
|
|
2100
|
+
};
|
|
2101
|
+
};
|
|
2095
2102
|
const getAllowedPaths = () => {
|
|
2096
2103
|
const restrictFileAccessTo = process.env[Constants_1.RESTRICT_FILE_ACCESS_TO];
|
|
2097
2104
|
if (!restrictFileAccessTo) {
|
|
@@ -2183,7 +2190,8 @@ const getBinaryHelperFunctions = ({ executionId }, workflowId) => ({
|
|
|
2183
2190
|
getBinaryPath,
|
|
2184
2191
|
getBinaryStream,
|
|
2185
2192
|
getBinaryMetadata,
|
|
2186
|
-
binaryToBuffer:
|
|
2193
|
+
binaryToBuffer: utils_1.binaryToBuffer,
|
|
2194
|
+
binaryToString,
|
|
2187
2195
|
prepareBinaryData: async (binaryData, filePath, mimeType) => await prepareBinaryData(binaryData, executionId, workflowId, filePath, mimeType),
|
|
2188
2196
|
setBinaryDataBuffer: async (data, binaryData) => await setBinaryDataBuffer(data, binaryData, workflowId, executionId),
|
|
2189
2197
|
copyBinaryFile: async () => {
|
|
@@ -2228,6 +2236,7 @@ function getExecutePollFunctions(workflow, node, additionalData, mode, activatio
|
|
|
2228
2236
|
createDeferredPromise: n8n_workflow_1.createDeferredPromise,
|
|
2229
2237
|
...getRequestHelperFunctions(workflow, node, additionalData),
|
|
2230
2238
|
...getBinaryHelperFunctions(additionalData, workflow.id),
|
|
2239
|
+
...getSchedulingFunctions(workflow),
|
|
2231
2240
|
returnJsonArray,
|
|
2232
2241
|
},
|
|
2233
2242
|
};
|
|
@@ -2258,6 +2267,7 @@ function getExecuteTriggerFunctions(workflow, node, additionalData, mode, activa
|
|
|
2258
2267
|
...getSSHTunnelFunctions(),
|
|
2259
2268
|
...getRequestHelperFunctions(workflow, node, additionalData),
|
|
2260
2269
|
...getBinaryHelperFunctions(additionalData, workflow.id),
|
|
2270
|
+
...getSchedulingFunctions(workflow),
|
|
2261
2271
|
returnJsonArray,
|
|
2262
2272
|
},
|
|
2263
2273
|
};
|
|
@@ -2350,7 +2360,6 @@ function getExecuteFunctions(workflow, runExecutionData, runIndex, connectionInp
|
|
|
2350
2360
|
const dataProxy = new n8n_workflow_1.WorkflowDataProxy(workflow, runExecutionData, runIndex, itemIndex, node.name, connectionInputData, {}, mode, getAdditionalKeys(additionalData, mode, runExecutionData), executeData);
|
|
2351
2361
|
return dataProxy.getDataProxy();
|
|
2352
2362
|
},
|
|
2353
|
-
binaryToBuffer: async (body) => await typedi_1.default.get(BinaryData_service_1.BinaryDataService).toBuffer(body),
|
|
2354
2363
|
async putExecutionToWait(waitTill) {
|
|
2355
2364
|
runExecutionData.waitTill = waitTill;
|
|
2356
2365
|
if (additionalData.setExecutionStatus) {
|