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.
Files changed (170) hide show
  1. package/dist/commands/export/workflow.js +4 -1
  2. package/dist/commands/export/workflow.js.map +1 -1
  3. package/dist/commands/import/workflow.js +22 -5
  4. package/dist/commands/import/workflow.js.map +1 -1
  5. package/dist/commands/worker.js +3 -2
  6. package/dist/commands/worker.js.map +1 -1
  7. package/dist/config/index.d.ts +4 -0
  8. package/dist/config/schema.d.ts +14 -0
  9. package/dist/config/schema.js +16 -2
  10. package/dist/config/schema.js.map +1 -1
  11. package/dist/src/ActiveWorkflowRunner.d.ts +2 -1
  12. package/dist/src/ActiveWorkflowRunner.js +66 -6
  13. package/dist/src/ActiveWorkflowRunner.js.map +1 -1
  14. package/dist/src/CredentialsHelper.d.ts +2 -0
  15. package/dist/src/CredentialsHelper.js +13 -5
  16. package/dist/src/CredentialsHelper.js.map +1 -1
  17. package/dist/src/Interfaces.d.ts +41 -6
  18. package/dist/src/InternalHooks.d.ts +46 -4
  19. package/dist/src/InternalHooks.js +36 -6
  20. package/dist/src/InternalHooks.js.map +1 -1
  21. package/dist/src/PublicApi/index.d.ts +5 -0
  22. package/dist/src/PublicApi/index.js +122 -0
  23. package/dist/src/PublicApi/index.js.map +1 -0
  24. package/dist/src/PublicApi/swaggerTheme.css +26 -0
  25. package/dist/src/PublicApi/v1/handlers/credentials/credentials.handler.d.ts +7 -0
  26. package/dist/src/PublicApi/v1/handlers/credentials/credentials.handler.js +72 -0
  27. package/dist/src/PublicApi/v1/handlers/credentials/credentials.handler.js.map +1 -0
  28. package/dist/src/PublicApi/v1/handlers/credentials/credentials.middleware.d.ts +3 -0
  29. package/dist/src/PublicApi/v1/handlers/credentials/credentials.middleware.js +34 -0
  30. package/dist/src/PublicApi/v1/handlers/credentials/credentials.middleware.js.map +1 -0
  31. package/dist/src/PublicApi/v1/handlers/credentials/credentials.service.d.ts +14 -0
  32. package/dist/src/PublicApi/v1/handlers/credentials/credentials.service.js +180 -0
  33. package/dist/src/PublicApi/v1/handlers/credentials/credentials.service.js.map +1 -0
  34. package/dist/src/PublicApi/v1/handlers/executions/executions.handler.d.ts +8 -0
  35. package/dist/src/PublicApi/v1/handlers/executions/executions.handler.js +97 -0
  36. package/dist/src/PublicApi/v1/handlers/executions/executions.handler.js.map +1 -0
  37. package/dist/src/PublicApi/v1/handlers/executions/executions.service.d.ts +19 -0
  38. package/dist/src/PublicApi/v1/handlers/executions/executions.service.js +80 -0
  39. package/dist/src/PublicApi/v1/handlers/executions/executions.service.js.map +1 -0
  40. package/dist/src/PublicApi/v1/handlers/users/users.service.d.ts +4 -0
  41. package/dist/src/PublicApi/v1/handlers/users/users.service.js +16 -0
  42. package/dist/src/PublicApi/v1/handlers/users/users.service.js.map +1 -0
  43. package/dist/src/PublicApi/v1/handlers/workflows/workflows.handler.d.ts +12 -0
  44. package/dist/src/PublicApi/v1/handlers/workflows/workflows.handler.js +199 -0
  45. package/dist/src/PublicApi/v1/handlers/workflows/workflows.handler.js.map +1 -0
  46. package/dist/src/PublicApi/v1/handlers/workflows/workflows.service.d.ts +24 -0
  47. package/dist/src/PublicApi/v1/handlers/workflows/workflows.service.js +113 -0
  48. package/dist/src/PublicApi/v1/handlers/workflows/workflows.service.js.map +1 -0
  49. package/dist/src/PublicApi/v1/openapi.yml +703 -0
  50. package/dist/src/PublicApi/v1/shared/middlewares/global.middleware.d.ts +5 -0
  51. package/dist/src/PublicApi/v1/shared/middlewares/global.middleware.js +38 -0
  52. package/dist/src/PublicApi/v1/shared/middlewares/global.middleware.js.map +1 -0
  53. package/dist/src/PublicApi/v1/shared/services/pagination.service.d.ts +3 -0
  54. package/dist/src/PublicApi/v1/shared/services/pagination.service.js +33 -0
  55. package/dist/src/PublicApi/v1/shared/services/pagination.service.js.map +1 -0
  56. package/dist/src/ResponseHelper.d.ts +1 -1
  57. package/dist/src/ResponseHelper.js +2 -2
  58. package/dist/src/ResponseHelper.js.map +1 -1
  59. package/dist/src/Server.js +29 -13
  60. package/dist/src/Server.js.map +1 -1
  61. package/dist/src/TagHelpers.d.ts +3 -1
  62. package/dist/src/TagHelpers.js +47 -1
  63. package/dist/src/TagHelpers.js.map +1 -1
  64. package/dist/src/UserManagement/UserManagementHelper.js +1 -1
  65. package/dist/src/UserManagement/UserManagementHelper.js.map +1 -1
  66. package/dist/src/UserManagement/auth/jwt.d.ts +1 -1
  67. package/dist/src/UserManagement/routes/me.js +27 -0
  68. package/dist/src/UserManagement/routes/me.js.map +1 -1
  69. package/dist/src/UserManagement/routes/passwordReset.js +2 -0
  70. package/dist/src/UserManagement/routes/passwordReset.js.map +1 -1
  71. package/dist/src/UserManagement/routes/users.js +7 -1
  72. package/dist/src/UserManagement/routes/users.js.map +1 -1
  73. package/dist/src/WebhookHelpers.js +8 -7
  74. package/dist/src/WebhookHelpers.js.map +1 -1
  75. package/dist/src/WebhookServer.js.map +1 -1
  76. package/dist/src/WorkflowExecuteAdditionalData.d.ts +2 -1
  77. package/dist/src/WorkflowExecuteAdditionalData.js +45 -16
  78. package/dist/src/WorkflowExecuteAdditionalData.js.map +1 -1
  79. package/dist/src/WorkflowHelpers.js +2 -0
  80. package/dist/src/WorkflowHelpers.js.map +1 -1
  81. package/dist/src/WorkflowRunner.js +2 -0
  82. package/dist/src/WorkflowRunner.js.map +1 -1
  83. package/dist/src/api/credentials.api.js +4 -3
  84. package/dist/src/api/credentials.api.js.map +1 -1
  85. package/dist/src/databases/entities/User.d.ts +1 -0
  86. package/dist/src/databases/entities/User.js +7 -2
  87. package/dist/src/databases/entities/User.js.map +1 -1
  88. package/dist/src/databases/mysqldb/migrations/1652905585850-AddAPIKeyColumn.d.ts +6 -0
  89. package/dist/src/databases/mysqldb/migrations/1652905585850-AddAPIKeyColumn.js +28 -0
  90. package/dist/src/databases/mysqldb/migrations/1652905585850-AddAPIKeyColumn.js.map +1 -0
  91. package/dist/src/databases/mysqldb/migrations/index.js +2 -0
  92. package/dist/src/databases/mysqldb/migrations/index.js.map +1 -1
  93. package/dist/src/databases/postgresdb/migrations/1587669153312-InitialMigration.js +2 -0
  94. package/dist/src/databases/postgresdb/migrations/1587669153312-InitialMigration.js.map +1 -1
  95. package/dist/src/databases/postgresdb/migrations/1589476000887-WebhookModel.js +2 -0
  96. package/dist/src/databases/postgresdb/migrations/1589476000887-WebhookModel.js.map +1 -1
  97. package/dist/src/databases/postgresdb/migrations/1594828256133-CreateIndexStoppedAt.js +9 -2
  98. package/dist/src/databases/postgresdb/migrations/1594828256133-CreateIndexStoppedAt.js.map +1 -1
  99. package/dist/src/databases/postgresdb/migrations/1607431743768-MakeStoppedAtNullable.js +1 -0
  100. package/dist/src/databases/postgresdb/migrations/1607431743768-MakeStoppedAtNullable.js.map +1 -1
  101. package/dist/src/databases/postgresdb/migrations/1611144599516-AddWebhookId.js +2 -0
  102. package/dist/src/databases/postgresdb/migrations/1611144599516-AddWebhookId.js.map +1 -1
  103. package/dist/src/databases/postgresdb/migrations/1617270242566-CreateTagEntity.js +2 -0
  104. package/dist/src/databases/postgresdb/migrations/1617270242566-CreateTagEntity.js.map +1 -1
  105. package/dist/src/databases/postgresdb/migrations/1620824779533-UniqueWorkflowNames.js +2 -0
  106. package/dist/src/databases/postgresdb/migrations/1620824779533-UniqueWorkflowNames.js.map +1 -1
  107. package/dist/src/databases/postgresdb/migrations/1626176912946-AddwaitTill.js +2 -0
  108. package/dist/src/databases/postgresdb/migrations/1626176912946-AddwaitTill.js.map +1 -1
  109. package/dist/src/databases/postgresdb/migrations/1630419189837-UpdateWorkflowCredentials.js +2 -0
  110. package/dist/src/databases/postgresdb/migrations/1630419189837-UpdateWorkflowCredentials.js.map +1 -1
  111. package/dist/src/databases/postgresdb/migrations/1644422880309-AddExecutionEntityIndexes.js +7 -6
  112. package/dist/src/databases/postgresdb/migrations/1644422880309-AddExecutionEntityIndexes.js.map +1 -1
  113. package/dist/src/databases/postgresdb/migrations/1646834195327-IncreaseTypeVarcharLimit.js +6 -1
  114. package/dist/src/databases/postgresdb/migrations/1646834195327-IncreaseTypeVarcharLimit.js.map +1 -1
  115. package/dist/src/databases/postgresdb/migrations/1646992772331-CreateUserManagement.js +5 -3
  116. package/dist/src/databases/postgresdb/migrations/1646992772331-CreateUserManagement.js.map +1 -1
  117. package/dist/src/databases/postgresdb/migrations/1648740597343-LowerCaseUserEmail.js +1 -0
  118. package/dist/src/databases/postgresdb/migrations/1648740597343-LowerCaseUserEmail.js.map +1 -1
  119. package/dist/src/databases/postgresdb/migrations/1652367743993-AddUserSettings.js +2 -0
  120. package/dist/src/databases/postgresdb/migrations/1652367743993-AddUserSettings.js.map +1 -1
  121. package/dist/src/databases/postgresdb/migrations/1652905585850-AddAPIKeyColumn.d.ts +6 -0
  122. package/dist/src/databases/postgresdb/migrations/1652905585850-AddAPIKeyColumn.js +32 -0
  123. package/dist/src/databases/postgresdb/migrations/1652905585850-AddAPIKeyColumn.js.map +1 -0
  124. package/dist/src/databases/postgresdb/migrations/index.js +2 -0
  125. package/dist/src/databases/postgresdb/migrations/index.js.map +1 -1
  126. package/dist/src/databases/sqlite/migrations/1652905585850-AddAPIKeyColumn.d.ts +6 -0
  127. package/dist/src/databases/sqlite/migrations/1652905585850-AddAPIKeyColumn.js +58 -0
  128. package/dist/src/databases/sqlite/migrations/1652905585850-AddAPIKeyColumn.js.map +1 -0
  129. package/dist/src/databases/sqlite/migrations/index.js +2 -0
  130. package/dist/src/databases/sqlite/migrations/index.js.map +1 -1
  131. package/dist/test/integration/auth.api.test.js +11 -6
  132. package/dist/test/integration/auth.api.test.js.map +1 -1
  133. package/dist/test/integration/auth.mw.test.js +1 -1
  134. package/dist/test/integration/auth.mw.test.js.map +1 -1
  135. package/dist/test/integration/commands/reset.cmd.test.d.ts +1 -0
  136. package/dist/test/integration/commands/reset.cmd.test.js +59 -0
  137. package/dist/test/integration/commands/reset.cmd.test.js.map +1 -0
  138. package/dist/test/integration/credentials.api.test.js +1 -1
  139. package/dist/test/integration/credentials.api.test.js.map +1 -1
  140. package/dist/test/integration/me.api.test.js +78 -7
  141. package/dist/test/integration/me.api.test.js.map +1 -1
  142. package/dist/test/integration/owner.api.test.js +3 -2
  143. package/dist/test/integration/owner.api.test.js.map +1 -1
  144. package/dist/test/integration/passwordReset.api.test.js +1 -1
  145. package/dist/test/integration/passwordReset.api.test.js.map +1 -1
  146. package/dist/test/integration/publicApi/credentials.test.d.ts +1 -0
  147. package/dist/test/integration/publicApi/credentials.test.js +321 -0
  148. package/dist/test/integration/publicApi/credentials.test.js.map +1 -0
  149. package/dist/test/integration/publicApi/executions.test.d.ts +1 -0
  150. package/dist/test/integration/publicApi/executions.test.js +289 -0
  151. package/dist/test/integration/publicApi/executions.test.js.map +1 -0
  152. package/dist/test/integration/publicApi/workflows.test.d.ts +1 -0
  153. package/dist/test/integration/publicApi/workflows.test.js +948 -0
  154. package/dist/test/integration/publicApi/workflows.test.js.map +1 -0
  155. package/dist/test/integration/shared/constants.d.ts +1 -0
  156. package/dist/test/integration/shared/constants.js +2 -1
  157. package/dist/test/integration/shared/constants.js.map +1 -1
  158. package/dist/test/integration/shared/random.d.ts +1 -0
  159. package/dist/test/integration/shared/random.js +8 -2
  160. package/dist/test/integration/shared/random.js.map +1 -1
  161. package/dist/test/integration/shared/testDb.d.ts +115 -4
  162. package/dist/test/integration/shared/testDb.js +132 -10
  163. package/dist/test/integration/shared/testDb.js.map +1 -1
  164. package/dist/test/integration/shared/utils.d.ts +206 -3
  165. package/dist/test/integration/shared/utils.js +582 -18
  166. package/dist/test/integration/shared/utils.js.map +1 -1
  167. package/dist/test/integration/users.api.test.js +6 -4
  168. package/dist/test/integration/users.api.test.js.map +1 -1
  169. package/oclif.manifest.json +1 -1
  170. 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":"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"}