n8n 0.178.2 → 0.181.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/commands/export/workflow.js +4 -1
- package/dist/commands/export/workflow.js.map +1 -1
- package/dist/commands/import/workflow.js +22 -5
- package/dist/commands/import/workflow.js.map +1 -1
- package/dist/commands/worker.js +3 -2
- package/dist/commands/worker.js.map +1 -1
- package/dist/config/index.d.ts +4 -0
- package/dist/config/schema.d.ts +14 -0
- package/dist/config/schema.js +16 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/src/ActiveWorkflowRunner.d.ts +2 -1
- package/dist/src/ActiveWorkflowRunner.js +66 -6
- package/dist/src/ActiveWorkflowRunner.js.map +1 -1
- package/dist/src/CredentialsHelper.d.ts +2 -0
- package/dist/src/CredentialsHelper.js +13 -5
- package/dist/src/CredentialsHelper.js.map +1 -1
- package/dist/src/Interfaces.d.ts +41 -6
- package/dist/src/InternalHooks.d.ts +46 -4
- package/dist/src/InternalHooks.js +36 -6
- package/dist/src/InternalHooks.js.map +1 -1
- package/dist/src/PublicApi/index.d.ts +5 -0
- package/dist/src/PublicApi/index.js +122 -0
- package/dist/src/PublicApi/index.js.map +1 -0
- package/dist/src/PublicApi/swaggerTheme.css +26 -0
- package/dist/src/PublicApi/v1/handlers/credentials/credentials.handler.d.ts +7 -0
- package/dist/src/PublicApi/v1/handlers/credentials/credentials.handler.js +72 -0
- package/dist/src/PublicApi/v1/handlers/credentials/credentials.handler.js.map +1 -0
- package/dist/src/PublicApi/v1/handlers/credentials/credentials.middleware.d.ts +3 -0
- package/dist/src/PublicApi/v1/handlers/credentials/credentials.middleware.js +34 -0
- package/dist/src/PublicApi/v1/handlers/credentials/credentials.middleware.js.map +1 -0
- package/dist/src/PublicApi/v1/handlers/credentials/credentials.service.d.ts +14 -0
- package/dist/src/PublicApi/v1/handlers/credentials/credentials.service.js +180 -0
- package/dist/src/PublicApi/v1/handlers/credentials/credentials.service.js.map +1 -0
- package/dist/src/PublicApi/v1/handlers/executions/executions.handler.d.ts +8 -0
- package/dist/src/PublicApi/v1/handlers/executions/executions.handler.js +97 -0
- package/dist/src/PublicApi/v1/handlers/executions/executions.handler.js.map +1 -0
- package/dist/src/PublicApi/v1/handlers/executions/executions.service.d.ts +19 -0
- package/dist/src/PublicApi/v1/handlers/executions/executions.service.js +80 -0
- package/dist/src/PublicApi/v1/handlers/executions/executions.service.js.map +1 -0
- package/dist/src/PublicApi/v1/handlers/users/users.service.d.ts +4 -0
- package/dist/src/PublicApi/v1/handlers/users/users.service.js +16 -0
- package/dist/src/PublicApi/v1/handlers/users/users.service.js.map +1 -0
- package/dist/src/PublicApi/v1/handlers/workflows/workflows.handler.d.ts +12 -0
- package/dist/src/PublicApi/v1/handlers/workflows/workflows.handler.js +199 -0
- package/dist/src/PublicApi/v1/handlers/workflows/workflows.handler.js.map +1 -0
- package/dist/src/PublicApi/v1/handlers/workflows/workflows.service.d.ts +24 -0
- package/dist/src/PublicApi/v1/handlers/workflows/workflows.service.js +113 -0
- package/dist/src/PublicApi/v1/handlers/workflows/workflows.service.js.map +1 -0
- package/dist/src/PublicApi/v1/openapi.yml +703 -0
- package/dist/src/PublicApi/v1/shared/middlewares/global.middleware.d.ts +5 -0
- package/dist/src/PublicApi/v1/shared/middlewares/global.middleware.js +38 -0
- package/dist/src/PublicApi/v1/shared/middlewares/global.middleware.js.map +1 -0
- package/dist/src/PublicApi/v1/shared/services/pagination.service.d.ts +3 -0
- package/dist/src/PublicApi/v1/shared/services/pagination.service.js +33 -0
- package/dist/src/PublicApi/v1/shared/services/pagination.service.js.map +1 -0
- package/dist/src/ResponseHelper.d.ts +1 -1
- package/dist/src/ResponseHelper.js +2 -2
- package/dist/src/ResponseHelper.js.map +1 -1
- package/dist/src/Server.js +29 -13
- package/dist/src/Server.js.map +1 -1
- package/dist/src/TagHelpers.d.ts +3 -1
- package/dist/src/TagHelpers.js +47 -1
- package/dist/src/TagHelpers.js.map +1 -1
- package/dist/src/UserManagement/UserManagementHelper.js +1 -1
- package/dist/src/UserManagement/UserManagementHelper.js.map +1 -1
- package/dist/src/UserManagement/auth/jwt.d.ts +1 -1
- package/dist/src/UserManagement/routes/me.js +27 -0
- package/dist/src/UserManagement/routes/me.js.map +1 -1
- package/dist/src/UserManagement/routes/passwordReset.js +2 -0
- package/dist/src/UserManagement/routes/passwordReset.js.map +1 -1
- package/dist/src/UserManagement/routes/users.js +7 -1
- package/dist/src/UserManagement/routes/users.js.map +1 -1
- package/dist/src/WebhookHelpers.js +8 -7
- package/dist/src/WebhookHelpers.js.map +1 -1
- package/dist/src/WebhookServer.js.map +1 -1
- package/dist/src/WorkflowExecuteAdditionalData.d.ts +2 -1
- package/dist/src/WorkflowExecuteAdditionalData.js +45 -16
- package/dist/src/WorkflowExecuteAdditionalData.js.map +1 -1
- package/dist/src/WorkflowHelpers.js +2 -0
- package/dist/src/WorkflowHelpers.js.map +1 -1
- package/dist/src/WorkflowRunner.js +2 -0
- package/dist/src/WorkflowRunner.js.map +1 -1
- package/dist/src/api/credentials.api.js +4 -3
- package/dist/src/api/credentials.api.js.map +1 -1
- package/dist/src/databases/entities/User.d.ts +1 -0
- package/dist/src/databases/entities/User.js +7 -2
- package/dist/src/databases/entities/User.js.map +1 -1
- package/dist/src/databases/mysqldb/migrations/1652905585850-AddAPIKeyColumn.d.ts +6 -0
- package/dist/src/databases/mysqldb/migrations/1652905585850-AddAPIKeyColumn.js +28 -0
- package/dist/src/databases/mysqldb/migrations/1652905585850-AddAPIKeyColumn.js.map +1 -0
- package/dist/src/databases/mysqldb/migrations/index.js +2 -0
- package/dist/src/databases/mysqldb/migrations/index.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1587669153312-InitialMigration.js +2 -0
- package/dist/src/databases/postgresdb/migrations/1587669153312-InitialMigration.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1589476000887-WebhookModel.js +2 -0
- package/dist/src/databases/postgresdb/migrations/1589476000887-WebhookModel.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1594828256133-CreateIndexStoppedAt.js +9 -2
- package/dist/src/databases/postgresdb/migrations/1594828256133-CreateIndexStoppedAt.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1607431743768-MakeStoppedAtNullable.js +1 -0
- package/dist/src/databases/postgresdb/migrations/1607431743768-MakeStoppedAtNullable.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1611144599516-AddWebhookId.js +2 -0
- package/dist/src/databases/postgresdb/migrations/1611144599516-AddWebhookId.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1617270242566-CreateTagEntity.js +2 -0
- package/dist/src/databases/postgresdb/migrations/1617270242566-CreateTagEntity.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1620824779533-UniqueWorkflowNames.js +2 -0
- package/dist/src/databases/postgresdb/migrations/1620824779533-UniqueWorkflowNames.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1626176912946-AddwaitTill.js +2 -0
- package/dist/src/databases/postgresdb/migrations/1626176912946-AddwaitTill.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1630419189837-UpdateWorkflowCredentials.js +2 -0
- package/dist/src/databases/postgresdb/migrations/1630419189837-UpdateWorkflowCredentials.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1644422880309-AddExecutionEntityIndexes.js +7 -6
- package/dist/src/databases/postgresdb/migrations/1644422880309-AddExecutionEntityIndexes.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1646834195327-IncreaseTypeVarcharLimit.js +6 -1
- package/dist/src/databases/postgresdb/migrations/1646834195327-IncreaseTypeVarcharLimit.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1646992772331-CreateUserManagement.js +5 -3
- package/dist/src/databases/postgresdb/migrations/1646992772331-CreateUserManagement.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1648740597343-LowerCaseUserEmail.js +1 -0
- package/dist/src/databases/postgresdb/migrations/1648740597343-LowerCaseUserEmail.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1652367743993-AddUserSettings.js +2 -0
- package/dist/src/databases/postgresdb/migrations/1652367743993-AddUserSettings.js.map +1 -1
- package/dist/src/databases/postgresdb/migrations/1652905585850-AddAPIKeyColumn.d.ts +6 -0
- package/dist/src/databases/postgresdb/migrations/1652905585850-AddAPIKeyColumn.js +32 -0
- package/dist/src/databases/postgresdb/migrations/1652905585850-AddAPIKeyColumn.js.map +1 -0
- package/dist/src/databases/postgresdb/migrations/index.js +2 -0
- package/dist/src/databases/postgresdb/migrations/index.js.map +1 -1
- package/dist/src/databases/sqlite/migrations/1652905585850-AddAPIKeyColumn.d.ts +6 -0
- package/dist/src/databases/sqlite/migrations/1652905585850-AddAPIKeyColumn.js +58 -0
- package/dist/src/databases/sqlite/migrations/1652905585850-AddAPIKeyColumn.js.map +1 -0
- package/dist/src/databases/sqlite/migrations/index.js +2 -0
- package/dist/src/databases/sqlite/migrations/index.js.map +1 -1
- package/dist/test/integration/auth.api.test.js +11 -6
- package/dist/test/integration/auth.api.test.js.map +1 -1
- package/dist/test/integration/auth.mw.test.js +1 -1
- package/dist/test/integration/auth.mw.test.js.map +1 -1
- package/dist/test/integration/commands/reset.cmd.test.d.ts +1 -0
- package/dist/test/integration/commands/reset.cmd.test.js +59 -0
- package/dist/test/integration/commands/reset.cmd.test.js.map +1 -0
- package/dist/test/integration/credentials.api.test.js +1 -1
- package/dist/test/integration/credentials.api.test.js.map +1 -1
- package/dist/test/integration/me.api.test.js +78 -7
- package/dist/test/integration/me.api.test.js.map +1 -1
- package/dist/test/integration/owner.api.test.js +3 -2
- package/dist/test/integration/owner.api.test.js.map +1 -1
- package/dist/test/integration/passwordReset.api.test.js +1 -1
- package/dist/test/integration/passwordReset.api.test.js.map +1 -1
- package/dist/test/integration/publicApi/credentials.test.d.ts +1 -0
- package/dist/test/integration/publicApi/credentials.test.js +321 -0
- package/dist/test/integration/publicApi/credentials.test.js.map +1 -0
- package/dist/test/integration/publicApi/executions.test.d.ts +1 -0
- package/dist/test/integration/publicApi/executions.test.js +289 -0
- package/dist/test/integration/publicApi/executions.test.js.map +1 -0
- package/dist/test/integration/publicApi/workflows.test.d.ts +1 -0
- package/dist/test/integration/publicApi/workflows.test.js +948 -0
- package/dist/test/integration/publicApi/workflows.test.js.map +1 -0
- package/dist/test/integration/shared/constants.d.ts +1 -0
- package/dist/test/integration/shared/constants.js +2 -1
- package/dist/test/integration/shared/constants.js.map +1 -1
- package/dist/test/integration/shared/random.d.ts +1 -0
- package/dist/test/integration/shared/random.js +8 -2
- package/dist/test/integration/shared/random.js.map +1 -1
- package/dist/test/integration/shared/testDb.d.ts +115 -4
- package/dist/test/integration/shared/testDb.js +132 -10
- package/dist/test/integration/shared/testDb.js.map +1 -1
- package/dist/test/integration/shared/utils.d.ts +206 -3
- package/dist/test/integration/shared/utils.js +582 -18
- package/dist/test/integration/shared/utils.js.map +1 -1
- package/dist/test/integration/users.api.test.js +6 -4
- package/dist/test/integration/users.api.test.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +22 -15
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const typeorm_1 = require("typeorm");
|
|
3
|
+
const __1 = require("../../../..");
|
|
4
|
+
const config = require("../../../../../config");
|
|
5
|
+
const WorkflowEntity_1 = require("../../../../databases/entities/WorkflowEntity");
|
|
6
|
+
const InternalHooksManager_1 = require("../../../../InternalHooksManager");
|
|
7
|
+
const Server_1 = require("../../../../Server");
|
|
8
|
+
const WorkflowHelpers_1 = require("../../../../WorkflowHelpers");
|
|
9
|
+
const global_middleware_1 = require("../../shared/middlewares/global.middleware");
|
|
10
|
+
const pagination_service_1 = require("../../shared/services/pagination.service");
|
|
11
|
+
const users_service_1 = require("../users/users.service");
|
|
12
|
+
const workflows_service_1 = require("./workflows.service");
|
|
13
|
+
module.exports = {
|
|
14
|
+
createWorkflow: [
|
|
15
|
+
(0, global_middleware_1.authorize)(['owner', 'member']),
|
|
16
|
+
async (req, res) => {
|
|
17
|
+
let workflow = req.body;
|
|
18
|
+
workflow.active = false;
|
|
19
|
+
if (!(0, workflows_service_1.hasStartNode)(workflow)) {
|
|
20
|
+
workflow.nodes.push((0, workflows_service_1.getStartNode)());
|
|
21
|
+
}
|
|
22
|
+
const role = await (0, users_service_1.getWorkflowOwnerRole)();
|
|
23
|
+
await (0, WorkflowHelpers_1.replaceInvalidCredentials)(workflow);
|
|
24
|
+
workflow = await (0, workflows_service_1.createWorkflow)(workflow, req.user, role);
|
|
25
|
+
await Server_1.externalHooks.run('workflow.afterCreate', [workflow]);
|
|
26
|
+
void InternalHooksManager_1.InternalHooksManager.getInstance().onWorkflowCreated(req.user.id, workflow, true);
|
|
27
|
+
return res.json(workflow);
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
deleteWorkflow: [
|
|
31
|
+
(0, global_middleware_1.authorize)(['owner', 'member']),
|
|
32
|
+
async (req, res) => {
|
|
33
|
+
const { id } = req.params;
|
|
34
|
+
const sharedWorkflow = await (0, workflows_service_1.getSharedWorkflow)(req.user, id.toString());
|
|
35
|
+
if (!sharedWorkflow) {
|
|
36
|
+
return res.status(404).json({
|
|
37
|
+
message: 'Not Found',
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const workflowRunner = __1.ActiveWorkflowRunner.getInstance();
|
|
41
|
+
if (sharedWorkflow.workflow.active) {
|
|
42
|
+
await workflowRunner.remove(id.toString());
|
|
43
|
+
}
|
|
44
|
+
await __1.Db.collections.Workflow.delete(id);
|
|
45
|
+
void InternalHooksManager_1.InternalHooksManager.getInstance().onWorkflowDeleted(req.user.id, id.toString(), true);
|
|
46
|
+
await Server_1.externalHooks.run('workflow.afterDelete', [id.toString()]);
|
|
47
|
+
return res.json(sharedWorkflow.workflow);
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
getWorkflow: [
|
|
51
|
+
(0, global_middleware_1.authorize)(['owner', 'member']),
|
|
52
|
+
async (req, res) => {
|
|
53
|
+
const { id } = req.params;
|
|
54
|
+
const sharedWorkflow = await (0, workflows_service_1.getSharedWorkflow)(req.user, id.toString());
|
|
55
|
+
if (!sharedWorkflow) {
|
|
56
|
+
return res.status(404).json({
|
|
57
|
+
message: 'Not Found',
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
const telemetryData = {
|
|
61
|
+
user_id: req.user.id,
|
|
62
|
+
public_api: true,
|
|
63
|
+
};
|
|
64
|
+
void InternalHooksManager_1.InternalHooksManager.getInstance().onUserRetrievedWorkflow(telemetryData);
|
|
65
|
+
return res.json(sharedWorkflow.workflow);
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
getWorkflows: [
|
|
69
|
+
(0, global_middleware_1.authorize)(['owner', 'member']),
|
|
70
|
+
global_middleware_1.validCursor,
|
|
71
|
+
async (req, res) => {
|
|
72
|
+
const { offset = 0, limit = 100, active = undefined, tags = undefined } = req.query;
|
|
73
|
+
let workflows;
|
|
74
|
+
let count;
|
|
75
|
+
const query = Object.assign({ skip: offset, take: limit, where: Object.assign({}, (active !== undefined && { active })) }, (!config.getEnv('workflowTagsDisabled') && { relations: ['tags'] }));
|
|
76
|
+
if ((0, users_service_1.isInstanceOwner)(req.user)) {
|
|
77
|
+
if (tags) {
|
|
78
|
+
const workflowIds = await (0, workflows_service_1.getWorkflowIdsViaTags)((0, workflows_service_1.parseTagNames)(tags));
|
|
79
|
+
Object.assign(query.where, { id: (0, typeorm_1.In)(workflowIds) });
|
|
80
|
+
}
|
|
81
|
+
workflows = await (0, workflows_service_1.getWorkflows)(query);
|
|
82
|
+
count = await (0, workflows_service_1.getWorkflowsCount)(query);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const options = {};
|
|
86
|
+
if (tags) {
|
|
87
|
+
options.workflowIds = await (0, workflows_service_1.getWorkflowIdsViaTags)((0, workflows_service_1.parseTagNames)(tags));
|
|
88
|
+
}
|
|
89
|
+
const sharedWorkflows = await (0, workflows_service_1.getSharedWorkflows)(req.user, options);
|
|
90
|
+
if (!sharedWorkflows.length) {
|
|
91
|
+
return res.status(200).json({
|
|
92
|
+
data: [],
|
|
93
|
+
nextCursor: null,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
const workflowsIds = sharedWorkflows.map((shareWorkflow) => shareWorkflow.workflowId);
|
|
97
|
+
Object.assign(query.where, { id: (0, typeorm_1.In)(workflowsIds) });
|
|
98
|
+
workflows = await (0, workflows_service_1.getWorkflows)(query);
|
|
99
|
+
count = await (0, workflows_service_1.getWorkflowsCount)(query);
|
|
100
|
+
}
|
|
101
|
+
const telemetryData = {
|
|
102
|
+
user_id: req.user.id,
|
|
103
|
+
public_api: true,
|
|
104
|
+
};
|
|
105
|
+
void InternalHooksManager_1.InternalHooksManager.getInstance().onUserRetrievedAllWorkflows(telemetryData);
|
|
106
|
+
return res.json({
|
|
107
|
+
data: workflows,
|
|
108
|
+
nextCursor: (0, pagination_service_1.encodeNextCursor)({
|
|
109
|
+
offset,
|
|
110
|
+
limit,
|
|
111
|
+
numberOfTotalRecords: count,
|
|
112
|
+
}),
|
|
113
|
+
});
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
updateWorkflow: [
|
|
117
|
+
(0, global_middleware_1.authorize)(['owner', 'member']),
|
|
118
|
+
async (req, res) => {
|
|
119
|
+
const { id } = req.params;
|
|
120
|
+
const updateData = new WorkflowEntity_1.WorkflowEntity();
|
|
121
|
+
Object.assign(updateData, req.body);
|
|
122
|
+
const sharedWorkflow = await (0, workflows_service_1.getSharedWorkflow)(req.user, id.toString());
|
|
123
|
+
if (!sharedWorkflow) {
|
|
124
|
+
return res.status(404).json({
|
|
125
|
+
message: 'Not Found',
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
if (!(0, workflows_service_1.hasStartNode)(updateData)) {
|
|
129
|
+
updateData.nodes.push((0, workflows_service_1.getStartNode)());
|
|
130
|
+
}
|
|
131
|
+
await (0, WorkflowHelpers_1.replaceInvalidCredentials)(updateData);
|
|
132
|
+
const workflowRunner = __1.ActiveWorkflowRunner.getInstance();
|
|
133
|
+
if (sharedWorkflow.workflow.active) {
|
|
134
|
+
await workflowRunner.remove(id.toString());
|
|
135
|
+
}
|
|
136
|
+
await (0, workflows_service_1.updateWorkflow)(sharedWorkflow.workflowId, updateData);
|
|
137
|
+
if (sharedWorkflow.workflow.active) {
|
|
138
|
+
try {
|
|
139
|
+
await workflowRunner.add(sharedWorkflow.workflowId.toString(), 'update');
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
const errorObject = error;
|
|
143
|
+
return res.status(400).json({ error: errorObject.message });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
const updatedWorkflow = await (0, workflows_service_1.getWorkflowById)(sharedWorkflow.workflowId);
|
|
147
|
+
await Server_1.externalHooks.run('workflow.afterUpdate', [updateData]);
|
|
148
|
+
void InternalHooksManager_1.InternalHooksManager.getInstance().onWorkflowSaved(req.user.id, updateData, true);
|
|
149
|
+
return res.json(updatedWorkflow);
|
|
150
|
+
},
|
|
151
|
+
],
|
|
152
|
+
activateWorkflow: [
|
|
153
|
+
(0, global_middleware_1.authorize)(['owner', 'member']),
|
|
154
|
+
async (req, res) => {
|
|
155
|
+
const { id } = req.params;
|
|
156
|
+
const sharedWorkflow = await (0, workflows_service_1.getSharedWorkflow)(req.user, id.toString());
|
|
157
|
+
if (!sharedWorkflow) {
|
|
158
|
+
return res.status(404).json({
|
|
159
|
+
message: 'Not Found',
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
const workflowRunner = __1.ActiveWorkflowRunner.getInstance();
|
|
163
|
+
if (!sharedWorkflow.workflow.active) {
|
|
164
|
+
try {
|
|
165
|
+
await workflowRunner.add(sharedWorkflow.workflowId.toString(), 'activate');
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
const errorObject = error;
|
|
169
|
+
return res.status(400).json({ error: errorObject.message });
|
|
170
|
+
}
|
|
171
|
+
await (0, workflows_service_1.setWorkflowAsActive)(sharedWorkflow.workflow);
|
|
172
|
+
sharedWorkflow.workflow.active = true;
|
|
173
|
+
return res.json(sharedWorkflow.workflow);
|
|
174
|
+
}
|
|
175
|
+
return res.json(sharedWorkflow.workflow);
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
deactivateWorkflow: [
|
|
179
|
+
(0, global_middleware_1.authorize)(['owner', 'member']),
|
|
180
|
+
async (req, res) => {
|
|
181
|
+
const { id } = req.params;
|
|
182
|
+
const sharedWorkflow = await (0, workflows_service_1.getSharedWorkflow)(req.user, id.toString());
|
|
183
|
+
if (!sharedWorkflow) {
|
|
184
|
+
return res.status(404).json({
|
|
185
|
+
message: 'Not Found',
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
const workflowRunner = __1.ActiveWorkflowRunner.getInstance();
|
|
189
|
+
if (sharedWorkflow.workflow.active) {
|
|
190
|
+
await workflowRunner.remove(sharedWorkflow.workflowId.toString());
|
|
191
|
+
await (0, workflows_service_1.setWorkflowAsInactive)(sharedWorkflow.workflow);
|
|
192
|
+
sharedWorkflow.workflow.active = false;
|
|
193
|
+
return res.json(sharedWorkflow.workflow);
|
|
194
|
+
}
|
|
195
|
+
return res.json(sharedWorkflow.workflow);
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
};
|
|
199
|
+
//# sourceMappingURL=workflows.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.handler.js","sourceRoot":"","sources":["../../../../../../src/PublicApi/v1/handlers/workflows/workflows.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { INode } from 'n8n-workflow';
|
|
2
|
+
import { FindManyOptions, UpdateResult } from 'typeorm';
|
|
3
|
+
import { User } from '../../../../databases/entities/User';
|
|
4
|
+
import { WorkflowEntity } from '../../../../databases/entities/WorkflowEntity';
|
|
5
|
+
import { SharedWorkflow } from '../../../../databases/entities/SharedWorkflow';
|
|
6
|
+
import { Role } from '../../../../databases/entities/Role';
|
|
7
|
+
export declare function getSharedWorkflowIds(user: User): Promise<number[]>;
|
|
8
|
+
export declare function getSharedWorkflow(user: User, workflowId?: string | undefined): Promise<SharedWorkflow | undefined>;
|
|
9
|
+
export declare function getSharedWorkflows(user: User, options: {
|
|
10
|
+
relations?: string[];
|
|
11
|
+
workflowIds?: number[];
|
|
12
|
+
}): Promise<SharedWorkflow[]>;
|
|
13
|
+
export declare function getWorkflowById(id: number): Promise<WorkflowEntity | undefined>;
|
|
14
|
+
export declare function getWorkflowIdsViaTags(tags: string[]): Promise<number[]>;
|
|
15
|
+
export declare function createWorkflow(workflow: WorkflowEntity, user: User, role: Role): Promise<WorkflowEntity>;
|
|
16
|
+
export declare function setWorkflowAsActive(workflow: WorkflowEntity): Promise<UpdateResult>;
|
|
17
|
+
export declare function setWorkflowAsInactive(workflow: WorkflowEntity): Promise<UpdateResult>;
|
|
18
|
+
export declare function deleteWorkflow(workflow: WorkflowEntity): Promise<WorkflowEntity>;
|
|
19
|
+
export declare function getWorkflows(options: FindManyOptions<WorkflowEntity>): Promise<WorkflowEntity[]>;
|
|
20
|
+
export declare function getWorkflowsCount(options: FindManyOptions<WorkflowEntity>): Promise<number>;
|
|
21
|
+
export declare function updateWorkflow(workflowId: number, updateData: WorkflowEntity): Promise<UpdateResult>;
|
|
22
|
+
export declare function hasStartNode(workflow: WorkflowEntity): boolean;
|
|
23
|
+
export declare function getStartNode(): INode;
|
|
24
|
+
export declare function parseTagNames(tags: string): string[];
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseTagNames = exports.getStartNode = exports.hasStartNode = exports.updateWorkflow = exports.getWorkflowsCount = exports.getWorkflows = exports.deleteWorkflow = exports.setWorkflowAsInactive = exports.setWorkflowAsActive = exports.createWorkflow = exports.getWorkflowIdsViaTags = exports.getWorkflowById = exports.getSharedWorkflows = exports.getSharedWorkflow = exports.getSharedWorkflowIds = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
const typeorm_1 = require("typeorm");
|
|
6
|
+
const WorkflowEntity_1 = require("../../../../databases/entities/WorkflowEntity");
|
|
7
|
+
const __1 = require("../../../..");
|
|
8
|
+
const SharedWorkflow_1 = require("../../../../databases/entities/SharedWorkflow");
|
|
9
|
+
const users_service_1 = require("../users/users.service");
|
|
10
|
+
async function getSharedWorkflowIds(user) {
|
|
11
|
+
const sharedWorkflows = await __1.Db.collections.SharedWorkflow.find({
|
|
12
|
+
where: {
|
|
13
|
+
user,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
return sharedWorkflows.map((workflow) => workflow.workflowId);
|
|
17
|
+
}
|
|
18
|
+
exports.getSharedWorkflowIds = getSharedWorkflowIds;
|
|
19
|
+
async function getSharedWorkflow(user, workflowId) {
|
|
20
|
+
const sharedWorkflow = await __1.Db.collections.SharedWorkflow.findOne({
|
|
21
|
+
where: Object.assign(Object.assign({}, (!(0, users_service_1.isInstanceOwner)(user) && { user })), (workflowId && { workflow: { id: workflowId } })),
|
|
22
|
+
relations: ['workflow'],
|
|
23
|
+
});
|
|
24
|
+
return sharedWorkflow;
|
|
25
|
+
}
|
|
26
|
+
exports.getSharedWorkflow = getSharedWorkflow;
|
|
27
|
+
async function getSharedWorkflows(user, options) {
|
|
28
|
+
const sharedWorkflows = await __1.Db.collections.SharedWorkflow.find(Object.assign({ where: Object.assign(Object.assign({}, (!(0, users_service_1.isInstanceOwner)(user) && { user })), (options.workflowIds && { workflow: { id: (0, typeorm_1.In)(options.workflowIds) } })) }, (options.relations && { relations: options.relations })));
|
|
29
|
+
return sharedWorkflows;
|
|
30
|
+
}
|
|
31
|
+
exports.getSharedWorkflows = getSharedWorkflows;
|
|
32
|
+
async function getWorkflowById(id) {
|
|
33
|
+
const workflow = await __1.Db.collections.Workflow.findOne({
|
|
34
|
+
where: {
|
|
35
|
+
id,
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
return workflow;
|
|
39
|
+
}
|
|
40
|
+
exports.getWorkflowById = getWorkflowById;
|
|
41
|
+
async function getWorkflowIdsViaTags(tags) {
|
|
42
|
+
const dbTags = await __1.Db.collections.Tag.find({
|
|
43
|
+
where: {
|
|
44
|
+
name: (0, typeorm_1.In)(tags),
|
|
45
|
+
},
|
|
46
|
+
relations: ['workflows'],
|
|
47
|
+
});
|
|
48
|
+
const workflowIdsPerTag = dbTags.map((tag) => tag.workflows.map((workflow) => workflow.id));
|
|
49
|
+
return (0, lodash_1.intersection)(...workflowIdsPerTag);
|
|
50
|
+
}
|
|
51
|
+
exports.getWorkflowIdsViaTags = getWorkflowIdsViaTags;
|
|
52
|
+
async function createWorkflow(workflow, user, role) {
|
|
53
|
+
let savedWorkflow;
|
|
54
|
+
const newWorkflow = new WorkflowEntity_1.WorkflowEntity();
|
|
55
|
+
Object.assign(newWorkflow, workflow);
|
|
56
|
+
await __1.Db.transaction(async (transactionManager) => {
|
|
57
|
+
savedWorkflow = await transactionManager.save(newWorkflow);
|
|
58
|
+
const newSharedWorkflow = new SharedWorkflow_1.SharedWorkflow();
|
|
59
|
+
Object.assign(newSharedWorkflow, {
|
|
60
|
+
role,
|
|
61
|
+
user,
|
|
62
|
+
workflow: savedWorkflow,
|
|
63
|
+
});
|
|
64
|
+
await transactionManager.save(newSharedWorkflow);
|
|
65
|
+
});
|
|
66
|
+
return savedWorkflow;
|
|
67
|
+
}
|
|
68
|
+
exports.createWorkflow = createWorkflow;
|
|
69
|
+
async function setWorkflowAsActive(workflow) {
|
|
70
|
+
return __1.Db.collections.Workflow.update(workflow.id, { active: true, updatedAt: new Date() });
|
|
71
|
+
}
|
|
72
|
+
exports.setWorkflowAsActive = setWorkflowAsActive;
|
|
73
|
+
async function setWorkflowAsInactive(workflow) {
|
|
74
|
+
return __1.Db.collections.Workflow.update(workflow.id, { active: false, updatedAt: new Date() });
|
|
75
|
+
}
|
|
76
|
+
exports.setWorkflowAsInactive = setWorkflowAsInactive;
|
|
77
|
+
async function deleteWorkflow(workflow) {
|
|
78
|
+
return __1.Db.collections.Workflow.remove(workflow);
|
|
79
|
+
}
|
|
80
|
+
exports.deleteWorkflow = deleteWorkflow;
|
|
81
|
+
async function getWorkflows(options) {
|
|
82
|
+
const workflows = await __1.Db.collections.Workflow.find(options);
|
|
83
|
+
return workflows;
|
|
84
|
+
}
|
|
85
|
+
exports.getWorkflows = getWorkflows;
|
|
86
|
+
async function getWorkflowsCount(options) {
|
|
87
|
+
const count = await __1.Db.collections.Workflow.count(options);
|
|
88
|
+
return count;
|
|
89
|
+
}
|
|
90
|
+
exports.getWorkflowsCount = getWorkflowsCount;
|
|
91
|
+
async function updateWorkflow(workflowId, updateData) {
|
|
92
|
+
return __1.Db.collections.Workflow.update(workflowId, updateData);
|
|
93
|
+
}
|
|
94
|
+
exports.updateWorkflow = updateWorkflow;
|
|
95
|
+
function hasStartNode(workflow) {
|
|
96
|
+
return !(!workflow.nodes.length || !workflow.nodes.find((node) => node.type === 'n8n-nodes-base.start'));
|
|
97
|
+
}
|
|
98
|
+
exports.hasStartNode = hasStartNode;
|
|
99
|
+
function getStartNode() {
|
|
100
|
+
return {
|
|
101
|
+
parameters: {},
|
|
102
|
+
name: 'Start',
|
|
103
|
+
type: 'n8n-nodes-base.start',
|
|
104
|
+
typeVersion: 1,
|
|
105
|
+
position: [240, 300],
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
exports.getStartNode = getStartNode;
|
|
109
|
+
function parseTagNames(tags) {
|
|
110
|
+
return tags.split(',').map((tag) => tag.trim());
|
|
111
|
+
}
|
|
112
|
+
exports.parseTagNames = parseTagNames;
|
|
113
|
+
//# sourceMappingURL=workflows.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.service.js","sourceRoot":"","sources":["../../../../../../src/PublicApi/v1/handlers/workflows/workflows.service.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAEtC,qCAA4D;AAE5D,kFAA+E;AAC/E,mCAAiC;AACjC,kFAA+E;AAC/E,0DAAyD;AAGlD,KAAK,UAAU,oBAAoB,CAAC,IAAU;IACpD,MAAM,eAAe,GAAG,MAAM,MAAE,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC;QAChE,KAAK,EAAE;YACN,IAAI;SACJ;KACD,CAAC,CAAC;IACH,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC/D,CAAC;AAPD,oDAOC;AAEM,KAAK,UAAU,iBAAiB,CACtC,IAAU,EACV,UAA+B;IAE/B,MAAM,cAAc,GAAG,MAAM,MAAE,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC;QAClE,KAAK,kCACD,CAAC,CAAC,IAAA,+BAAe,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GACpC,CAAC,UAAU,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CACnD;QACD,SAAS,EAAE,CAAC,UAAU,CAAC;KACvB,CAAC,CAAC;IACH,OAAO,cAAc,CAAC;AACvB,CAAC;AAZD,8CAYC;AAEM,KAAK,UAAU,kBAAkB,CACvC,IAAU,EACV,OAGC;IAED,MAAM,eAAe,GAAG,MAAM,MAAE,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,iBAC/D,KAAK,kCACD,CAAC,CAAC,IAAA,+BAAe,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GACpC,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,KAEvE,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,EACzD,CAAC;IACH,OAAO,eAAe,CAAC;AACxB,CAAC;AAfD,gDAeC;AAEM,KAAK,UAAU,eAAe,CAAC,EAAU;IAC/C,MAAM,QAAQ,GAAG,MAAM,MAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtD,KAAK,EAAE;YACN,EAAE;SACF;KACD,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AACjB,CAAC;AAPD,0CAOC;AAMM,KAAK,UAAU,qBAAqB,CAAC,IAAc;IACzD,MAAM,MAAM,GAAG,MAAM,MAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAC5C,KAAK,EAAE;YACN,IAAI,EAAE,IAAA,YAAE,EAAC,IAAI,CAAC;SACd;QACD,SAAS,EAAE,CAAC,WAAW,CAAC;KACxB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5F,OAAO,IAAA,qBAAY,EAAC,GAAG,iBAAiB,CAAC,CAAC;AAC3C,CAAC;AAXD,sDAWC;AAEM,KAAK,UAAU,cAAc,CACnC,QAAwB,EACxB,IAAU,EACV,IAAU;IAEV,IAAI,aAAsB,CAAC;IAC3B,MAAM,WAAW,GAAG,IAAI,+BAAc,EAAE,CAAC;IACzC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrC,MAAM,MAAE,CAAC,WAAW,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE;QACjD,aAAa,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAiB,WAAW,CAAC,CAAC;QAC3E,MAAM,iBAAiB,GAAG,IAAI,+BAAc,EAAE,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAChC,IAAI;YACJ,IAAI;YACJ,QAAQ,EAAE,aAAa;SACvB,CAAC,CAAC;QACH,MAAM,kBAAkB,CAAC,IAAI,CAAiB,iBAAiB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,OAAO,aAA+B,CAAC;AACxC,CAAC;AAnBD,wCAmBC;AAEM,KAAK,UAAU,mBAAmB,CAAC,QAAwB;IACjE,OAAO,MAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;AAC7F,CAAC;AAFD,kDAEC;AAEM,KAAK,UAAU,qBAAqB,CAAC,QAAwB;IACnE,OAAO,MAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;AAC9F,CAAC;AAFD,sDAEC;AAEM,KAAK,UAAU,cAAc,CAAC,QAAwB;IAC5D,OAAO,MAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AAFD,wCAEC;AAEM,KAAK,UAAU,YAAY,CACjC,OAAwC;IAExC,MAAM,SAAS,GAAG,MAAM,MAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,OAAO,SAAS,CAAC;AAClB,CAAC;AALD,oCAKC;AAEM,KAAK,UAAU,iBAAiB,CAAC,OAAwC;IAC/E,MAAM,KAAK,GAAG,MAAM,MAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC;AACd,CAAC;AAHD,8CAGC;AAEM,KAAK,UAAU,cAAc,CACnC,UAAkB,EAClB,UAA0B;IAE1B,OAAO,MAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC/D,CAAC;AALD,wCAKC;AAED,SAAgB,YAAY,CAAC,QAAwB;IACpD,OAAO,CAAC,CACP,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAC9F,CAAC;AACH,CAAC;AAJD,oCAIC;AAED,SAAgB,YAAY;IAC3B,OAAO;QACN,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KACpB,CAAC;AACH,CAAC;AARD,oCAQC;AAED,SAAgB,aAAa,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAFD,sCAEC"}
|