n8n 1.3.0 → 1.4.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 (133) hide show
  1. package/dist/ActiveWebhooks.js +2 -5
  2. package/dist/ActiveWebhooks.js.map +1 -1
  3. package/dist/ActiveWorkflowRunner.js +6 -7
  4. package/dist/ActiveWorkflowRunner.js.map +1 -1
  5. package/dist/CredentialsHelper.d.ts +1 -0
  6. package/dist/CredentialsHelper.js +23 -0
  7. package/dist/CredentialsHelper.js.map +1 -1
  8. package/dist/InternalHooks.js +7 -11
  9. package/dist/InternalHooks.js.map +1 -1
  10. package/dist/PublicApi/v1/handlers/workflows/workflows.service.js +2 -2
  11. package/dist/PublicApi/v1/handlers/workflows/workflows.service.js.map +1 -1
  12. package/dist/Server.js +18 -10
  13. package/dist/Server.js.map +1 -1
  14. package/dist/UserManagement/PermissionChecker.js +2 -2
  15. package/dist/UserManagement/PermissionChecker.js.map +1 -1
  16. package/dist/WebhookHelpers.js +5 -0
  17. package/dist/WebhookHelpers.js.map +1 -1
  18. package/dist/WorkflowHelpers.d.ts +2 -2
  19. package/dist/WorkflowHelpers.js +62 -45
  20. package/dist/WorkflowHelpers.js.map +1 -1
  21. package/dist/commands/executeBatch.js +1 -4
  22. package/dist/commands/executeBatch.js.map +1 -1
  23. package/dist/commands/import/workflow.d.ts +1 -0
  24. package/dist/commands/import/workflow.js +5 -5
  25. package/dist/commands/import/workflow.js.map +1 -1
  26. package/dist/commands/worker.d.ts +0 -2
  27. package/dist/commands/worker.js +26 -5
  28. package/dist/commands/worker.js.map +1 -1
  29. package/dist/config/schema.js +1 -1
  30. package/dist/config/schema.js.map +1 -1
  31. package/dist/constants.d.ts +2 -0
  32. package/dist/constants.js +2 -0
  33. package/dist/constants.js.map +1 -1
  34. package/dist/controllers/auth.controller.d.ts +2 -2
  35. package/dist/controllers/auth.controller.js +5 -7
  36. package/dist/controllers/auth.controller.js.map +1 -1
  37. package/dist/controllers/me.controller.d.ts +3 -4
  38. package/dist/controllers/me.controller.js +12 -18
  39. package/dist/controllers/me.controller.js.map +1 -1
  40. package/dist/controllers/owner.controller.d.ts +7 -4
  41. package/dist/controllers/owner.controller.js +7 -4
  42. package/dist/controllers/owner.controller.js.map +1 -1
  43. package/dist/controllers/passwordReset.controller.d.ts +3 -6
  44. package/dist/controllers/passwordReset.controller.js +11 -14
  45. package/dist/controllers/passwordReset.controller.js.map +1 -1
  46. package/dist/controllers/tags.controller.d.ts +6 -10
  47. package/dist/controllers/tags.controller.js +10 -36
  48. package/dist/controllers/tags.controller.js.map +1 -1
  49. package/dist/controllers/users.controller.d.ts +3 -7
  50. package/dist/controllers/users.controller.js +20 -18
  51. package/dist/controllers/users.controller.js.map +1 -1
  52. package/dist/credentials/credentials.service.ee.js +2 -2
  53. package/dist/credentials/credentials.service.ee.js.map +1 -1
  54. package/dist/databases/migrations/common/1659888469333-AddJsonKeyPinData.js +2 -4
  55. package/dist/databases/migrations/common/1659888469333-AddJsonKeyPinData.js.map +1 -1
  56. package/dist/environments/sourceControl/sourceControl.service.ee.js.map +1 -1
  57. package/dist/environments/sourceControl/sourceControlImport.service.ee.js +2 -3
  58. package/dist/environments/sourceControl/sourceControlImport.service.ee.js.map +1 -1
  59. package/dist/eventbus/MessageEventBus/MessageEventBus.js +37 -4
  60. package/dist/eventbus/MessageEventBus/MessageEventBus.js.map +1 -1
  61. package/dist/eventbus/MessageEventBusWriter/MessageEventBusLogWriter.d.ts +4 -0
  62. package/dist/eventbus/MessageEventBusWriter/MessageEventBusLogWriter.js +16 -0
  63. package/dist/eventbus/MessageEventBusWriter/MessageEventBusLogWriter.js.map +1 -1
  64. package/dist/eventbus/MessageEventBusWriter/MessageEventBusLogWriterWorker.js +24 -0
  65. package/dist/eventbus/MessageEventBusWriter/MessageEventBusLogWriterWorker.js.map +1 -1
  66. package/dist/middlewares/listQuery/dtos/pagination.dto.d.ts +6 -0
  67. package/dist/middlewares/listQuery/dtos/pagination.dto.js +22 -0
  68. package/dist/middlewares/listQuery/dtos/pagination.dto.js.map +1 -0
  69. package/dist/middlewares/listQuery/dtos/workflow.filter.dto.d.ts +7 -0
  70. package/dist/middlewares/listQuery/dtos/workflow.filter.dto.js +55 -0
  71. package/dist/middlewares/listQuery/dtos/workflow.filter.dto.js.map +1 -0
  72. package/dist/middlewares/listQuery/dtos/workflow.select.dto.d.ts +5 -0
  73. package/dist/middlewares/listQuery/dtos/workflow.select.dto.js +31 -0
  74. package/dist/middlewares/listQuery/dtos/workflow.select.dto.js.map +1 -0
  75. package/dist/middlewares/listQuery/filter.d.ts +3 -2
  76. package/dist/middlewares/listQuery/filter.js +32 -15
  77. package/dist/middlewares/listQuery/filter.js.map +1 -1
  78. package/dist/middlewares/listQuery/index.d.ts +1 -1
  79. package/dist/middlewares/listQuery/pagination.js +33 -11
  80. package/dist/middlewares/listQuery/pagination.js.map +1 -1
  81. package/dist/middlewares/listQuery/select.js +8 -20
  82. package/dist/middlewares/listQuery/select.js.map +1 -1
  83. package/dist/requests.d.ts +33 -18
  84. package/dist/requests.js +5 -1
  85. package/dist/requests.js.map +1 -1
  86. package/dist/services/events.service.js +2 -2
  87. package/dist/services/events.service.js.map +1 -1
  88. package/dist/services/ownership.service.d.ts +7 -3
  89. package/dist/services/ownership.service.js +13 -4
  90. package/dist/services/ownership.service.js.map +1 -1
  91. package/dist/services/tag.service.d.ts +34 -0
  92. package/dist/services/tag.service.js +121 -0
  93. package/dist/services/tag.service.js.map +1 -0
  94. package/dist/services/user.service.d.ts +19 -0
  95. package/dist/services/user.service.js +62 -0
  96. package/dist/services/user.service.js.map +1 -0
  97. package/dist/sso/saml/schema/saml-schema-assertion-2.0.xsd.js +282 -282
  98. package/dist/sso/saml/schema/saml-schema-metadata-2.0.xsd.js +335 -335
  99. package/dist/sso/saml/schema/saml-schema-protocol-2.0.xsd.js +301 -301
  100. package/dist/telemetry/index.js +1 -1
  101. package/dist/telemetry/index.js.map +1 -1
  102. package/dist/utils.d.ts +3 -0
  103. package/dist/utils.js +5 -1
  104. package/dist/utils.js.map +1 -1
  105. package/dist/workflows/workflows.controller.ee.js +5 -14
  106. package/dist/workflows/workflows.controller.ee.js.map +1 -1
  107. package/dist/workflows/workflows.controller.js +5 -5
  108. package/dist/workflows/workflows.controller.js.map +1 -1
  109. package/dist/workflows/workflows.services.d.ts +5 -5
  110. package/dist/workflows/workflows.services.ee.d.ts +1 -4
  111. package/dist/workflows/workflows.services.ee.js +2 -13
  112. package/dist/workflows/workflows.services.ee.js.map +1 -1
  113. package/dist/workflows/workflows.services.js +51 -38
  114. package/dist/workflows/workflows.services.js.map +1 -1
  115. package/dist/workflows/workflows.types.d.ts +0 -4
  116. package/oclif.manifest.json +1 -1
  117. package/package.json +8 -8
  118. package/templates/oauth-error-callback.handlebars +6 -6
  119. package/dist/TagHelpers.d.ts +0 -7
  120. package/dist/TagHelpers.js +0 -59
  121. package/dist/TagHelpers.js.map +0 -1
  122. package/dist/middlewares/listQuery/error.d.ts +0 -1
  123. package/dist/middlewares/listQuery/error.js +0 -40
  124. package/dist/middlewares/listQuery/error.js.map +0 -1
  125. package/dist/middlewares/listQuery/schema.d.ts +0 -5
  126. package/dist/middlewares/listQuery/schema.js +0 -13
  127. package/dist/middlewares/listQuery/schema.js.map +0 -1
  128. package/dist/middlewares/listQuery/workflow.schema.d.ts +0 -10
  129. package/dist/middlewares/listQuery/workflow.schema.js +0 -59
  130. package/dist/middlewares/listQuery/workflow.schema.js.map +0 -1
  131. package/dist/user/user.service.d.ts +0 -9
  132. package/dist/user/user.service.js +0 -53
  133. package/dist/user/user.service.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MessageEventBusLogWriterWorker.js","sourceRoot":"","sources":["../../../src/eventbus/MessageEventBusWriter/MessageEventBusLogWriterWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageEventBusLogWriterWorker.js","sourceRoot":"","sources":["../../../src/eventbus/MessageEventBusWriter/MessageEventBusLogWriterWorker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare class Pagination {
2
+ static fromString(rawTake: string, rawSkip: string): {
3
+ take: number;
4
+ skip: number;
5
+ };
6
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Pagination = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ class Pagination {
6
+ static fromString(rawTake, rawSkip) {
7
+ if (!(0, utils_1.isIntegerString)(rawTake)) {
8
+ throw new Error('Parameter take is not an integer string');
9
+ }
10
+ if (!(0, utils_1.isIntegerString)(rawSkip)) {
11
+ throw new Error('Parameter skip is not an integer string');
12
+ }
13
+ const [take, skip] = [rawTake, rawSkip].map((o) => parseInt(o, 10));
14
+ const MAX_ITEMS_PER_PAGE = 50;
15
+ return {
16
+ take: Math.min(take, MAX_ITEMS_PER_PAGE),
17
+ skip,
18
+ };
19
+ }
20
+ }
21
+ exports.Pagination = Pagination;
22
+ //# sourceMappingURL=pagination.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.dto.js","sourceRoot":"","sources":["../../../../src/middlewares/listQuery/dtos/pagination.dto.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAE1C,MAAa,UAAU;IACtB,MAAM,CAAC,UAAU,CAAC,OAAe,EAAE,OAAe;QACjD,IAAI,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QAED,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAEpE,MAAM,kBAAkB,GAAG,EAAE,CAAC;QAE9B,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC;YACxC,IAAI;SACJ,CAAC;IACH,CAAC;CACD;AAnBD,gCAmBC"}
@@ -0,0 +1,7 @@
1
+ export declare class WorkflowFilter {
2
+ name?: string;
3
+ active?: boolean;
4
+ tags?: string[];
5
+ static fromString(rawFilter: string): Promise<Record<string, any>>;
6
+ private validate;
7
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
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
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkflowFilter = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const n8n_workflow_1 = require("n8n-workflow");
16
+ const utils_1 = require("../../../utils");
17
+ class WorkflowFilter {
18
+ static async fromString(rawFilter) {
19
+ const dto = (0, n8n_workflow_1.jsonParse)(rawFilter, { errorMessage: 'Failed to parse filter JSON' });
20
+ if (!(0, utils_1.isObjectLiteral)(dto))
21
+ throw new Error('Filter must be an object literal');
22
+ const instance = (0, class_transformer_1.plainToInstance)(WorkflowFilter, dto, {
23
+ excludeExtraneousValues: true,
24
+ exposeUnsetFields: false,
25
+ });
26
+ await instance.validate();
27
+ return (0, class_transformer_1.instanceToPlain)(instance);
28
+ }
29
+ async validate() {
30
+ const result = await (0, class_validator_1.validate)(this);
31
+ if (result.length > 0)
32
+ throw new Error('Parsed filter does not fit the schema');
33
+ }
34
+ }
35
+ exports.WorkflowFilter = WorkflowFilter;
36
+ __decorate([
37
+ (0, class_validator_1.IsString)(),
38
+ (0, class_validator_1.IsOptional)(),
39
+ (0, class_transformer_1.Expose)(),
40
+ __metadata("design:type", String)
41
+ ], WorkflowFilter.prototype, "name", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsBoolean)(),
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, class_transformer_1.Expose)(),
46
+ __metadata("design:type", Boolean)
47
+ ], WorkflowFilter.prototype, "active", void 0);
48
+ __decorate([
49
+ (0, class_validator_1.IsArray)(),
50
+ (0, class_validator_1.IsString)({ each: true }),
51
+ (0, class_validator_1.IsOptional)(),
52
+ (0, class_transformer_1.Expose)(),
53
+ __metadata("design:type", Array)
54
+ ], WorkflowFilter.prototype, "tags", void 0);
55
+ //# sourceMappingURL=workflow.filter.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.filter.dto.js","sourceRoot":"","sources":["../../../../src/middlewares/listQuery/dtos/workflow.filter.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAqF;AACrF,yDAA6E;AAC7E,+CAAyC;AACzC,mCAA0C;AAE1C,MAAa,cAAc;IAiB1B,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAiB;QACxC,MAAM,GAAG,GAAG,IAAA,wBAAS,EAAC,SAAS,EAAE,EAAE,YAAY,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAElF,IAAI,CAAC,IAAA,uBAAe,EAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAE/E,MAAM,QAAQ,GAAG,IAAA,mCAAe,EAAC,cAAc,EAAE,GAAG,EAAE;YACrD,uBAAuB,EAAE,IAAI;YAC7B,iBAAiB,EAAE,KAAK;SACxB,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAE1B,OAAO,IAAA,mCAAe,EAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,QAAQ;QACrB,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACjF,CAAC;CACD;AArCD,wCAqCC;AAjCA;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;4CACK;AAKd;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;8CACQ;AAMjB;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;4CACO"}
@@ -0,0 +1,5 @@
1
+ export declare class WorkflowSelect {
2
+ fields: string[];
3
+ static get selectableFields(): Set<string>;
4
+ static fromString(rawFilter: string): Record<string, true>;
5
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowSelect = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ const n8n_workflow_1 = require("n8n-workflow");
6
+ class WorkflowSelect {
7
+ static get selectableFields() {
8
+ return new Set([
9
+ 'id',
10
+ 'name',
11
+ 'active',
12
+ 'tags',
13
+ 'createdAt',
14
+ 'updatedAt',
15
+ 'versionId',
16
+ 'ownedBy',
17
+ ]);
18
+ }
19
+ static fromString(rawFilter) {
20
+ const dto = (0, n8n_workflow_1.jsonParse)(rawFilter, { errorMessage: 'Failed to parse filter JSON' });
21
+ if (!(0, utils_1.isStringArray)(dto))
22
+ throw new Error('Parsed select is not a string array');
23
+ return dto.reduce((acc, field) => {
24
+ if (!WorkflowSelect.selectableFields.has(field))
25
+ return acc;
26
+ return (acc[field] = true), acc;
27
+ }, {});
28
+ }
29
+ }
30
+ exports.WorkflowSelect = WorkflowSelect;
31
+ //# sourceMappingURL=workflow.select.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.select.dto.js","sourceRoot":"","sources":["../../../../src/middlewares/listQuery/dtos/workflow.select.dto.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AACxC,+CAAyC;AAEzC,MAAa,cAAc;IAG1B,MAAM,KAAK,gBAAgB;QAC1B,OAAO,IAAI,GAAG,CAAC;YACd,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,MAAM;YACN,WAAW;YACX,WAAW;YACX,WAAW;YACX,SAAS;SACT,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,SAAiB;QAClC,MAAM,GAAG,GAAG,IAAA,wBAAS,EAAC,SAAS,EAAE,EAAE,YAAY,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAElF,IAAI,CAAC,IAAA,qBAAa,EAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAEhF,OAAO,GAAG,CAAC,MAAM,CAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO,GAAG,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;QACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IACR,CAAC;CACD;AA1BD,wCA0BC"}
@@ -1,2 +1,3 @@
1
- import type { RequestHandler } from 'express';
2
- export declare const filterListQueryMiddleware: RequestHandler;
1
+ import type { NextFunction, Response } from 'express';
2
+ import type { ListQuery } from '../../requests';
3
+ export declare const filterListQueryMiddleware: (req: ListQuery.Request, res: Response, next: NextFunction) => Promise<void>;
@@ -1,35 +1,52 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.filterListQueryMiddleware = void 0;
4
- const n8n_workflow_1 = require("n8n-workflow");
5
- const error_1 = require("./error");
6
- const workflow_schema_1 = require("./workflow.schema");
7
- function toQueryFilter(rawFilter, schema) {
8
- const parsedFilter = new schema((0, n8n_workflow_1.jsonParse)(rawFilter, { errorMessage: 'Failed to parse filter JSON' }));
9
- return Object.fromEntries(Object.entries(parsedFilter)
10
- .filter(([_, value]) => value !== undefined)
11
- .map(([key, _]) => [key, parsedFilter[key]]));
12
- }
13
- const filterListQueryMiddleware = (req, res, next) => {
27
+ const ResponseHelper = __importStar(require("../../ResponseHelper"));
28
+ const workflow_filter_dto_1 = require("./dtos/workflow.filter.dto");
29
+ const utils_1 = require("../../utils");
30
+ const filterListQueryMiddleware = async (req, res, next) => {
14
31
  const { filter: rawFilter } = req.query;
15
32
  if (!rawFilter)
16
33
  return next();
17
- let schema;
34
+ let Filter;
18
35
  if (req.baseUrl.endsWith('workflows')) {
19
- schema = workflow_schema_1.WorkflowSchema;
36
+ Filter = workflow_filter_dto_1.WorkflowFilter;
20
37
  }
21
38
  else {
22
39
  return next();
23
40
  }
24
41
  try {
25
- const filter = toQueryFilter(rawFilter, schema);
42
+ const filter = await Filter.fromString(rawFilter);
26
43
  if (Object.keys(filter).length === 0)
27
44
  return next();
28
45
  req.listQueryOptions = { ...req.listQueryOptions, filter };
29
46
  next();
30
47
  }
31
- catch (error) {
32
- (0, error_1.handleListQueryError)('filter', rawFilter, error);
48
+ catch (maybeError) {
49
+ ResponseHelper.sendErrorResponse(res, (0, utils_1.toError)(maybeError));
33
50
  }
34
51
  };
35
52
  exports.filterListQueryMiddleware = filterListQueryMiddleware;
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/middlewares/listQuery/filter.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AACzC,mCAA+C;AAC/C,uDAAmD;AAKnD,SAAS,aAAa,CAAC,SAAiB,EAAE,MAAqB;IAC9D,MAAM,YAAY,GAAG,IAAI,MAAM,CAC9B,IAAA,wBAAS,EAAC,SAAS,EAAE,EAAE,YAAY,EAAE,6BAA6B,EAAE,CAAC,CACrE,CAAC;IAEF,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAA0B,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CACtE,CAAC;AACH,CAAC;AAEM,MAAM,yBAAyB,GAAmB,CAAC,GAAqB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAC7F,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAExC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,EAAE,CAAC;IAE9B,IAAI,MAAM,CAAC;IAEX,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACtC,MAAM,GAAG,gCAAc,CAAC;KACxB;SAAM;QACN,OAAO,IAAI,EAAE,CAAC;KACd;IAED,IAAI;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEhD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QAEpD,GAAG,CAAC,gBAAgB,GAAG,EAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAE3D,IAAI,EAAE,CAAC;KACP;IAAC,OAAO,KAAK,EAAE;QACf,IAAA,4BAAoB,EAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;KACjD;AACF,CAAC,CAAC;AAxBW,QAAA,yBAAyB,6BAwBpC"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/middlewares/listQuery/filter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iEAAmD;AACnD,oEAA4D;AAC5D,mCAAkC;AAK3B,MAAM,yBAAyB,GAAG,KAAK,EAC7C,GAAsB,EACtB,GAAa,EACb,IAAkB,EACjB,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAExC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,EAAE,CAAC;IAE9B,IAAI,MAAM,CAAC;IAEX,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACtC,MAAM,GAAG,oCAAc,CAAC;KACxB;SAAM;QACN,OAAO,IAAI,EAAE,CAAC;KACd;IAED,IAAI;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QAEpD,GAAG,CAAC,gBAAgB,GAAG,EAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAE3D,IAAI,EAAE,CAAC;KACP;IAAC,OAAO,UAAU,EAAE;QACpB,cAAc,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC,CAAC;KAC3D;AACF,CAAC,CAAC;AA5BW,QAAA,yBAAyB,6BA4BpC"}
@@ -1,2 +1,2 @@
1
1
  /// <reference types="express" />
2
- export declare const listQueryMiddleware: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>[];
2
+ export declare const listQueryMiddleware: (import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>> | ((req: import("../../requests").ListQuery.Request, res: import("express").Response<any, Record<string, any>>, next: import("express").NextFunction) => Promise<void>))[];
@@ -1,22 +1,44 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.paginationListQueryMiddleware = void 0;
4
27
  const utils_1 = require("../../utils");
5
- function toPaginationOptions(rawTake, rawSkip) {
6
- const MAX_ITEMS = 50;
7
- if ([rawTake, rawSkip].some((i) => !(0, utils_1.isIntegerString)(i))) {
8
- throw new Error('Parameter take or skip is not an integer string');
9
- }
10
- const [take, skip] = [rawTake, rawSkip].map((o) => parseInt(o, 10));
11
- return { skip, take: Math.min(take, MAX_ITEMS) };
12
- }
28
+ const ResponseHelper = __importStar(require("../../ResponseHelper"));
29
+ const pagination_dto_1 = require("./dtos/pagination.dto");
13
30
  const paginationListQueryMiddleware = (req, res, next) => {
14
31
  const { take: rawTake, skip: rawSkip = '0' } = req.query;
15
32
  if (!rawTake)
16
33
  return next();
17
- const { take, skip } = toPaginationOptions(rawTake, rawSkip);
18
- req.listQueryOptions = { ...req.listQueryOptions, take, skip };
19
- next();
34
+ try {
35
+ const { take, skip } = pagination_dto_1.Pagination.fromString(rawTake, rawSkip);
36
+ req.listQueryOptions = { ...req.listQueryOptions, skip, take };
37
+ next();
38
+ }
39
+ catch (maybeError) {
40
+ ResponseHelper.sendErrorResponse(res, (0, utils_1.toError)(maybeError));
41
+ }
20
42
  };
21
43
  exports.paginationListQueryMiddleware = paginationListQueryMiddleware;
22
44
  //# sourceMappingURL=pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/middlewares/listQuery/pagination.ts"],"names":[],"mappings":";;;AACA,mCAA0C;AAG1C,SAAS,mBAAmB,CAAC,OAAe,EAAE,OAAe;IAC5D,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,uBAAe,EAAC,CAAC,CAAC,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;KACnE;IAED,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;AAClD,CAAC;AAEM,MAAM,6BAA6B,GAAmB,CAAC,GAAqB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACjG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAEzD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,EAAE,CAAC;IAE5B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE7D,GAAG,CAAC,gBAAgB,GAAG,EAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAE/D,IAAI,EAAE,CAAC;AACR,CAAC,CAAC;AAVW,QAAA,6BAA6B,iCAUxC"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/middlewares/listQuery/pagination.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkC;AAClC,iEAAmD;AACnD,0DAAmD;AAI5C,MAAM,6BAA6B,GAAmB,CAC5D,GAAsB,EACtB,GAAG,EACH,IAAI,EACH,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAEzD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,EAAE,CAAC;IAE5B,IAAI;QACH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,2BAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/D,GAAG,CAAC,gBAAgB,GAAG,EAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAE/D,IAAI,EAAE,CAAC;KACP;IAAC,OAAO,UAAU,EAAE;QACpB,cAAc,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC,CAAC;KAC3D;AACF,CAAC,CAAC;AAlBW,QAAA,6BAA6B,iCAkBxC"}
@@ -24,41 +24,29 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.selectListQueryMiddleware = void 0;
27
- const error_1 = require("./error");
28
- const n8n_workflow_1 = require("n8n-workflow");
29
- const workflow_schema_1 = require("./workflow.schema");
30
- const utils = __importStar(require("../../utils"));
31
- function toQuerySelect(rawSelect, schema) {
32
- const asArr = (0, n8n_workflow_1.jsonParse)(rawSelect, { errorMessage: 'Failed to parse select JSON' });
33
- if (!utils.isStringArray(asArr)) {
34
- throw new Error('Parsed select is not a string array');
35
- }
36
- return asArr.reduce((acc, field) => {
37
- if (!schema.fieldNames.includes(field))
38
- return acc;
39
- return (acc[field] = true), acc;
40
- }, {});
41
- }
27
+ const workflow_select_dto_1 = require("./dtos/workflow.select.dto");
28
+ const ResponseHelper = __importStar(require("../../ResponseHelper"));
29
+ const utils_1 = require("../../utils");
42
30
  const selectListQueryMiddleware = (req, res, next) => {
43
31
  const { select: rawSelect } = req.query;
44
32
  if (!rawSelect)
45
33
  return next();
46
- let schema;
34
+ let Select;
47
35
  if (req.baseUrl.endsWith('workflows')) {
48
- schema = workflow_schema_1.WorkflowSchema;
36
+ Select = workflow_select_dto_1.WorkflowSelect;
49
37
  }
50
38
  else {
51
39
  return next();
52
40
  }
53
41
  try {
54
- const select = toQuerySelect(rawSelect, schema);
42
+ const select = Select.fromString(rawSelect);
55
43
  if (Object.keys(select).length === 0)
56
44
  return next();
57
45
  req.listQueryOptions = { ...req.listQueryOptions, select };
58
46
  next();
59
47
  }
60
- catch (error) {
61
- (0, error_1.handleListQueryError)('select', rawSelect, error);
48
+ catch (maybeError) {
49
+ ResponseHelper.sendErrorResponse(res, (0, utils_1.toError)(maybeError));
62
50
  }
63
51
  };
64
52
  exports.selectListQueryMiddleware = selectListQueryMiddleware;
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/middlewares/listQuery/select.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA+C;AAC/C,+CAAyC;AACzC,uDAAmD;AACnD,+CAAiC;AAKjC,SAAS,aAAa,CAAC,SAAiB,EAAE,MAAqB;IAC9D,MAAM,KAAK,GAAG,IAAA,wBAAS,EAAC,SAAS,EAAE,EAAE,YAAY,EAAE,6BAA6B,EAAE,CAAC,CAAC;IAEpF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;KACvD;IAED,OAAO,KAAK,CAAC,MAAM,CAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACxD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;AACR,CAAC;AAEM,MAAM,yBAAyB,GAAmB,CAAC,GAAqB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAC7F,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAExC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,EAAE,CAAC;IAE9B,IAAI,MAAM,CAAC;IAEX,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACtC,MAAM,GAAG,gCAAc,CAAC;KACxB;SAAM;QACN,OAAO,IAAI,EAAE,CAAC;KACd;IAED,IAAI;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEhD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QAEpD,GAAG,CAAC,gBAAgB,GAAG,EAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAE3D,IAAI,EAAE,CAAC;KACP;IAAC,OAAO,KAAK,EAAE;QACf,IAAA,4BAAoB,EAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;KACjD;AACF,CAAC,CAAC;AAxBW,QAAA,yBAAyB,6BAwBpC"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/middlewares/listQuery/select.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oEAA4D;AAC5D,iEAAmD;AACnD,mCAAkC;AAK3B,MAAM,yBAAyB,GAAmB,CAAC,GAAsB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IAC9F,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;IAExC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,EAAE,CAAC;IAE9B,IAAI,MAAM,CAAC;IAEX,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACtC,MAAM,GAAG,oCAAc,CAAC;KACxB;SAAM;QACN,OAAO,IAAI,EAAE,CAAC;KACd;IAED,IAAI;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE5C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QAEpD,GAAG,CAAC,gBAAgB,GAAG,EAAE,GAAG,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAE3D,IAAI,EAAE,CAAC;KACP;IAAC,OAAO,UAAU,EAAE;QACpB,cAAc,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC,CAAC;KAC3D;AACF,CAAC,CAAC;AAxBW,QAAA,yBAAyB,6BAwBpC"}
@@ -1,10 +1,11 @@
1
1
  import type express from 'express';
2
- import type { Banners, IConnections, ICredentialDataDecryptedObject, ICredentialNodeAccess, INode, INodeCredentialTestRequest, IPinData, IRunData, IWorkflowSettings } from 'n8n-workflow';
2
+ import type { BannerName, IConnections, ICredentialDataDecryptedObject, ICredentialNodeAccess, INode, INodeCredentialTestRequest, IPinData, IRunData, IUser, IWorkflowSettings } from 'n8n-workflow';
3
3
  import type { PublicUser, IExecutionDeleteFilter, IWorkflowDb } from './Interfaces';
4
4
  import type { Role } from './databases/entities/Role';
5
5
  import type { User } from './databases/entities/User';
6
6
  import type { UserManagementMailer } from './UserManagement/email';
7
7
  import type { Variables } from './databases/entities/Variables';
8
+ import type { WorkflowEntity } from './databases/entities/WorkflowEntity';
8
9
  export declare class UserUpdatePayload implements Pick<User, 'email' | 'firstName' | 'lastName'> {
9
10
  email: string;
10
11
  firstName: string;
@@ -60,21 +61,36 @@ export declare namespace WorkflowRequest {
60
61
  shareWithIds: string[];
61
62
  }>;
62
63
  }
63
- export type ListQueryRequest = AuthenticatedRequest<{}, {}, {}, ListQueryParams> & {
64
- listQueryOptions?: ListQueryOptions;
65
- };
66
- type ListQueryParams = {
67
- filter?: string;
68
- skip?: string;
69
- take?: string;
70
- select?: string;
71
- };
72
- export type ListQueryOptions = {
73
- filter?: Record<string, unknown>;
74
- select?: Record<string, true>;
75
- skip?: number;
76
- take?: number;
77
- };
64
+ export declare namespace ListQuery {
65
+ type Request = AuthenticatedRequest<{}, {}, {}, Params> & {
66
+ listQueryOptions?: Options;
67
+ };
68
+ type Params = {
69
+ filter?: string;
70
+ skip?: string;
71
+ take?: string;
72
+ select?: string;
73
+ };
74
+ type Options = {
75
+ filter?: Record<string, unknown>;
76
+ select?: Record<string, true>;
77
+ skip?: number;
78
+ take?: number;
79
+ };
80
+ namespace Workflow {
81
+ type OptionalBaseFields = 'name' | 'active' | 'versionId' | 'createdAt' | 'updatedAt' | 'tags';
82
+ type BaseFields = Pick<WorkflowEntity, 'id'> & Partial<Pick<WorkflowEntity, OptionalBaseFields>>;
83
+ type SharedField = Partial<Pick<WorkflowEntity, 'shared'>>;
84
+ type OwnedByField = {
85
+ ownedBy: Pick<IUser, 'id'> | null;
86
+ };
87
+ export type Plain = BaseFields;
88
+ export type WithSharing = BaseFields & SharedField;
89
+ export type WithOwnership = BaseFields & OwnedByField;
90
+ export {};
91
+ }
92
+ }
93
+ export declare function hasSharing(workflows: ListQuery.Workflow.Plain[] | ListQuery.Workflow.WithSharing[]): workflows is ListQuery.Workflow.WithSharing[];
78
94
  export declare namespace CredentialRequest {
79
95
  type CredentialProperties = Partial<{
80
96
  id: string;
@@ -149,7 +165,7 @@ export interface UserSetupPayload {
149
165
  export declare namespace OwnerRequest {
150
166
  type Post = AuthenticatedRequest<{}, {}, UserSetupPayload, {}>;
151
167
  type DismissBanner = AuthenticatedRequest<{}, {}, Partial<{
152
- bannerName: Banners;
168
+ bannerName: BannerName;
153
169
  }>, {}>;
154
170
  }
155
171
  export declare namespace PasswordResetRequest {
@@ -319,4 +335,3 @@ export declare namespace VariablesRequest {
319
335
  }, {}, CreateUpdatePayload, {}>;
320
336
  type Delete = Get;
321
337
  }
322
- export {};
package/dist/requests.js CHANGED
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.UserSettingsUpdatePayload = exports.UserUpdatePayload = void 0;
12
+ exports.hasSharing = exports.UserSettingsUpdatePayload = exports.UserUpdatePayload = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const customValidators_1 = require("./databases/utils/customValidators");
15
15
  class UserUpdatePayload {
@@ -44,4 +44,8 @@ __decorate([
44
44
  (0, class_validator_1.IsOptional)(),
45
45
  __metadata("design:type", Boolean)
46
46
  ], UserSettingsUpdatePayload.prototype, "allowSSOManualLogin", void 0);
47
+ function hasSharing(workflows) {
48
+ return workflows.some((w) => 'shared' in w);
49
+ }
50
+ exports.hasSharing = hasSharing;
47
51
  //# sourceMappingURL=requests.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"requests.js","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":";;;;;;;;;;;;AAaA,qDAAmF;AACnF,iEAAmD;AAOnD,MAAa,iBAAiB;CAa7B;AAbD,8CAaC;AAXA;IADC,IAAA,yBAAO,GAAE;;gDACI;AAKd;IAHC,IAAA,wBAAK,GAAE;IACP,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;IAC3D,IAAA,wBAAM,EAAC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,kEAAkE,EAAE,CAAC;;oDAC7E;AAKlB;IAHC,IAAA,wBAAK,GAAE;IACP,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;IAC1D,IAAA,wBAAM,EAAC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,iEAAiE,EAAE,CAAC;;mDAC7E;AAElB,MAAa,yBAAyB;CAQrC;AARD,8DAQC;AALA;IAFC,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;IAC3D,IAAA,4BAAU,GAAE;;gEACU;AAIvB;IAFC,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;IACjE,IAAA,4BAAU,GAAE;;sEACiB"}
1
+ {"version":3,"file":"requests.js","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":";;;;;;;;;;;;AAcA,qDAAmF;AACnF,iEAAmD;AAQnD,MAAa,iBAAiB;CAa7B;AAbD,8CAaC;AAXA;IADC,IAAA,yBAAO,GAAE;;gDACI;AAKd;IAHC,IAAA,wBAAK,GAAE;IACP,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;IAC3D,IAAA,wBAAM,EAAC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,kEAAkE,EAAE,CAAC;;oDAC7E;AAKlB;IAHC,IAAA,wBAAK,GAAE;IACP,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;IAC1D,IAAA,wBAAM,EAAC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,iEAAiE,EAAE,CAAC;;mDAC7E;AAElB,MAAa,yBAAyB;CAQrC;AARD,8DAQC;AALA;IAFC,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;IAC3D,IAAA,4BAAU,GAAE;;gEACU;AAIvB;IAFC,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;IACjE,IAAA,4BAAU,GAAE;;sEACiB;AAiH/B,SAAgB,UAAU,CACzB,SAAwE;IAExE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAC7C,CAAC;AAJD,gCAIC"}
@@ -37,7 +37,7 @@ const events_1 = require("events");
37
37
  const typedi_1 = __importStar(require("typedi"));
38
38
  const n8n_workflow_1 = require("n8n-workflow");
39
39
  const repositories_1 = require("../databases/repositories");
40
- const user_service_1 = require("../user/user.service");
40
+ const user_service_1 = require("../services/user.service");
41
41
  const ownership_service_1 = require("./ownership.service");
42
42
  let EventsService = exports.EventsService = class EventsService extends events_1.EventEmitter {
43
43
  constructor(repository, ownershipService) {
@@ -78,7 +78,7 @@ let EventsService = exports.EventsService = class EventsService extends events_1
78
78
  workflow_id: workflowId,
79
79
  };
80
80
  if (!((_a = owner.settings) === null || _a === void 0 ? void 0 : _a.userActivated)) {
81
- await user_service_1.UserService.updateUserSettings(owner.id, {
81
+ await typedi_1.default.get(user_service_1.UserService).updateSettings(owner.id, {
82
82
  firstSuccessfulWorkflowId: workflowId,
83
83
  userActivated: true,
84
84
  });
@@ -1 +1 @@
1
- {"version":3,"file":"events.service.js","sourceRoot":"","sources":["../../src/services/events.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.service.js","sourceRoot":"","sources":["../../src/services/events.service.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
1
  import { CacheService } from './cache.service';
2
- import { SharedWorkflowRepository, UserRepository } from '../databases/repositories';
2
+ import { SharedWorkflowRepository } from '../databases/repositories';
3
3
  import type { User } from '../databases/entities/User';
4
4
  import { RoleService } from './role.service';
5
+ import { UserService } from './user.service';
6
+ import type { ListQuery } from '../requests';
7
+ import type { Role } from '../databases/entities/Role';
5
8
  export declare class OwnershipService {
6
9
  private cacheService;
7
- private userRepository;
10
+ private userService;
8
11
  private roleService;
9
12
  private sharedWorkflowRepository;
10
- constructor(cacheService: CacheService, userRepository: UserRepository, roleService: RoleService, sharedWorkflowRepository: SharedWorkflowRepository);
13
+ constructor(cacheService: CacheService, userService: UserService, roleService: RoleService, sharedWorkflowRepository: SharedWorkflowRepository);
11
14
  getWorkflowOwnerCached(workflowId: string): Promise<User>;
15
+ addOwnedBy(workflow: ListQuery.Workflow.WithSharing, workflowOwnerRole: Role): ListQuery.Workflow.WithOwnership;
12
16
  }
@@ -14,17 +14,18 @@ const typedi_1 = require("typedi");
14
14
  const cache_service_1 = require("./cache.service");
15
15
  const repositories_1 = require("../databases/repositories");
16
16
  const role_service_1 = require("./role.service");
17
+ const user_service_1 = require("./user.service");
17
18
  let OwnershipService = exports.OwnershipService = class OwnershipService {
18
- constructor(cacheService, userRepository, roleService, sharedWorkflowRepository) {
19
+ constructor(cacheService, userService, roleService, sharedWorkflowRepository) {
19
20
  this.cacheService = cacheService;
20
- this.userRepository = userRepository;
21
+ this.userService = userService;
21
22
  this.roleService = roleService;
22
23
  this.sharedWorkflowRepository = sharedWorkflowRepository;
23
24
  }
24
25
  async getWorkflowOwnerCached(workflowId) {
25
26
  const cachedValue = (await this.cacheService.get(`cache:workflow-owner:${workflowId}`));
26
27
  if (cachedValue)
27
- return this.userRepository.create(cachedValue);
28
+ return this.userService.create(cachedValue);
28
29
  const workflowOwnerRole = await this.roleService.findWorkflowOwnerRole();
29
30
  if (!workflowOwnerRole)
30
31
  throw new Error('Failed to find workflow owner role');
@@ -35,11 +36,19 @@ let OwnershipService = exports.OwnershipService = class OwnershipService {
35
36
  void this.cacheService.set(`cache:workflow-owner:${workflowId}`, sharedWorkflow.user);
36
37
  return sharedWorkflow.user;
37
38
  }
39
+ addOwnedBy(workflow, workflowOwnerRole) {
40
+ var _a;
41
+ const { shared, ...rest } = workflow;
42
+ const ownerId = (_a = shared === null || shared === void 0 ? void 0 : shared.find((s) => s.roleId.toString() === workflowOwnerRole.id)) === null || _a === void 0 ? void 0 : _a.userId;
43
+ return Object.assign(rest, {
44
+ ownedBy: ownerId ? { id: ownerId } : null,
45
+ });
46
+ }
38
47
  };
39
48
  exports.OwnershipService = OwnershipService = __decorate([
40
49
  (0, typedi_1.Service)(),
41
50
  __metadata("design:paramtypes", [cache_service_1.CacheService,
42
- repositories_1.UserRepository,
51
+ user_service_1.UserService,
43
52
  role_service_1.RoleService,
44
53
  repositories_1.SharedWorkflowRepository])
45
54
  ], OwnershipService);
@@ -1 +1 @@
1
- {"version":3,"file":"ownership.service.js","sourceRoot":"","sources":["../../src/services/ownership.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAiC;AACjC,mDAA+C;AAC/C,2DAAoF;AAEpF,iDAA6C;AAGtC,IAAM,gBAAgB,8BAAtB,MAAM,gBAAgB;IAC5B,YACS,YAA0B,EAC1B,cAA8B,EAC9B,WAAwB,EACxB,wBAAkD;QAHlD,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,6BAAwB,GAAxB,wBAAwB,CAA0B;IACxD,CAAC;IAKJ,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC9C,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAS,CAAC;QAEhG,IAAI,WAAW;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEhE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;QAEzE,IAAI,CAAC,iBAAiB;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAE9E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC;YACxE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,EAAE;YACnD,SAAS,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC;SACtC,CAAC,CAAC;QAEH,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,wBAAwB,UAAU,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QAEtF,OAAO,cAAc,CAAC,IAAI,CAAC;IAC5B,CAAC;CACD,CAAA;2BA7BY,gBAAgB;IAD5B,IAAA,gBAAO,GAAE;qCAGc,4BAAY;QACV,6BAAc;QACjB,0BAAW;QACE,uCAAwB;GAL/C,gBAAgB,CA6B5B"}
1
+ {"version":3,"file":"ownership.service.js","sourceRoot":"","sources":["../../src/services/ownership.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAiC;AACjC,mDAA+C;AAC/C,2DAAoE;AAEpE,iDAA6C;AAC7C,iDAA6C;AAKtC,IAAM,gBAAgB,8BAAtB,MAAM,gBAAgB;IAC5B,YACS,YAA0B,EAC1B,WAAwB,EACxB,WAAwB,EACxB,wBAAkD;QAHlD,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAa;QACxB,6BAAwB,GAAxB,wBAAwB,CAA0B;IACxD,CAAC;IAKJ,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC9C,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAS,CAAC;QAEhG,IAAI,WAAW;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE7D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;QAEzE,IAAI,CAAC,iBAAiB;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAE9E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC;YACxE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,EAAE;YACnD,SAAS,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC;SACtC,CAAC,CAAC;QAEH,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,wBAAwB,UAAU,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QAEtF,OAAO,cAAc,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,UAAU,CACT,QAAwC,EACxC,iBAAuB;;QAEvB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;QAErC,MAAM,OAAO,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,iBAAiB,CAAC,EAAE,CAAC,0CAAE,MAAM,CAAC;QAE1F,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAC1B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;SACzC,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;2BA1CY,gBAAgB;IAD5B,IAAA,gBAAO,GAAE;qCAGc,4BAAY;QACb,0BAAW;QACX,0BAAW;QACE,uCAAwB;GAL/C,gBAAgB,CA0C5B"}