n8n-core 1.50.0 → 1.51.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 +26 -20
- 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 +5 -6
|
@@ -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":";;;;;;;;;;;;AAAA,mCAAiC;AAajC,+CAQsB;AAEtB,iEAA8D;AAIvD,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B,YAA6B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;QAE/D,oBAAe,GAA4C,EAAE,CAAC;IAFI,CAAC;IAO3E,QAAQ,CAAC,UAAkB;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;IAKD,kBAAkB;QACjB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAKD,GAAG,CAAC,UAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IASD,KAAK,CAAC,GAAG,CACR,UAAkB,EAClB,QAAkB,EAClB,cAA8C,EAC9C,IAAyB,EACzB,UAAgC,EAChC,mBAAgD,EAChD,gBAA0C;QAE1C,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;QAEhD,IAAI,eAA6C,CAAC;QAElD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAEvD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC;gBACJ,eAAe,GAAG,MAAM,QAAQ,CAAC,UAAU,CAC1C,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,IAAI,EACJ,UAAU,CACV,CAAC;gBACF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBAInC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,gBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC1E,CAAC;YACF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEzD,MAAM,IAAI,sCAAuB,CAChC,iDAAiD,KAAK,CAAC,OAAO,GAAG,EACjE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CACnC,CAAC;YACH,CAAC;QACF,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE7C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEtC,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YACrC,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,eAAe,CACzB,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,IAAI,EACJ,UAAU,CACV,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEzD,MAAM,IAAI,sCAAuB,CAChC,iDAAiD,KAAK,CAAC,OAAO,GAAG,EACjE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAChC,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAKD,KAAK,CAAC,eAAe,CACpB,IAAW,EACX,QAAkB,EAClB,cAA8C,EAC9C,gBAA0C,EAC1C,IAAyB,EACzB,UAAgC;QAEhC,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAEzF,MAAM,SAAS,GAAG,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAE3D,CAAC;QAGF,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,+BAAgB,CAAC,CAAC;QAE/D,MAAM,cAAc,GAAG,KAAK,EAAE,cAAc,GAAG,KAAK,EAAE,EAAE;YACvD,0BAAM,CAAC,KAAK,CAAC,2CAA2C,QAAQ,CAAC,IAAI,GAAG,EAAE;gBACzE,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,UAAU,EAAE,QAAQ,CAAC,EAAE;aACvB,CAAC,CAAC;YAEH,IAAI,CAAC;gBACJ,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBAEjE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBAC3B,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAIhB,IAAI,cAAc,EAAE,CAAC;oBACpB,MAAM,KAAK,CAAC;gBACb,CAAC;gBACD,aAAa,CAAC,WAAW,CAAC,KAAc,CAAC,CAAC;YAC3C,CAAC;QACF,CAAC,CAAC;QAGF,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;QAE3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,+BAAgB,CACzB,oEAAoE,CACpE,CAAC;YACH,CAAC;YAED,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC5E,CAAC;IACF,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,UAAkB;;QAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,0BAAM,CAAC,IAAI,CAAC,mDAAmD,UAAU,GAAG,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAEtD,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,MAAA,CAAC,CAAC,gBAAgB,mCAAI,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,KAAK,CAAC,uCAAuC;QAC5C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAA0B,EAAE,UAAkB;QACxE,IAAI,CAAC,QAAQ,CAAC,aAAa;YAAE,OAAO;QAEpC,IAAI,CAAC;YACJ,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,gCAAiB,EAAE,CAAC;gBACpC,0BAAM,CAAC,KAAK,CACX,mDAAmD,CAAC,CAAC,IAAI,CAAC,IAAI,kBAAkB,UAAU,GAAG,CAC7F,CAAC;gBACF,iCAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;gBAClD,OAAO;YACR,CAAC;YAED,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEzD,MAAM,IAAI,wCAAyB,CAClC,gDAAgD,UAAU,OAAO,KAAK,CAAC,OAAO,GAAG,EACjF,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAC5B,CAAC;QACH,CAAC;IACF,CAAC;CACD,CAAA;AA9MY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,gBAAO,GAAE;qCAE0C,2CAAoB;GAD3D,eAAe,CA8M3B"}
|
|
@@ -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":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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) {
|
|
@@ -1907,7 +1910,7 @@ const getCommonWorkflowFunctions = (workflow, node, additionalData) => ({
|
|
|
1907
1910
|
getRestApiUrl: () => additionalData.restApiUrl,
|
|
1908
1911
|
getInstanceBaseUrl: () => additionalData.instanceBaseUrl,
|
|
1909
1912
|
getInstanceId: () => typedi_1.default.get(InstanceSettings_1.InstanceSettings).instanceId,
|
|
1910
|
-
getTimezone: () =>
|
|
1913
|
+
getTimezone: () => workflow.timezone,
|
|
1911
1914
|
getCredentialsProperties: (type) => additionalData.credentialsHelper.getCredentialsProperties(type),
|
|
1912
1915
|
prepareOutputData: async (outputData) => [outputData],
|
|
1913
1916
|
});
|
|
@@ -1985,16 +1988,13 @@ const getRequestHelperFunctions = (workflow, node, additionalData) => {
|
|
|
1985
1988
|
}, (0, pick_1.default)(tempResponseData, ['body', 'headers', 'statusCode']));
|
|
1986
1989
|
let contentBody;
|
|
1987
1990
|
if (newResponse.body instanceof stream_1.Readable && paginationOptions.binaryResult !== true) {
|
|
1988
|
-
|
|
1989
|
-
.binaryToBuffer(newResponse.body)
|
|
1990
|
-
.then((body) => body.toString());
|
|
1991
|
-
contentBody = data;
|
|
1991
|
+
contentBody = await binaryToString(newResponse.body);
|
|
1992
1992
|
const responseContentType = (_b = (_a = newResponse.headers['content-type']) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '';
|
|
1993
1993
|
if (responseContentType.includes('application/json')) {
|
|
1994
|
-
newResponse.body = (0, n8n_workflow_1.jsonParse)(
|
|
1994
|
+
newResponse.body = (0, n8n_workflow_1.jsonParse)(contentBody, { fallbackValue: {} });
|
|
1995
1995
|
}
|
|
1996
1996
|
else {
|
|
1997
|
-
newResponse.body =
|
|
1997
|
+
newResponse.body = contentBody;
|
|
1998
1998
|
}
|
|
1999
1999
|
tempResponseData.__bodyResolved = true;
|
|
2000
2000
|
tempResponseData.body = newResponse.body;
|
|
@@ -2052,9 +2052,7 @@ const getRequestHelperFunctions = (workflow, node, additionalData) => {
|
|
|
2052
2052
|
if (tempResponseData.statusCode < 200 || tempResponseData.statusCode >= 300) {
|
|
2053
2053
|
let data = tempResponseData.body;
|
|
2054
2054
|
if (data instanceof stream_1.Readable && paginationOptions.binaryResult !== true) {
|
|
2055
|
-
data = await
|
|
2056
|
-
.binaryToBuffer(tempResponseData.body)
|
|
2057
|
-
.then((body) => body.toString());
|
|
2055
|
+
data = await binaryToString(data);
|
|
2058
2056
|
}
|
|
2059
2057
|
else if (typeof data === 'object') {
|
|
2060
2058
|
data = JSON.stringify(data);
|
|
@@ -2092,6 +2090,12 @@ const getRequestHelperFunctions = (workflow, node, additionalData) => {
|
|
|
2092
2090
|
const getSSHTunnelFunctions = () => ({
|
|
2093
2091
|
getSSHClient: async (credentials) => await typedi_1.default.get(SSHClientsManager_1.SSHClientsManager).getClient(credentials),
|
|
2094
2092
|
});
|
|
2093
|
+
const getSchedulingFunctions = (workflow) => {
|
|
2094
|
+
const scheduledTaskManager = typedi_1.default.get(ScheduledTaskManager_1.ScheduledTaskManager);
|
|
2095
|
+
return {
|
|
2096
|
+
registerCron: (cronExpression, onTick) => scheduledTaskManager.registerCron(workflow, cronExpression, onTick),
|
|
2097
|
+
};
|
|
2098
|
+
};
|
|
2095
2099
|
const getAllowedPaths = () => {
|
|
2096
2100
|
const restrictFileAccessTo = process.env[Constants_1.RESTRICT_FILE_ACCESS_TO];
|
|
2097
2101
|
if (!restrictFileAccessTo) {
|
|
@@ -2183,7 +2187,8 @@ const getBinaryHelperFunctions = ({ executionId }, workflowId) => ({
|
|
|
2183
2187
|
getBinaryPath,
|
|
2184
2188
|
getBinaryStream,
|
|
2185
2189
|
getBinaryMetadata,
|
|
2186
|
-
binaryToBuffer:
|
|
2190
|
+
binaryToBuffer: utils_1.binaryToBuffer,
|
|
2191
|
+
binaryToString,
|
|
2187
2192
|
prepareBinaryData: async (binaryData, filePath, mimeType) => await prepareBinaryData(binaryData, executionId, workflowId, filePath, mimeType),
|
|
2188
2193
|
setBinaryDataBuffer: async (data, binaryData) => await setBinaryDataBuffer(data, binaryData, workflowId, executionId),
|
|
2189
2194
|
copyBinaryFile: async () => {
|
|
@@ -2228,6 +2233,7 @@ function getExecutePollFunctions(workflow, node, additionalData, mode, activatio
|
|
|
2228
2233
|
createDeferredPromise: n8n_workflow_1.createDeferredPromise,
|
|
2229
2234
|
...getRequestHelperFunctions(workflow, node, additionalData),
|
|
2230
2235
|
...getBinaryHelperFunctions(additionalData, workflow.id),
|
|
2236
|
+
...getSchedulingFunctions(workflow),
|
|
2231
2237
|
returnJsonArray,
|
|
2232
2238
|
},
|
|
2233
2239
|
};
|
|
@@ -2258,6 +2264,7 @@ function getExecuteTriggerFunctions(workflow, node, additionalData, mode, activa
|
|
|
2258
2264
|
...getSSHTunnelFunctions(),
|
|
2259
2265
|
...getRequestHelperFunctions(workflow, node, additionalData),
|
|
2260
2266
|
...getBinaryHelperFunctions(additionalData, workflow.id),
|
|
2267
|
+
...getSchedulingFunctions(workflow),
|
|
2261
2268
|
returnJsonArray,
|
|
2262
2269
|
},
|
|
2263
2270
|
};
|
|
@@ -2350,7 +2357,6 @@ function getExecuteFunctions(workflow, runExecutionData, runIndex, connectionInp
|
|
|
2350
2357
|
const dataProxy = new n8n_workflow_1.WorkflowDataProxy(workflow, runExecutionData, runIndex, itemIndex, node.name, connectionInputData, {}, mode, getAdditionalKeys(additionalData, mode, runExecutionData), executeData);
|
|
2351
2358
|
return dataProxy.getDataProxy();
|
|
2352
2359
|
},
|
|
2353
|
-
binaryToBuffer: async (body) => await typedi_1.default.get(BinaryData_service_1.BinaryDataService).toBuffer(body),
|
|
2354
2360
|
async putExecutionToWait(waitTill) {
|
|
2355
2361
|
runExecutionData.waitTill = waitTill;
|
|
2356
2362
|
if (additionalData.setExecutionStatus) {
|