n8n 1.119.0 → 1.120.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/auth/auth.service.js +1 -0
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/controller.registry.d.ts +1 -0
- package/dist/controller.registry.js +37 -12
- package/dist/controller.registry.js.map +1 -1
- package/dist/controllers/auth.controller.js +3 -1
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/events/maps/relay.event-map.d.ts +1 -1
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.d.ts +1 -1
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.js +1 -1
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.js.map +1 -1
- package/dist/middlewares/list-query/dtos/workflow.select.dto.js +1 -0
- package/dist/middlewares/list-query/dtos/workflow.select.dto.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.controller.d.ts +7 -3
- package/dist/modules/breaking-changes/breaking-changes.controller.js +39 -6
- package/dist/modules/breaking-changes/breaking-changes.controller.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.service.d.ts +9 -6
- package/dist/modules/breaking-changes/breaking-changes.service.js +67 -38
- package/dist/modules/breaking-changes/breaking-changes.service.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/file-access.rule.d.ts +5 -4
- package/dist/modules/breaking-changes/rules/v2/file-access.rule.js +4 -3
- package/dist/modules/breaking-changes/rules/v2/file-access.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.d.ts +5 -4
- package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.js +11 -13
- package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.d.ts +5 -4
- package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.js +4 -3
- package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.js.map +1 -1
- package/dist/modules/breaking-changes/types/detection.types.d.ts +9 -10
- package/dist/modules/breaking-changes/types/rule.types.d.ts +9 -48
- package/dist/modules/breaking-changes/types/rule.types.js +1 -14
- package/dist/modules/breaking-changes/types/rule.types.js.map +1 -1
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.d.ts +9 -2
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js +28 -64
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js.map +1 -1
- package/dist/modules/insights/insights.controller.js +1 -1
- package/dist/modules/mcp/database/entities/oauth-access-token.entity.d.ts +9 -0
- package/dist/modules/mcp/database/entities/oauth-access-token.entity.js +44 -0
- package/dist/modules/mcp/database/entities/oauth-access-token.entity.js.map +1 -0
- package/dist/modules/mcp/database/entities/oauth-authorization-code.entity.d.ts +15 -0
- package/dist/modules/mcp/database/entities/oauth-authorization-code.entity.js +69 -0
- package/dist/modules/mcp/database/entities/oauth-authorization-code.entity.js.map +1 -0
- package/dist/modules/mcp/database/entities/oauth-client.entity.d.ts +18 -0
- package/dist/modules/mcp/database/entities/oauth-client.entity.js +65 -0
- package/dist/modules/mcp/database/entities/oauth-client.entity.js.map +1 -0
- package/dist/modules/mcp/database/entities/oauth-refresh-token.entity.d.ts +10 -0
- package/dist/modules/mcp/database/entities/oauth-refresh-token.entity.js +49 -0
- package/dist/modules/mcp/database/entities/oauth-refresh-token.entity.js.map +1 -0
- package/dist/modules/mcp/database/entities/oauth-user-consent.entity.d.ts +10 -0
- package/dist/modules/mcp/database/entities/oauth-user-consent.entity.js +49 -0
- package/dist/modules/mcp/database/entities/oauth-user-consent.entity.js.map +1 -0
- package/dist/modules/mcp/database/repositories/oauth-access-token.repository.d.ts +5 -0
- package/dist/modules/mcp/database/repositories/oauth-access-token.repository.js +26 -0
- package/dist/modules/mcp/database/repositories/oauth-access-token.repository.js.map +1 -0
- package/dist/modules/mcp/database/repositories/oauth-authorization-code.repository.d.ts +5 -0
- package/dist/modules/mcp/database/repositories/oauth-authorization-code.repository.js +26 -0
- package/dist/modules/mcp/database/repositories/oauth-authorization-code.repository.js.map +1 -0
- package/dist/modules/mcp/database/repositories/oauth-client.repository.d.ts +5 -0
- package/dist/modules/mcp/database/repositories/oauth-client.repository.js +26 -0
- package/dist/modules/mcp/database/repositories/oauth-client.repository.js.map +1 -0
- package/dist/modules/mcp/database/repositories/oauth-refresh-token.repository.d.ts +5 -0
- package/dist/modules/mcp/database/repositories/oauth-refresh-token.repository.js +26 -0
- package/dist/modules/mcp/database/repositories/oauth-refresh-token.repository.js.map +1 -0
- package/dist/modules/mcp/database/repositories/oauth-user-consent.repository.d.ts +6 -0
- package/dist/modules/mcp/database/repositories/oauth-user-consent.repository.js +33 -0
- package/dist/modules/mcp/database/repositories/oauth-user-consent.repository.js.map +1 -0
- package/dist/modules/mcp/dto/approve-consent-request.dto.d.ts +8 -0
- package/dist/modules/mcp/dto/approve-consent-request.dto.js +11 -0
- package/dist/modules/mcp/dto/approve-consent-request.dto.js.map +1 -0
- package/dist/modules/mcp/mcp-api-key.service.d.ts +6 -9
- package/dist/modules/mcp/mcp-api-key.service.js +32 -61
- package/dist/modules/mcp/mcp-api-key.service.js.map +1 -1
- package/dist/modules/mcp/mcp-oauth-authorization-code.service.d.ts +11 -0
- package/dist/modules/mcp/mcp-oauth-authorization-code.service.js +76 -0
- package/dist/modules/mcp/mcp-oauth-authorization-code.service.js.map +1 -0
- package/dist/modules/mcp/mcp-oauth-consent.service.d.ts +20 -0
- package/dist/modules/mcp/mcp-oauth-consent.service.js +87 -0
- package/dist/modules/mcp/mcp-oauth-consent.service.js.map +1 -0
- package/dist/modules/mcp/mcp-oauth-service.d.ts +31 -0
- package/dist/modules/mcp/mcp-oauth-service.js +164 -0
- package/dist/modules/mcp/mcp-oauth-service.js.map +1 -0
- package/dist/modules/mcp/mcp-oauth-token.service.d.ts +28 -0
- package/dist/modules/mcp/mcp-oauth-token.service.js +182 -0
- package/dist/modules/mcp/mcp-oauth-token.service.js.map +1 -0
- package/dist/modules/mcp/mcp-oauth.helpers.d.ts +4 -0
- package/dist/modules/mcp/mcp-oauth.helpers.js +24 -0
- package/dist/modules/mcp/mcp-oauth.helpers.js.map +1 -0
- package/dist/modules/mcp/mcp-server-middleware.service.d.ts +18 -0
- package/dist/modules/mcp/mcp-server-middleware.service.js +94 -0
- package/dist/modules/mcp/mcp-server-middleware.service.js.map +1 -0
- package/dist/modules/mcp/mcp.auth.consent.controller.d.ts +17 -0
- package/dist/modules/mcp/mcp.auth.consent.controller.js +120 -0
- package/dist/modules/mcp/mcp.auth.consent.controller.js.map +1 -0
- package/dist/modules/mcp/mcp.controller.d.ts +2 -1
- package/dist/modules/mcp/mcp.controller.js +11 -3
- package/dist/modules/mcp/mcp.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.module.d.ts +1 -0
- package/dist/modules/mcp/mcp.module.js +11 -0
- package/dist/modules/mcp/mcp.module.js.map +1 -1
- package/dist/modules/mcp/mcp.oauth-clients.controller.d.ts +12 -0
- package/dist/modules/mcp/mcp.oauth-clients.controller.js +93 -0
- package/dist/modules/mcp/mcp.oauth-clients.controller.js.map +1 -0
- package/dist/modules/mcp/mcp.oauth.controller.d.ts +13 -0
- package/dist/modules/mcp/mcp.oauth.controller.js +124 -0
- package/dist/modules/mcp/mcp.oauth.controller.js.map +1 -0
- package/dist/modules/mcp/mcp.types.d.ts +1 -2
- package/dist/modules/mcp/oauth-session.service.d.ts +16 -0
- package/dist/modules/mcp/oauth-session.service.js +48 -0
- package/dist/modules/mcp/oauth-session.service.js.map +1 -0
- package/dist/modules/mcp/tools/search-workflows.tool.d.ts +2 -3
- package/dist/modules/mcp/tools/search-workflows.tool.js +11 -10
- package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
- package/dist/modules/provisioning.ee/provisioning.service.ee.d.ts +4 -2
- package/dist/modules/provisioning.ee/provisioning.service.ee.js +20 -1
- package/dist/modules/provisioning.ee/provisioning.service.ee.js.map +1 -1
- package/dist/public-api/v1/handlers/users/users.service.ee.d.ts +6 -2
- package/dist/public-api/v1/handlers/users/users.service.ee.js +10 -3
- package/dist/public-api/v1/handlers/users/users.service.ee.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +1 -1
- package/dist/services/import.service.js +0 -5
- package/dist/services/import.service.js.map +1 -1
- package/dist/services/jwt.service.d.ts +1 -1
- package/dist/services/jwt.service.js.map +1 -1
- package/dist/sso.ee/oidc/oidc.service.ee.js +6 -4
- package/dist/sso.ee/oidc/oidc.service.ee.js.map +1 -1
- package/dist/sso.ee/saml/routes/saml.controller.ee.d.ts +2 -10
- package/dist/sso.ee/saml/routes/saml.controller.ee.js +2 -9
- package/dist/sso.ee/saml/routes/saml.controller.ee.js.map +1 -1
- package/dist/sso.ee/saml/saml-helpers.d.ts +4 -1
- package/dist/sso.ee/saml/saml-helpers.js +10 -3
- package/dist/sso.ee/saml/saml-helpers.js.map +1 -1
- package/dist/sso.ee/saml/saml.service.ee.d.ts +4 -1
- package/dist/sso.ee/saml/saml.service.ee.js +20 -12
- package/dist/sso.ee/saml/saml.service.ee.js.map +1 -1
- package/dist/sso.ee/saml/types.d.ts +2 -2
- package/dist/telemetry/index.js +17 -3
- package/dist/telemetry/index.js.map +1 -1
- package/dist/utils/validate-database-type.d.ts +3 -1
- package/dist/utils/validate-database-type.js +26 -4
- package/dist/utils/validate-database-type.js.map +1 -1
- package/dist/workflows/workflow-finder.service.d.ts +1 -0
- package/dist/workflows/workflow.request.d.ts +1 -0
- package/dist/workflows/workflow.service.d.ts +2 -1
- package/dist/workflows/workflow.service.js +1 -0
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +4 -0
- package/package.json +25 -25
|
@@ -13,6 +13,7 @@ export declare class ControllerRegistry {
|
|
|
13
13
|
constructor(license: License, authService: AuthService, globalConfig: GlobalConfig, metadata: ControllerRegistryMetadata, lastActiveAtService: LastActiveAtService);
|
|
14
14
|
activate(app: Application): void;
|
|
15
15
|
private activateController;
|
|
16
|
+
private buildMiddlewares;
|
|
16
17
|
private createRateLimitMiddleware;
|
|
17
18
|
private createLicenseMiddleware;
|
|
18
19
|
private createScopedMiddleware;
|
|
@@ -48,6 +48,16 @@ let ControllerRegistry = class ControllerRegistry {
|
|
|
48
48
|
app.use(prefix === '' ? '/' : prefix, router);
|
|
49
49
|
const controller = di_1.Container.get(controllerClass);
|
|
50
50
|
const controllerMiddlewares = metadata.middlewares.map((handlerName) => controller[handlerName].bind(controller));
|
|
51
|
+
const staticRouters = controllerClass.routers;
|
|
52
|
+
if (staticRouters) {
|
|
53
|
+
for (const routerConfig of staticRouters) {
|
|
54
|
+
if (!routerConfig.router) {
|
|
55
|
+
throw new n8n_workflow_1.UnexpectedError(`Router is undefined for path "${routerConfig.path}" in controller "${controllerClass.name}"`);
|
|
56
|
+
}
|
|
57
|
+
const middlewares = this.buildMiddlewares(routerConfig, controllerMiddlewares);
|
|
58
|
+
router.use(routerConfig.path, ...middlewares, routerConfig.router);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
51
61
|
for (const [handlerName, route] of metadata.routes) {
|
|
52
62
|
const argTypes = Reflect.getMetadata('design:paramtypes', controller, handlerName);
|
|
53
63
|
const handler = async (req, res) => {
|
|
@@ -74,22 +84,37 @@ let ControllerRegistry = class ControllerRegistry {
|
|
|
74
84
|
}
|
|
75
85
|
return await controller[handlerName](...args);
|
|
76
86
|
};
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
: []), ...(route.skipAuth
|
|
80
|
-
? []
|
|
81
|
-
: [
|
|
82
|
-
this.authService.createAuthMiddleware({
|
|
83
|
-
allowSkipMFA: route.allowSkipMFA,
|
|
84
|
-
allowSkipPreviewAuth: route.allowSkipPreviewAuth,
|
|
85
|
-
}),
|
|
86
|
-
this.lastActiveAtService.middleware.bind(this.lastActiveAtService),
|
|
87
|
-
]), ...(route.licenseFeature ? [this.createLicenseMiddleware(route.licenseFeature)] : []), ...(route.accessScope ? [this.createScopedMiddleware(route.accessScope)] : []), ...controllerMiddlewares, ...route.middlewares, route.usesTemplates
|
|
87
|
+
const middlewares = this.buildMiddlewares(route, controllerMiddlewares);
|
|
88
|
+
const finalHandler = route.usesTemplates
|
|
88
89
|
? async (req, res) => {
|
|
89
90
|
await handler(req, res);
|
|
90
91
|
}
|
|
91
|
-
: (0, response_helper_1.send)(handler)
|
|
92
|
+
: (0, response_helper_1.send)(handler);
|
|
93
|
+
router[route.method](route.path, ...middlewares, finalHandler);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
buildMiddlewares(route, controllerMiddlewares) {
|
|
97
|
+
const middlewares = [];
|
|
98
|
+
if (backend_common_1.inProduction && route.rateLimit) {
|
|
99
|
+
middlewares.push(this.createRateLimitMiddleware(route.rateLimit));
|
|
100
|
+
}
|
|
101
|
+
if (!route.skipAuth) {
|
|
102
|
+
middlewares.push(this.authService.createAuthMiddleware({
|
|
103
|
+
allowSkipMFA: route.allowSkipMFA ?? false,
|
|
104
|
+
allowSkipPreviewAuth: route.allowSkipPreviewAuth ?? false,
|
|
105
|
+
}), this.lastActiveAtService.middleware.bind(this.lastActiveAtService));
|
|
106
|
+
}
|
|
107
|
+
if (route.licenseFeature) {
|
|
108
|
+
middlewares.push(this.createLicenseMiddleware(route.licenseFeature));
|
|
109
|
+
}
|
|
110
|
+
if (route.accessScope) {
|
|
111
|
+
middlewares.push(this.createScopedMiddleware(route.accessScope));
|
|
112
|
+
}
|
|
113
|
+
middlewares.push(...controllerMiddlewares);
|
|
114
|
+
if (route.middlewares) {
|
|
115
|
+
middlewares.push(...route.middlewares);
|
|
92
116
|
}
|
|
117
|
+
return middlewares;
|
|
93
118
|
}
|
|
94
119
|
createRateLimitMiddleware(rateLimit) {
|
|
95
120
|
if (typeof rateLimit === 'boolean')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.registry.js","sourceRoot":"","sources":["../src/controller.registry.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsD;AACtD,wDAAmD;AACnD,wCAA2C;AAG3C,gDAA6D;AAE7D,gCAA6C;AAC7C,qCAAiC;AAEjC,2DAAmE;AACnE,+CAA+C;AAG/C,8EAAyE;AACzE,8EAAwE;AAExE,sDAAkD;AAClD,0FAAsF;AACtF,uCAAoC;AACpC,gEAA8D;AAC9D,uDAAyC;AAGlC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC9B,YACkB,OAAgB,EAChB,WAAwB,EACxB,YAA0B,EAC1B,QAAoC,EACpC,mBAAwC;QAJxC,YAAO,GAAP,OAAO,CAAS;QAChB,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,aAAQ,GAAR,QAAQ,CAA4B;QACpC,wBAAmB,GAAnB,mBAAmB,CAAqB;IACvD,CAAC;IAEJ,QAAQ,CAAC,GAAgB;QACxB,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/D,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC;IAEO,kBAAkB,CAAC,GAAgB,EAAE,eAA2B;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAG,IAAA,gBAAM,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,kBAAkB;YAC3C,CAAC,CAAC,QAAQ,CAAC,QAAQ;YACnB,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChE,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9C,MAAM,UAAU,GAAG,cAAS,CAAC,GAAG,CAAC,eAAe,CAAe,CAAC;QAChE,MAAM,qBAAqB,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CACrD,CAAC,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAmB,CAC3E,CAAC;QAEF,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"controller.registry.js","sourceRoot":"","sources":["../src/controller.registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -152,7 +152,9 @@ let AuthController = class AuthController {
|
|
|
152
152
|
});
|
|
153
153
|
throw new forbidden_error_1.ForbiddenError(constants_1.RESPONSE_ERROR_MESSAGES.USERS_QUOTA_REACHED);
|
|
154
154
|
}
|
|
155
|
-
const users = await this.userRepository.findManyByIds([inviterId, inviteeId]
|
|
155
|
+
const users = await this.userRepository.findManyByIds([inviterId, inviteeId], {
|
|
156
|
+
includeRole: true,
|
|
157
|
+
});
|
|
156
158
|
if (users.length !== 2) {
|
|
157
159
|
this.logger.debug('Request to resolve signup token failed because the ID of the inviter and/or the ID of the invitee were not found in database', { inviterId, inviteeId });
|
|
158
160
|
throw new bad_request_error_1.BadRequestError('Invalid invite URL');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/controllers/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA6E;AAC7E,wDAA6C;AAE7C,gCAAkF;AAClF,gDAAyE;AACzE,gCAAoC;AACpC,qDAA0C;AAG1C,iCAA0C;AAC1C,sDAAkD;AAClD,2CAAsD;AACtD,oEAAgE;AAChE,kFAA6E;AAC7E,8EAA0E;AAC1E,0DAAsD;AACtD,uCAAoC;AACpC,mDAA+C;AAC/C,uCAA0C;AAE1C,0DAAsD;AACtD,sDAK8B;AAGvB,IAAM,cAAc,GAApB,MAAM,cAAc;IAC1B,YACkB,MAAc,EACd,WAAwB,EACxB,UAAsB,EACtB,WAAwB,EACxB,OAAgB,EAChB,cAA8B,EAC9B,YAA0B,EAC1B,OAAuB;QAPvB,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAAa;QACxB,YAAO,GAAP,OAAO,CAAS;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,YAAO,GAAP,OAAO,CAAgB;IACtC,CAAC;IAIE,AAAN,KAAK,CAAC,KAAK,CACV,GAAoB,EACpB,GAAa,EACP,OAAwB;QAE9B,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAE3E,IAAI,IAAsB,CAAC;QAE3B,IAAI,wBAAwB,GAAG,IAAA,4CAA8B,GAAE,CAAC;QAEhE,IAAI,wBAAwB,KAAK,OAAO,IAAI,CAAC,IAAA,yBAAO,EAAC,kBAAkB,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,mCAAe,CAAC,uBAAuB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,IAAA,+CAAiC,GAAE,IAAI,IAAA,+CAAiC,GAAE,EAAE,CAAC;YAEhF,MAAM,eAAe,GAAG,MAAM,IAAA,uBAAgB,EAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAE7E,IACC,eAAe,EAAE,IAAI,CAAC,IAAI,KAAK,sBAAiB,CAAC,IAAI;gBACrD,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAC7C,CAAC;gBACF,IAAI,GAAG,eAAe,CAAC;gBACvB,wBAAwB,GAAG,OAAO,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,sBAAS,CAAC,wCAAwC,CAAC,CAAC;YAC/D,CAAC;QACF,CAAC;aAAM,IAAI,IAAA,+CAAiC,GAAE,EAAE,CAAC;YAChD,MAAM,eAAe,GAAG,MAAM,IAAA,uBAAgB,EAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAC7E,IAAI,eAAe,EAAE,IAAI,CAAC,IAAI,KAAK,sBAAiB,CAAC,IAAI,EAAE,CAAC;gBAC3D,IAAI,GAAG,eAAe,CAAC;gBACvB,wBAAwB,GAAG,OAAO,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACP,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,2BAA2B,GAAC,CAAC;gBAClE,IAAI,GAAG,MAAM,cAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YACvF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,GAAG,MAAM,IAAA,uBAAgB,EAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;oBAClC,MAAM,IAAI,sBAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBACvC,CAAC;gBAED,MAAM,+BAA+B,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CACxE,IAAI,CAAC,EAAE,EACP,OAAO,EACP,eAAe,CACf,CAAC;gBACF,IAAI,CAAC,+BAA+B,EAAE,CAAC;oBACtC,MAAM,IAAI,sBAAS,CAAC,oCAAoC,CAAC,CAAC;gBAC3D,CAAC;YACF,CAAC;YAGD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAExE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACxC,IAAI;gBACJ,oBAAoB,EAAE,wBAAwB;aAC9C,CAAC,CAAC;YAEH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI;gBAChB,gBAAgB,EAAE,IAAI,CAAC,UAAU;aACjC,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3C,oBAAoB,EAAE,wBAAwB;YAC9C,SAAS,EAAE,kBAAkB;YAC7B,MAAM,EAAE,mBAAmB;SAC3B,CAAC,CAAC;QACH,MAAM,IAAI,sBAAS,CAAC,uDAAuD,CAAC,CAAC;IAC9E,CAAC;IAMK,AAAN,KAAK,CAAC,WAAW,CAAC,GAAyB;QAC1C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE;YAChD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO;SACvC,CAAC,CAAC;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,kBAAkB,CACvB,IAAqB,EACrB,IAAc,EACP,OAAmC;QAE1C,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QACzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAE7D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uEAAuE,EAAE;gBAC1F,SAAS;gBACT,SAAS;aACT,CAAC,CAAC;YACH,MAAM,IAAI,gCAAc,CAAC,mCAAuB,CAAC,mBAAmB,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/controllers/auth.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ __decorate([
|
|
|
24
24
|
(0, class_validator_1.IsOptional)(),
|
|
25
25
|
(0, class_transformer_1.Expose)(),
|
|
26
26
|
__metadata("design:type", String)
|
|
27
|
-
], WorkflowFilter.prototype, "
|
|
27
|
+
], WorkflowFilter.prototype, "query", void 0);
|
|
28
28
|
__decorate([
|
|
29
29
|
(0, class_validator_1.IsBoolean)(),
|
|
30
30
|
(0, class_validator_1.IsOptional)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.filter.dto.js","sourceRoot":"","sources":["../../../../src/middlewares/list-query/dtos/workflow.filter.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA2C;AAC3C,qDAA2E;AAE3E,uDAA+C;AAE/C,MAAa,cAAe,SAAQ,4BAAU;IA2C7C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAiB;QACxC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;CACD;AA9CD,wCA8CC;AA1CA;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;
|
|
1
|
+
{"version":3,"file":"workflow.filter.dto.js","sourceRoot":"","sources":["../../../../src/middlewares/list-query/dtos/workflow.filter.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA2C;AAC3C,qDAA2E;AAE3E,uDAA+C;AAE/C,MAAa,cAAe,SAAQ,4BAAU;IA2C7C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAiB;QACxC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;CACD;AA9CD,wCA8CC;AA1CA;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;6CACM;AAKf;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;8CACQ;AAKjB;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;kDACY;AAMrB;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;4CACO;AAKhB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;iDACU;AAKnB;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;sDACe;AAKxB;IAHC,IAAA,2BAAS,GAAE;IACX,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;sDACgB;AAMzB;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAM,GAAE;;iDACY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.select.dto.js","sourceRoot":"","sources":["../../../../src/middlewares/list-query/dtos/workflow.select.dto.ts"],"names":[],"mappings":";;;AAAA,uDAA+C;AAE/C,MAAa,cAAe,SAAQ,4BAAU;IAC7C,MAAM,KAAK,gBAAgB;QAC1B,OAAO,IAAI,GAAG,CAAC;YACd,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,MAAM;YACN,WAAW;YACX,WAAW;YACX,WAAW;YACX,SAAS;YACT,cAAc;YACd,OAAO;YACP,YAAY;
|
|
1
|
+
{"version":3,"file":"workflow.select.dto.js","sourceRoot":"","sources":["../../../../src/middlewares/list-query/dtos/workflow.select.dto.ts"],"names":[],"mappings":";;;AAAA,uDAA+C;AAE/C,MAAa,cAAe,SAAQ,4BAAU;IAC7C,MAAM,KAAK,gBAAgB;QAC1B,OAAO,IAAI,GAAG,CAAC;YACd,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,MAAM;YACN,WAAW;YACX,WAAW;YACX,WAAW;YACX,SAAS;YACT,cAAc;YACd,OAAO;YACP,YAAY;YACZ,aAAa;SACb,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,SAAiB;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACjD,CAAC;CACD;AArBD,wCAqBC"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
import { BreakingChangeInstanceRuleResult, BreakingChangeLightReportResult, BreakingChangeWorkflowRuleResult } from '@n8n/api-types';
|
|
2
|
+
import { AuthenticatedRequest } from '@n8n/db';
|
|
1
3
|
import { BreakingChangeService } from './breaking-changes.service';
|
|
2
4
|
import { BreakingChangeVersion } from './types';
|
|
3
5
|
export declare class BreakingChangesController {
|
|
4
6
|
private readonly service;
|
|
5
7
|
constructor(service: BreakingChangeService);
|
|
6
|
-
|
|
8
|
+
private getLightDetectionResults;
|
|
9
|
+
getDetectionReport(query: {
|
|
7
10
|
version?: BreakingChangeVersion;
|
|
8
|
-
}): Promise<
|
|
11
|
+
}): Promise<BreakingChangeLightReportResult>;
|
|
9
12
|
refreshCache(query: {
|
|
10
13
|
version?: BreakingChangeVersion;
|
|
11
|
-
}): Promise<
|
|
14
|
+
}): Promise<BreakingChangeLightReportResult>;
|
|
15
|
+
getDetectionReportForRule(_req: AuthenticatedRequest, _res: Response, ruleId: string): Promise<BreakingChangeInstanceRuleResult | BreakingChangeWorkflowRuleResult>;
|
|
12
16
|
}
|
|
@@ -14,35 +14,68 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.BreakingChangesController = void 0;
|
|
16
16
|
const decorators_1 = require("@n8n/decorators");
|
|
17
|
+
const not_found_error_1 = require("../../errors/response-errors/not-found.error");
|
|
17
18
|
const breaking_changes_service_1 = require("./breaking-changes.service");
|
|
18
19
|
let BreakingChangesController = class BreakingChangesController {
|
|
19
20
|
constructor(service) {
|
|
20
21
|
this.service = service;
|
|
21
22
|
}
|
|
22
|
-
|
|
23
|
-
return
|
|
23
|
+
getLightDetectionResults(report) {
|
|
24
|
+
return {
|
|
25
|
+
...report,
|
|
26
|
+
workflowResults: report.workflowResults.map((r) => {
|
|
27
|
+
const { affectedWorkflows, ...otherFields } = r;
|
|
28
|
+
return { ...otherFields, nbAffectedWorkflows: affectedWorkflows.length };
|
|
29
|
+
}),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
async getDetectionReport(query) {
|
|
33
|
+
const report = await this.service.getDetectionResults(query.version ?? 'v2');
|
|
34
|
+
return {
|
|
35
|
+
...report,
|
|
36
|
+
report: this.getLightDetectionResults(report.report),
|
|
37
|
+
};
|
|
24
38
|
}
|
|
25
39
|
async refreshCache(query) {
|
|
26
|
-
|
|
40
|
+
const report = await this.service.refreshDetectionResults(query.version ?? 'v2');
|
|
41
|
+
return {
|
|
42
|
+
...report,
|
|
43
|
+
report: this.getLightDetectionResults(report.report),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
async getDetectionReportForRule(_req, _res, ruleId) {
|
|
47
|
+
const result = await this.service.getDetectionReportForRule(ruleId);
|
|
48
|
+
if (!result) {
|
|
49
|
+
throw new not_found_error_1.NotFoundError(`Breaking change rule with ID '${ruleId}' not found.`);
|
|
50
|
+
}
|
|
51
|
+
return result;
|
|
27
52
|
}
|
|
28
53
|
};
|
|
29
54
|
exports.BreakingChangesController = BreakingChangesController;
|
|
30
55
|
__decorate([
|
|
31
|
-
(0, decorators_1.Get)('/'),
|
|
56
|
+
(0, decorators_1.Get)('/report'),
|
|
32
57
|
(0, decorators_1.GlobalScope)('breakingChanges:list'),
|
|
33
58
|
__param(0, decorators_1.Query),
|
|
34
59
|
__metadata("design:type", Function),
|
|
35
60
|
__metadata("design:paramtypes", [Object]),
|
|
36
61
|
__metadata("design:returntype", Promise)
|
|
37
|
-
], BreakingChangesController.prototype, "
|
|
62
|
+
], BreakingChangesController.prototype, "getDetectionReport", null);
|
|
38
63
|
__decorate([
|
|
39
|
-
(0, decorators_1.Post)('/refresh'),
|
|
64
|
+
(0, decorators_1.Post)('/report/refresh'),
|
|
40
65
|
(0, decorators_1.GlobalScope)('breakingChanges:list'),
|
|
41
66
|
__param(0, decorators_1.Query),
|
|
42
67
|
__metadata("design:type", Function),
|
|
43
68
|
__metadata("design:paramtypes", [Object]),
|
|
44
69
|
__metadata("design:returntype", Promise)
|
|
45
70
|
], BreakingChangesController.prototype, "refreshCache", null);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, decorators_1.Get)('/report/:ruleId'),
|
|
73
|
+
(0, decorators_1.GlobalScope)('breakingChanges:list'),
|
|
74
|
+
__param(2, (0, decorators_1.Param)('ruleId')),
|
|
75
|
+
__metadata("design:type", Function),
|
|
76
|
+
__metadata("design:paramtypes", [Object, Response, String]),
|
|
77
|
+
__metadata("design:returntype", Promise)
|
|
78
|
+
], BreakingChangesController.prototype, "getDetectionReportForRule", null);
|
|
46
79
|
exports.BreakingChangesController = BreakingChangesController = __decorate([
|
|
47
80
|
(0, decorators_1.RestController)('/breaking-changes'),
|
|
48
81
|
__metadata("design:paramtypes", [breaking_changes_service_1.BreakingChangeService])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breaking-changes.controller.js","sourceRoot":"","sources":["../../../src/modules/breaking-changes/breaking-changes.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"breaking-changes.controller.js","sourceRoot":"","sources":["../../../src/modules/breaking-changes/breaking-changes.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAOA,gDAAuF;AAEvF,8EAAyE;AAEzE,yEAAmE;AAI5D,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACrC,YAA6B,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAEvD,wBAAwB,CAC/B,MAA4C;QAE5C,OAAO;YACN,GAAG,MAAM;YACT,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjD,MAAM,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC;gBAChD,OAAO,EAAE,GAAG,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC1E,CAAC,CAAC;SACF,CAAC;IACH,CAAC;IAOK,AAAN,KAAK,CAAC,kBAAkB,CAChB,KAA0C;QAEjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC7E,OAAO;YACN,GAAG,MAAM;YACT,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC;SACpD,CAAC;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,YAAY,CACV,KAA0C;QAEjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACjF,OAAO;YACN,GAAG,MAAM;YACT,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC;SACpD,CAAC;IACH,CAAC;IAOK,AAAN,KAAK,CAAC,yBAAyB,CAC9B,IAA0B,EAC1B,IAAc,EACG,MAAc;QAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,+BAAa,CAAC,iCAAiC,MAAM,cAAc,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAA;AA1DY,8DAAyB;AAoB/B;IAFL,IAAA,gBAAG,EAAC,SAAS,CAAC;IACd,IAAA,wBAAW,EAAC,sBAAsB,CAAC;IAElC,WAAA,kBAAK,CAAA;;;;mEAON;AAIK;IAFL,IAAA,iBAAI,EAAC,iBAAiB,CAAC;IACvB,IAAA,wBAAW,EAAC,sBAAsB,CAAC;IAElC,WAAA,kBAAK,CAAA;;;;6DAON;AAOK;IAFL,IAAA,gBAAG,EAAC,iBAAiB,CAAC;IACtB,IAAA,wBAAW,EAAC,sBAAsB,CAAC;IAIlC,WAAA,IAAA,kBAAK,EAAC,QAAQ,CAAC,CAAA;;6CADV,QAAQ;;0EAQd;oCAzDW,yBAAyB;IADrC,IAAA,2BAAc,EAAC,mBAAmB,CAAC;qCAEG,gDAAqB;GAD/C,yBAAyB,CA0DrC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { BreakingChangeInstanceRuleResult, BreakingChangeReportResult, BreakingChangeWorkflowRuleResult } from '@n8n/api-types';
|
|
1
2
|
import { Logger } from '@n8n/backend-common';
|
|
2
3
|
import { WorkflowRepository } from '@n8n/db';
|
|
3
4
|
import { ErrorReporter } from 'n8n-core';
|
|
4
|
-
import { RuleRegistry } from './breaking-changes.rule-registry.service';
|
|
5
|
-
import type { DetectionReport, BreakingChangeVersion, DetectionResult, IBreakingChangeInstanceRule } from './types';
|
|
6
5
|
import { CacheService } from '../../services/cache/cache.service';
|
|
6
|
+
import { RuleRegistry } from './breaking-changes.rule-registry.service';
|
|
7
|
+
import type { BreakingChangeVersion, IBreakingChangeInstanceRule } from './types';
|
|
7
8
|
export declare class BreakingChangeService {
|
|
8
9
|
private readonly ruleRegistry;
|
|
9
10
|
private readonly workflowRepository;
|
|
@@ -15,10 +16,12 @@ export declare class BreakingChangeService {
|
|
|
15
16
|
private readonly ongoingDetections;
|
|
16
17
|
constructor(ruleRegistry: RuleRegistry, workflowRepository: WorkflowRepository, cacheService: CacheService, logger: Logger, errorReporter: ErrorReporter);
|
|
17
18
|
registerRules(): void;
|
|
18
|
-
getAllInstanceRulesResults(instanceLevelRules: IBreakingChangeInstanceRule[]): Promise<
|
|
19
|
+
getAllInstanceRulesResults(instanceLevelRules: IBreakingChangeInstanceRule[]): Promise<BreakingChangeInstanceRuleResult[]>;
|
|
19
20
|
private getAllWorkflowRulesResults;
|
|
20
|
-
refreshDetectionResults(targetVersion: BreakingChangeVersion): Promise<
|
|
21
|
-
getDetectionResults(targetVersion: BreakingChangeVersion): Promise<
|
|
22
|
-
|
|
21
|
+
refreshDetectionResults(targetVersion: BreakingChangeVersion): Promise<BreakingChangeReportResult>;
|
|
22
|
+
getDetectionResults(targetVersion: BreakingChangeVersion): Promise<BreakingChangeReportResult>;
|
|
23
|
+
private shouldCacheDetection;
|
|
24
|
+
detect(targetVersion: BreakingChangeVersion): Promise<BreakingChangeReportResult>;
|
|
25
|
+
getDetectionReportForRule(ruleId: string): Promise<BreakingChangeInstanceRuleResult | BreakingChangeWorkflowRuleResult | undefined>;
|
|
23
26
|
private createDetectionReport;
|
|
24
27
|
}
|
|
@@ -12,14 +12,14 @@ var BreakingChangeService_1;
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.BreakingChangeService = void 0;
|
|
14
14
|
const backend_common_1 = require("@n8n/backend-common");
|
|
15
|
+
const constants_1 = require("@n8n/constants");
|
|
15
16
|
const db_1 = require("@n8n/db");
|
|
16
17
|
const di_1 = require("@n8n/di");
|
|
17
18
|
const n8n_core_1 = require("n8n-core");
|
|
18
|
-
const
|
|
19
|
+
const cache_service_1 = require("../../services/cache/cache.service");
|
|
19
20
|
const breaking_changes_rule_registry_service_1 = require("./breaking-changes.rule-registry.service");
|
|
20
21
|
const rules_1 = require("./rules");
|
|
21
|
-
const
|
|
22
|
-
const cache_service_1 = require("../../services/cache/cache.service");
|
|
22
|
+
const constants_2 = require("../../constants");
|
|
23
23
|
let BreakingChangeService = BreakingChangeService_1 = class BreakingChangeService {
|
|
24
24
|
constructor(ruleRegistry, workflowRepository, cacheService, logger, errorReporter) {
|
|
25
25
|
this.ruleRegistry = ruleRegistry;
|
|
@@ -41,16 +41,21 @@ let BreakingChangeService = BreakingChangeService_1 = class BreakingChangeServic
|
|
|
41
41
|
for (const rule of instanceLevelRules) {
|
|
42
42
|
try {
|
|
43
43
|
const ruleResult = await rule.detect();
|
|
44
|
+
console.log('ruleResult', ruleResult);
|
|
44
45
|
if (ruleResult.isAffected) {
|
|
45
46
|
instanceLevelResults.push({
|
|
46
47
|
ruleId: rule.id,
|
|
47
|
-
|
|
48
|
+
ruleTitle: rule.getMetadata().title,
|
|
49
|
+
ruleDescription: rule.getMetadata().description,
|
|
50
|
+
ruleSeverity: rule.getMetadata().severity,
|
|
51
|
+
ruleDocumentationUrl: rule.getMetadata().documentationUrl,
|
|
48
52
|
instanceIssues: ruleResult.instanceIssues,
|
|
49
53
|
recommendations: ruleResult.recommendations,
|
|
50
54
|
});
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
57
|
catch (error) {
|
|
58
|
+
console.log('error', error);
|
|
54
59
|
this.errorReporter.error(error, { shouldBeLogged: true });
|
|
55
60
|
}
|
|
56
61
|
}
|
|
@@ -66,10 +71,13 @@ let BreakingChangeService = BreakingChangeService_1 = class BreakingChangeServic
|
|
|
66
71
|
});
|
|
67
72
|
for (let skip = 0; skip < totalWorkflows; skip += this.batchSize) {
|
|
68
73
|
const workflows = await this.workflowRepository.find({
|
|
69
|
-
select: ['id', 'name', 'active', 'nodes'],
|
|
74
|
+
select: ['id', 'name', 'active', 'nodes', 'updatedAt', 'statistics'],
|
|
70
75
|
skip,
|
|
71
76
|
take: this.batchSize,
|
|
72
77
|
order: { id: 'ASC' },
|
|
78
|
+
relations: {
|
|
79
|
+
statistics: true,
|
|
80
|
+
},
|
|
73
81
|
});
|
|
74
82
|
this.logger.debug('Processing batch', {
|
|
75
83
|
skip,
|
|
@@ -91,6 +99,9 @@ let BreakingChangeService = BreakingChangeService_1 = class BreakingChangeServic
|
|
|
91
99
|
name: workflow.name,
|
|
92
100
|
active: workflow.active,
|
|
93
101
|
issues: workflowDetectionResult.issues,
|
|
102
|
+
numberOfExecutions: workflow.statistics.reduce((acc, cur) => acc + (cur.count || 0), 0),
|
|
103
|
+
lastExecutedAt: workflow.statistics.sort((a, b) => b.latestEvent.getTime() - a.latestEvent.getTime())[0]?.latestEvent,
|
|
104
|
+
lastUpdatedAt: workflow.updatedAt,
|
|
94
105
|
};
|
|
95
106
|
if (!allAffectedWorkflowsByRule.has(rule.id)) {
|
|
96
107
|
allAffectedWorkflowsByRule.set(rule.id, [affectedWorkflow]);
|
|
@@ -108,8 +119,10 @@ let BreakingChangeService = BreakingChangeService_1 = class BreakingChangeServic
|
|
|
108
119
|
if (isAffected) {
|
|
109
120
|
allResults.push({
|
|
110
121
|
ruleId: rule.id,
|
|
122
|
+
ruleTitle: rule.getMetadata().title,
|
|
123
|
+
ruleDescription: rule.getMetadata().description,
|
|
124
|
+
ruleSeverity: rule.getMetadata().severity,
|
|
111
125
|
affectedWorkflows: workflowResults,
|
|
112
|
-
instanceIssues: [],
|
|
113
126
|
recommendations: await rule.getRecommendations(workflowResults),
|
|
114
127
|
});
|
|
115
128
|
}
|
|
@@ -117,27 +130,43 @@ let BreakingChangeService = BreakingChangeService_1 = class BreakingChangeServic
|
|
|
117
130
|
return allResults;
|
|
118
131
|
}
|
|
119
132
|
async refreshDetectionResults(targetVersion) {
|
|
120
|
-
await this.cacheService.
|
|
133
|
+
await this.cacheService.delete(`${BreakingChangeService_1.CACHE_KEY_PREFIX}_${targetVersion}`);
|
|
121
134
|
return await this.getDetectionResults(targetVersion);
|
|
122
135
|
}
|
|
123
136
|
async getDetectionResults(targetVersion) {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
this.
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
137
|
+
const existingDetection = this.ongoingDetections.get(targetVersion);
|
|
138
|
+
if (existingDetection) {
|
|
139
|
+
this.logger.debug('Reusing ongoing detection', { targetVersion });
|
|
140
|
+
return await existingDetection;
|
|
141
|
+
}
|
|
142
|
+
const cacheKey = `${BreakingChangeService_1.CACHE_KEY_PREFIX}_${targetVersion}`;
|
|
143
|
+
const detectionPromise = new Promise((resolve) => {
|
|
144
|
+
void (async () => {
|
|
145
|
+
const cachedResult = await this.cacheService.get(cacheKey);
|
|
146
|
+
if (cachedResult) {
|
|
147
|
+
this.logger.info('Using cached breaking change detection results', {
|
|
148
|
+
targetVersion,
|
|
149
|
+
});
|
|
150
|
+
return resolve(cachedResult);
|
|
138
151
|
}
|
|
139
|
-
|
|
152
|
+
const detectionResult = await this.detect(targetVersion);
|
|
153
|
+
return resolve(detectionResult);
|
|
154
|
+
})();
|
|
140
155
|
});
|
|
156
|
+
this.ongoingDetections.set(targetVersion, detectionPromise);
|
|
157
|
+
try {
|
|
158
|
+
const result = await detectionPromise;
|
|
159
|
+
if (result.shouldCache) {
|
|
160
|
+
await this.cacheService.set(cacheKey, result);
|
|
161
|
+
}
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
finally {
|
|
165
|
+
this.ongoingDetections.delete(targetVersion);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
shouldCacheDetection(durationMs) {
|
|
169
|
+
return durationMs > constants_1.Time.seconds.toMilliseconds * 10;
|
|
141
170
|
}
|
|
142
171
|
async detect(targetVersion) {
|
|
143
172
|
const startTime = Date.now();
|
|
@@ -149,30 +178,30 @@ let BreakingChangeService = BreakingChangeService_1 = class BreakingChangeServic
|
|
|
149
178
|
this.getAllInstanceRulesResults(instanceLevelRules),
|
|
150
179
|
this.getAllWorkflowRulesResults(workflowLevelRules),
|
|
151
180
|
]);
|
|
152
|
-
const report = this.createDetectionReport(targetVersion, instanceLevelResults
|
|
181
|
+
const report = this.createDetectionReport(targetVersion, instanceLevelResults, workflowLevelResults);
|
|
153
182
|
const duration = Date.now() - startTime;
|
|
154
183
|
this.logger.info('Breaking change detection completed', {
|
|
155
184
|
duration,
|
|
156
|
-
totalIssues: report.summary.totalIssues,
|
|
157
|
-
criticalIssues: report.summary.criticalIssues,
|
|
158
185
|
});
|
|
159
|
-
return report;
|
|
186
|
+
return { report, shouldCache: this.shouldCacheDetection(duration) };
|
|
187
|
+
}
|
|
188
|
+
async getDetectionReportForRule(ruleId) {
|
|
189
|
+
const rule = this.ruleRegistry.getRule(ruleId);
|
|
190
|
+
if (!rule) {
|
|
191
|
+
return undefined;
|
|
192
|
+
}
|
|
193
|
+
if ('detectWorkflow' in rule) {
|
|
194
|
+
return (await this.getAllWorkflowRulesResults([rule]))[0];
|
|
195
|
+
}
|
|
196
|
+
return (await this.getAllInstanceRulesResults([rule]))[0];
|
|
160
197
|
}
|
|
161
|
-
createDetectionReport(targetVersion,
|
|
162
|
-
const criticalIssues = results.filter((r) => {
|
|
163
|
-
const rule = rules.find((rule) => rule.id === r.ruleId);
|
|
164
|
-
(0, node_assert_1.strict)(rule);
|
|
165
|
-
return rule.getMetadata().severity === "critical";
|
|
166
|
-
}).length;
|
|
198
|
+
createDetectionReport(targetVersion, instanceResults, workflowResults) {
|
|
167
199
|
return {
|
|
168
200
|
generatedAt: new Date(),
|
|
169
201
|
targetVersion,
|
|
170
|
-
currentVersion:
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
criticalIssues,
|
|
174
|
-
},
|
|
175
|
-
results,
|
|
202
|
+
currentVersion: constants_2.N8N_VERSION,
|
|
203
|
+
workflowResults,
|
|
204
|
+
instanceResults,
|
|
176
205
|
};
|
|
177
206
|
}
|
|
178
207
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breaking-changes.service.js","sourceRoot":"","sources":["../../../src/modules/breaking-changes/breaking-changes.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"breaking-changes.service.js","sourceRoot":"","sources":["../../../src/modules/breaking-changes/breaking-changes.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { BreakingChangeRecommendation } from '@n8n/api-types';
|
|
1
2
|
import { WorkflowEntity } from '@n8n/db';
|
|
2
3
|
import { INode } from 'n8n-workflow';
|
|
3
|
-
import type {
|
|
4
|
+
import type { BreakingChangeRuleMetadata, IBreakingChangeWorkflowRule, WorkflowDetectionReport } from '../../types';
|
|
4
5
|
export declare class FileAccessRule implements IBreakingChangeWorkflowRule {
|
|
5
6
|
private readonly FILE_NODES;
|
|
6
7
|
id: string;
|
|
7
|
-
getMetadata():
|
|
8
|
-
getRecommendations(): Promise<
|
|
9
|
-
detectWorkflow(_workflow: WorkflowEntity, nodesGroupedByType: Map<string, INode[]>): Promise<
|
|
8
|
+
getMetadata(): BreakingChangeRuleMetadata;
|
|
9
|
+
getRecommendations(): Promise<BreakingChangeRecommendation[]>;
|
|
10
|
+
detectWorkflow(_workflow: WorkflowEntity, nodesGroupedByType: Map<string, INode[]>): Promise<WorkflowDetectionReport>;
|
|
10
11
|
}
|
|
@@ -19,7 +19,7 @@ let FileAccessRule = class FileAccessRule {
|
|
|
19
19
|
title: 'File Access Restrictions',
|
|
20
20
|
description: 'File access is now restricted to a default directory for security purposes',
|
|
21
21
|
category: "workflow",
|
|
22
|
-
severity:
|
|
22
|
+
severity: 'high',
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
async getRecommendations() {
|
|
@@ -27,7 +27,6 @@ let FileAccessRule = class FileAccessRule {
|
|
|
27
27
|
{
|
|
28
28
|
action: 'Configure file access paths',
|
|
29
29
|
description: 'Set N8N_RESTRICT_FILE_ACCESS_TO to a semicolon-separated list of allowed paths if workflows need to access files outside the default directory',
|
|
30
|
-
documentationUrl: this.getMetadata().documentationUrl,
|
|
31
30
|
},
|
|
32
31
|
];
|
|
33
32
|
}
|
|
@@ -40,7 +39,9 @@ let FileAccessRule = class FileAccessRule {
|
|
|
40
39
|
issues: fileNodes.map((node) => ({
|
|
41
40
|
title: `File access node '${node.type}' with name '${node.name}' affected`,
|
|
42
41
|
description: 'File access for this node is now restricted to configured directories.',
|
|
43
|
-
level:
|
|
42
|
+
level: 'warning',
|
|
43
|
+
nodeId: node.id,
|
|
44
|
+
nodeName: node.name,
|
|
44
45
|
})),
|
|
45
46
|
};
|
|
46
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-access.rule.js","sourceRoot":"","sources":["../../../../../src/modules/breaking-changes/rules/v2/file-access.rule.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"file-access.rule.js","sourceRoot":"","sources":["../../../../../src/modules/breaking-changes/rules/v2/file-access.rule.ts"],"names":[],"mappings":";;;;;;;;;AAEA,gCAAkC;AAW3B,IAAM,cAAc,GAApB,MAAM,cAAc;IAApB;QACW,eAAU,GAAG,CAAC,8BAA8B,EAAE,gCAAgC,CAAC,CAAC;QAEjG,OAAE,GAAW,4BAA4B,CAAC;IAwC3C,CAAC;IAtCA,WAAW;QACV,OAAO;YACN,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,4EAA4E;YACzF,QAAQ,YAAiC;YACzC,QAAQ,EAAE,MAAM;SAChB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB;QACvB,OAAO;YACN;gBACC,MAAM,EAAE,6BAA6B;gBACrC,WAAW,EACV,gJAAgJ;aACjJ;SACD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,SAAyB,EACzB,kBAAwC;QAExC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAChG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAErE,OAAO;YACN,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChC,KAAK,EAAE,qBAAqB,IAAI,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI,YAAY;gBAC1E,WAAW,EAAE,wEAAwE;gBACrF,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,QAAQ,EAAE,IAAI,CAAC,IAAI;aACnB,CAAC,CAAC;SACH,CAAC;IACH,CAAC;CACD,CAAA;AA3CY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,YAAO,GAAE;GACG,cAAc,CA2C1B"}
|