n8n 2.5.2 → 2.6.1
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/active-executions.d.ts +1 -1
- package/dist/active-executions.js +43 -34
- package/dist/active-executions.js.map +1 -1
- package/dist/auth/auth.service.d.ts +4 -0
- package/dist/auth/auth.service.js +16 -3
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/methods/email.js +2 -2
- package/dist/auth/methods/email.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/concurrency/concurrency-capacity-reservation.d.ts +8 -0
- package/dist/concurrency/concurrency-capacity-reservation.js +26 -0
- package/dist/concurrency/concurrency-capacity-reservation.js.map +1 -0
- package/dist/concurrency/concurrency-control.service.d.ts +8 -10
- package/dist/concurrency/concurrency-control.service.js.map +1 -1
- package/dist/controller.registry.d.ts +3 -2
- package/dist/controller.registry.js +26 -17
- package/dist/controller.registry.js.map +1 -1
- package/dist/controllers/ai.controller.js +4 -4
- package/dist/controllers/ai.controller.js.map +1 -1
- package/dist/controllers/api-keys.controller.d.ts +8 -4
- package/dist/controllers/api-keys.controller.js +23 -6
- package/dist/controllers/api-keys.controller.js.map +1 -1
- package/dist/controllers/auth.controller.js +16 -4
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/invitation.controller.js +15 -3
- package/dist/controllers/invitation.controller.js.map +1 -1
- package/dist/controllers/me.controller.js +3 -1
- package/dist/controllers/me.controller.js.map +1 -1
- package/dist/controllers/mfa.controller.js +12 -3
- package/dist/controllers/mfa.controller.js.map +1 -1
- package/dist/controllers/password-reset.controller.d.ts +3 -1
- package/dist/controllers/password-reset.controller.js +73 -52
- package/dist/controllers/password-reset.controller.js.map +1 -1
- package/dist/controllers/posthog.controller.js +10 -10
- package/dist/controllers/posthog.controller.js.map +1 -1
- package/dist/controllers/project.controller.d.ts +2 -0
- package/dist/controllers/telemetry.controller.js +4 -4
- package/dist/controllers/telemetry.controller.js.map +1 -1
- package/dist/credentials/credentials.controller.d.ts +1 -0
- package/dist/credentials/credentials.controller.js +2 -0
- package/dist/credentials/credentials.controller.js.map +1 -1
- package/dist/credentials/credentials.service.d.ts +1 -0
- package/dist/credentials/credentials.service.js +1 -0
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/credentials-overwrites.d.ts +1 -2
- package/dist/credentials-overwrites.js +2 -11
- package/dist/credentials-overwrites.js.map +1 -1
- package/dist/events/maps/relay.event-map.d.ts +12 -0
- package/dist/events/relays/telemetry.event-relay.d.ts +4 -0
- package/dist/events/relays/telemetry.event-relay.js +87 -3
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/executions/execution-data/constants.d.ts +2 -0
- package/dist/executions/execution-data/constants.js +6 -0
- package/dist/executions/execution-data/constants.js.map +1 -0
- package/dist/executions/execution-data/corrupted-execution-data.error.d.ts +5 -0
- package/dist/executions/execution-data/corrupted-execution-data.error.js +11 -0
- package/dist/executions/execution-data/corrupted-execution-data.error.js.map +1 -0
- package/dist/executions/execution-data/db-store.d.ts +9 -0
- package/dist/executions/execution-data/db-store.js +42 -0
- package/dist/executions/execution-data/db-store.js.map +1 -0
- package/dist/executions/execution-data/execution-data-write.error.d.ts +5 -0
- package/dist/executions/execution-data/execution-data-write.error.js +11 -0
- package/dist/executions/execution-data/execution-data-write.error.js.map +1 -0
- package/dist/executions/execution-data/fs-store.d.ts +14 -0
- package/dist/executions/execution-data/fs-store.js +89 -0
- package/dist/executions/execution-data/fs-store.js.map +1 -0
- package/dist/executions/execution-data/types.d.ts +8 -5
- package/dist/executions/execution-data/types.js +4 -0
- package/dist/executions/execution-data/types.js.map +1 -1
- package/dist/interfaces.d.ts +1 -0
- package/dist/load-nodes-and-credentials.d.ts +1 -6
- package/dist/load-nodes-and-credentials.js +18 -106
- package/dist/load-nodes-and-credentials.js.map +1 -1
- package/dist/manual-execution.service.js +13 -1
- package/dist/manual-execution.service.js.map +1 -1
- package/dist/middlewares/cors.js +1 -1
- package/dist/middlewares/cors.js.map +1 -1
- package/dist/middlewares/index.d.ts +1 -0
- package/dist/middlewares/index.js +1 -0
- package/dist/middlewares/index.js.map +1 -1
- package/dist/middlewares/jitter.d.ts +6 -0
- package/dist/middlewares/jitter.js +14 -0
- package/dist/middlewares/jitter.js.map +1 -0
- package/dist/middlewares/list-query/dtos/pagination.dto.js +1 -1
- package/dist/middlewares/list-query/dtos/pagination.dto.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-extractor.d.ts +14 -3
- package/dist/modules/chat-hub/chat-hub-extractor.js +70 -23
- package/dist/modules/chat-hub/chat-hub-extractor.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +6 -3
- package/dist/modules/chat-hub/chat-hub-workflow.service.js +28 -7
- package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.constants.js +97 -19
- package/dist/modules/chat-hub/chat-hub.constants.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.controller.js +4 -3
- package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.service.d.ts +4 -3
- package/dist/modules/chat-hub/chat-hub.service.js +16 -16
- package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
- package/dist/modules/community-packages/community-node-types-utils.d.ts +8 -1
- package/dist/modules/community-packages/community-node-types-utils.js +27 -3
- package/dist/modules/community-packages/community-node-types-utils.js.map +1 -1
- package/dist/modules/community-packages/community-node-types.service.d.ts +2 -1
- package/dist/modules/community-packages/community-node-types.service.js +53 -6
- package/dist/modules/community-packages/community-node-types.service.js.map +1 -1
- package/dist/modules/community-packages/community-packages.service.js +25 -9
- package/dist/modules/community-packages/community-packages.service.js.map +1 -1
- package/dist/modules/community-packages/strapi-utils.d.ts +21 -1
- package/dist/modules/community-packages/strapi-utils.js +16 -11
- package/dist/modules/community-packages/strapi-utils.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/http-header-extractor.js +7 -7
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/http-header-extractor.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/index.d.ts +0 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/index.js +0 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/index.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/storage/dynamic-credential-user-entry-storage.d.ts +11 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/storage/dynamic-credential-user-entry-storage.js +59 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/storage/dynamic-credential-user-entry-storage.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/database/entities/dynamic-credential-user-entry.d.ts +12 -0
- package/dist/modules/dynamic-credentials.ee/database/entities/dynamic-credential-user-entry.js +65 -0
- package/dist/modules/dynamic-credentials.ee/database/entities/dynamic-credential-user-entry.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/database/repositories/dynamic-credential-user-entry.repository.d.ts +5 -0
- package/dist/modules/dynamic-credentials.ee/database/repositories/dynamic-credential-user-entry.repository.js +26 -0
- package/dist/modules/dynamic-credentials.ee/database/repositories/dynamic-credential-user-entry.repository.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.config.d.ts +1 -0
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.config.js +5 -0
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.config.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +6 -5
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.d.ts +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js +2 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-cors.service.js +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-cors.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.d.ts +5 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js +24 -4
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/utils.d.ts +1 -0
- package/dist/modules/dynamic-credentials.ee/utils.js +7 -0
- package/dist/modules/dynamic-credentials.ee/utils.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js +4 -1
- package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js.map +1 -1
- package/dist/modules/external-secrets.ee/external-secrets.module.js +4 -0
- package/dist/modules/external-secrets.ee/external-secrets.module.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js +35 -2
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/infisical.js +39 -9
- package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
- package/dist/modules/external-secrets.ee/secrets-providers-autocomplete.controller.ee.d.ts +11 -0
- package/dist/modules/external-secrets.ee/secrets-providers-autocomplete.controller.ee.js +64 -0
- package/dist/modules/external-secrets.ee/secrets-providers-autocomplete.controller.ee.js.map +1 -0
- package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.d.ts +18 -0
- package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.js +141 -0
- package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.js.map +1 -0
- package/dist/modules/external-secrets.ee/secrets-providers-project.controller.ee.d.ts +10 -0
- package/dist/modules/external-secrets.ee/secrets-providers-project.controller.ee.js +53 -0
- package/dist/modules/external-secrets.ee/secrets-providers-project.controller.ee.js.map +1 -0
- package/dist/modules/external-secrets.ee/secrets-providers-types.controller.ee.d.ts +11 -0
- package/dist/modules/external-secrets.ee/secrets-providers-types.controller.ee.js +64 -0
- package/dist/modules/external-secrets.ee/secrets-providers-types.controller.ee.js.map +1 -0
- package/dist/modules/ldap.ee/constants.js.map +1 -0
- package/dist/{ldap.ee → modules/ldap.ee}/helpers.ee.d.ts +0 -3
- package/dist/{ldap.ee → modules/ldap.ee}/helpers.ee.js +1 -11
- package/dist/modules/ldap.ee/helpers.ee.js.map +1 -0
- package/dist/{ldap.ee → modules/ldap.ee}/ldap.controller.ee.d.ts +1 -1
- package/dist/{ldap.ee → modules/ldap.ee}/ldap.controller.ee.js +2 -2
- package/dist/modules/ldap.ee/ldap.controller.ee.js.map +1 -0
- package/dist/modules/ldap.ee/ldap.module.d.ts +4 -0
- package/dist/modules/ldap.ee/ldap.module.js +57 -0
- package/dist/modules/ldap.ee/ldap.module.js.map +1 -0
- package/dist/{ldap.ee → modules/ldap.ee}/ldap.service.ee.d.ts +5 -3
- package/dist/{ldap.ee → modules/ldap.ee}/ldap.service.ee.js +47 -10
- package/dist/modules/ldap.ee/ldap.service.ee.js.map +1 -0
- package/dist/{ldap.ee → modules/ldap.ee}/types.js.map +1 -1
- package/dist/modules/log-streaming.ee/database/repositories/event-destination.repository.js.map +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-sentry.ee.js +0 -7
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-sentry.ee.js.map +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-syslog.ee.js +0 -6
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-syslog.ee.js.map +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js +1 -8
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js.map +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination.ee.d.ts +0 -2
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination.ee.js +6 -2
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination.ee.js.map +1 -1
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.d.ts +4 -5
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.js +6 -10
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.js.map +1 -1
- package/dist/modules/log-streaming.ee/log-streaming.controller.d.ts +6 -6
- package/dist/modules/log-streaming.ee/log-streaming.controller.js +33 -71
- package/dist/modules/log-streaming.ee/log-streaming.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.controller.js +1 -1
- package/dist/modules/mcp/mcp.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.oauth.controller.js +17 -2
- package/dist/modules/mcp/mcp.oauth.controller.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-export.service.ee.d.ts +1 -1
- package/dist/modules/source-control.ee/source-control-export.service.ee.js +2 -3
- package/dist/modules/source-control.ee/source-control-export.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +5 -8
- package/dist/modules/source-control.ee/source-control-import.service.ee.js +27 -9
- package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-status.service.ee.d.ts +7 -6
- package/dist/modules/source-control.ee/source-control-status.service.ee.js +18 -1
- package/dist/modules/source-control.ee/source-control-status.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +10 -10
- package/dist/modules/source-control.ee/source-control.service.ee.d.ts +5 -5
- package/dist/modules/source-control.ee/source-control.service.ee.js +2 -2
- package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/types/exportable-tags.d.ts +4 -2
- package/dist/modules/sso-oidc/oidc.controller.ee.d.ts +1 -1
- package/dist/modules/sso-oidc/oidc.service.ee.d.ts +2 -0
- package/dist/modules/sso-oidc/oidc.service.ee.js +16 -6
- package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
- package/dist/modules/sso-saml/saml-validator.d.ts +1 -0
- package/dist/modules/sso-saml/saml-validator.js +5 -3
- package/dist/modules/sso-saml/saml-validator.js.map +1 -1
- package/dist/modules/sso-saml/saml.service.ee.js +2 -1
- package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
- package/dist/node-types.js +9 -6
- package/dist/node-types.js.map +1 -1
- package/dist/public-api/v1/handlers/credentials/credentials.service.js +1 -0
- package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +1 -1
- package/dist/scaling/multi-main-setup.ee.d.ts +3 -2
- package/dist/scaling/multi-main-setup.ee.js +11 -2
- package/dist/scaling/multi-main-setup.ee.js.map +1 -1
- package/dist/server.js +0 -6
- package/dist/server.js.map +1 -1
- package/dist/services/ai-workflow-builder.service.d.ts +3 -1
- package/dist/services/ai-workflow-builder.service.js +16 -3
- package/dist/services/ai-workflow-builder.service.js.map +1 -1
- package/dist/services/dynamic-node-parameters.service.d.ts +1 -0
- package/dist/services/dynamic-node-parameters.service.js +15 -2
- package/dist/services/dynamic-node-parameters.service.js.map +1 -1
- package/dist/services/frontend.service.js +3 -2
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/pruning/workflow-history-compaction.service.d.ts +3 -1
- package/dist/services/pruning/workflow-history-compaction.service.js +16 -9
- package/dist/services/pruning/workflow-history-compaction.service.js.map +1 -1
- package/dist/services/rate-limit.service.d.ts +11 -0
- package/dist/services/rate-limit.service.js +78 -0
- package/dist/services/rate-limit.service.js.map +1 -0
- package/dist/services/static-auth-service.d.ts +4 -0
- package/dist/services/static-auth-service.js +30 -0
- package/dist/services/static-auth-service.js.map +1 -0
- package/dist/tool-generation/ai-tools.d.ts +7 -0
- package/dist/tool-generation/ai-tools.js +83 -0
- package/dist/tool-generation/ai-tools.js.map +1 -0
- package/dist/tool-generation/hitl-tools.d.ts +7 -0
- package/dist/tool-generation/hitl-tools.js +150 -0
- package/dist/tool-generation/hitl-tools.js.map +1 -0
- package/dist/tool-generation/index.d.ts +3 -0
- package/dist/tool-generation/index.js +16 -0
- package/dist/tool-generation/index.js.map +1 -0
- package/dist/tool-generation/utils.d.ts +4 -0
- package/dist/tool-generation/utils.js +29 -0
- package/dist/tool-generation/utils.js.map +1 -0
- package/dist/webhooks/waiting-webhooks.js +19 -1
- package/dist/webhooks/waiting-webhooks.js.map +1 -1
- package/dist/webhooks/webhook.service.d.ts +6 -0
- package/dist/webhooks/webhook.service.js +49 -0
- package/dist/webhooks/webhook.service.js.map +1 -1
- package/dist/workflows/workflow.service.d.ts +8 -2
- package/dist/workflows/workflow.service.ee.d.ts +1 -0
- package/dist/workflows/workflow.service.ee.js +45 -0
- package/dist/workflows/workflow.service.ee.js.map +1 -1
- package/dist/workflows/workflow.service.js +49 -2
- package/dist/workflows/workflow.service.js.map +1 -1
- package/package.json +17 -17
- package/dist/ldap.ee/constants.js.map +0 -1
- package/dist/ldap.ee/helpers.ee.js.map +0 -1
- package/dist/ldap.ee/ldap.controller.ee.js.map +0 -1
- package/dist/ldap.ee/ldap.service.ee.js.map +0 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/stub-credential-resolver.d.ts +0 -28
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/stub-credential-resolver.js +0 -86
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/stub-credential-resolver.js.map +0 -1
- /package/dist/{ldap.ee → modules/ldap.ee}/constants.d.ts +0 -0
- /package/dist/{ldap.ee → modules/ldap.ee}/constants.js +0 -0
- /package/dist/{ldap.ee → modules/ldap.ee}/types.d.ts +0 -0
- /package/dist/{ldap.ee → modules/ldap.ee}/types.js +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CapacityTarget, ConcurrencyControlService } from '../concurrency/concurrency-control.service';
|
|
2
|
+
export declare class ConcurrencyCapacityReservation {
|
|
3
|
+
private readonly concurrencyControlService;
|
|
4
|
+
private acquiredReservation;
|
|
5
|
+
constructor(concurrencyControlService: ConcurrencyControlService);
|
|
6
|
+
reserve(capacityFor: CapacityTarget): Promise<void>;
|
|
7
|
+
release(): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ConcurrencyCapacityReservation = void 0;
|
|
7
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
+
class ConcurrencyCapacityReservation {
|
|
9
|
+
constructor(concurrencyControlService) {
|
|
10
|
+
this.concurrencyControlService = concurrencyControlService;
|
|
11
|
+
this.acquiredReservation = undefined;
|
|
12
|
+
}
|
|
13
|
+
async reserve(capacityFor) {
|
|
14
|
+
(0, node_assert_1.default)(!this.acquiredReservation, 'Capacity already reserved');
|
|
15
|
+
await this.concurrencyControlService.throttle(capacityFor);
|
|
16
|
+
this.acquiredReservation = capacityFor;
|
|
17
|
+
}
|
|
18
|
+
release() {
|
|
19
|
+
if (!this.acquiredReservation)
|
|
20
|
+
return;
|
|
21
|
+
this.concurrencyControlService.release({ mode: this.acquiredReservation.mode });
|
|
22
|
+
this.acquiredReservation = undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.ConcurrencyCapacityReservation = ConcurrencyCapacityReservation;
|
|
26
|
+
//# sourceMappingURL=concurrency-capacity-reservation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concurrency-capacity-reservation.js","sourceRoot":"","sources":["../../src/concurrency/concurrency-capacity-reservation.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAiC;AAiBjC,MAAa,8BAA8B;IAG1C,YAA6B,yBAAoD;QAApD,8BAAyB,GAAzB,yBAAyB,CAA2B;QAFzE,wBAAmB,GAA+B,SAAS,CAAC;IAEgB,CAAC;IAErF,KAAK,CAAC,OAAO,CAAC,WAA2B;QACxC,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC;QAE/D,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;IACxC,CAAC;IAED,OAAO;QACN,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QAEtC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhF,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;IACtC,CAAC;CACD;AAnBD,wEAmBC"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { Logger } from '@n8n/backend-common';
|
|
2
2
|
import { GlobalConfig } from '@n8n/config';
|
|
3
3
|
import { ExecutionRepository } from '@n8n/db';
|
|
4
|
-
import type { WorkflowExecuteMode
|
|
4
|
+
import type { WorkflowExecuteMode } from 'n8n-workflow';
|
|
5
5
|
import { EventService } from '../events/event.service';
|
|
6
6
|
import { Telemetry } from '../telemetry';
|
|
7
7
|
export declare const CLOUD_TEMP_PRODUCTION_LIMIT = 999;
|
|
8
8
|
export declare const CLOUD_TEMP_REPORTABLE_THRESHOLDS: number[];
|
|
9
9
|
export type ConcurrencyQueueType = 'production' | 'evaluation';
|
|
10
|
+
export interface CapacityTarget {
|
|
11
|
+
executionId: string;
|
|
12
|
+
mode: WorkflowExecuteMode;
|
|
13
|
+
}
|
|
10
14
|
export declare class ConcurrencyControlService {
|
|
11
15
|
private readonly logger;
|
|
12
16
|
private readonly executionRepository;
|
|
@@ -19,17 +23,11 @@ export declare class ConcurrencyControlService {
|
|
|
19
23
|
private readonly limitsToReport;
|
|
20
24
|
constructor(logger: Logger, executionRepository: ExecutionRepository, telemetry: Telemetry, eventService: EventService, globalConfig: GlobalConfig);
|
|
21
25
|
has(executionId: string): boolean;
|
|
22
|
-
throttle({ mode, executionId }:
|
|
23
|
-
mode: ExecutionMode;
|
|
24
|
-
executionId: string;
|
|
25
|
-
}): Promise<void>;
|
|
26
|
+
throttle({ mode, executionId }: CapacityTarget): Promise<void>;
|
|
26
27
|
release({ mode }: {
|
|
27
|
-
mode:
|
|
28
|
-
}): void;
|
|
29
|
-
remove({ mode, executionId }: {
|
|
30
|
-
mode: ExecutionMode;
|
|
31
|
-
executionId: string;
|
|
28
|
+
mode: WorkflowExecuteMode;
|
|
32
29
|
}): void;
|
|
30
|
+
remove({ mode, executionId }: CapacityTarget): void;
|
|
33
31
|
removeAll(executionIdsToCancel: string[]): Promise<void>;
|
|
34
32
|
disable(): void;
|
|
35
33
|
private logInit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concurrency-control.service.js","sourceRoot":"","sources":["../../src/concurrency/concurrency-control.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA6C;AAC7C,wCAA2C;AAC3C,gCAA8C;AAC9C,gCAAkC;AAClC,mEAA2C;AAG3C,8FAAwF;AACxF,wFAAkF;AAClF,0DAAsD;AACtD,2CAAwC;AAExC,2DAAuD;AAE1C,QAAA,2BAA2B,GAAG,GAAG,CAAC;AAClC,QAAA,gCAAgC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"concurrency-control.service.js","sourceRoot":"","sources":["../../src/concurrency/concurrency-control.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { GlobalConfig } from '@n8n/config';
|
|
|
2
2
|
import { ControllerRegistryMetadata } from '@n8n/decorators';
|
|
3
3
|
import type { Application } from 'express';
|
|
4
4
|
import { LastActiveAtService } from './services/last-active-at.service';
|
|
5
|
+
import { RateLimitService } from './services/rate-limit.service';
|
|
5
6
|
import { AuthService } from './auth/auth.service';
|
|
6
7
|
import { License } from './license';
|
|
7
8
|
export declare class ControllerRegistry {
|
|
@@ -10,11 +11,11 @@ export declare class ControllerRegistry {
|
|
|
10
11
|
private readonly globalConfig;
|
|
11
12
|
private readonly metadata;
|
|
12
13
|
private readonly lastActiveAtService;
|
|
13
|
-
|
|
14
|
+
private readonly rateLimitService;
|
|
15
|
+
constructor(license: License, authService: AuthService, globalConfig: GlobalConfig, metadata: ControllerRegistryMetadata, lastActiveAtService: LastActiveAtService, rateLimitService: RateLimitService);
|
|
14
16
|
activate(app: Application): void;
|
|
15
17
|
private activateController;
|
|
16
18
|
private buildMiddlewares;
|
|
17
|
-
private createRateLimitMiddleware;
|
|
18
19
|
private createLicenseMiddleware;
|
|
19
20
|
private createScopedMiddleware;
|
|
20
21
|
}
|
|
@@ -8,31 +8,36 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.ControllerRegistry = void 0;
|
|
13
16
|
const constants_1 = require("./constants");
|
|
14
|
-
const backend_common_1 = require("@n8n/backend-common");
|
|
15
17
|
const config_1 = require("@n8n/config");
|
|
16
18
|
const decorators_1 = require("@n8n/decorators");
|
|
17
19
|
const di_1 = require("@n8n/di");
|
|
18
20
|
const express_1 = require("express");
|
|
19
|
-
const express_rate_limit_1 = require("express-rate-limit");
|
|
20
21
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
22
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
21
23
|
const not_found_error_1 = require("./errors/response-errors/not-found.error");
|
|
22
24
|
const last_active_at_service_1 = require("./services/last-active-at.service");
|
|
25
|
+
const rate_limit_service_1 = require("./services/rate-limit.service");
|
|
23
26
|
const auth_service_1 = require("./auth/auth.service");
|
|
24
27
|
const unauthenticated_error_1 = require("./errors/response-errors/unauthenticated.error");
|
|
25
28
|
const license_1 = require("./license");
|
|
26
29
|
const check_access_1 = require("./permissions.ee/check-access");
|
|
27
30
|
const response_helper_1 = require("./response-helper");
|
|
28
31
|
const cors_service_1 = require("./services/cors-service");
|
|
32
|
+
const backend_common_1 = require("@n8n/backend-common");
|
|
29
33
|
let ControllerRegistry = class ControllerRegistry {
|
|
30
|
-
constructor(license, authService, globalConfig, metadata, lastActiveAtService) {
|
|
34
|
+
constructor(license, authService, globalConfig, metadata, lastActiveAtService, rateLimitService) {
|
|
31
35
|
this.license = license;
|
|
32
36
|
this.authService = authService;
|
|
33
37
|
this.globalConfig = globalConfig;
|
|
34
38
|
this.metadata = metadata;
|
|
35
39
|
this.lastActiveAtService = lastActiveAtService;
|
|
40
|
+
this.rateLimitService = rateLimitService;
|
|
36
41
|
}
|
|
37
42
|
activate(app) {
|
|
38
43
|
for (const controllerClass of this.metadata.controllerClasses) {
|
|
@@ -90,7 +95,9 @@ let ControllerRegistry = class ControllerRegistry {
|
|
|
90
95
|
}
|
|
91
96
|
return await controller[handlerName](...args);
|
|
92
97
|
};
|
|
93
|
-
const
|
|
98
|
+
const bodyArgIdx = route.args.findIndex((arg) => arg?.type === 'body');
|
|
99
|
+
const bodyArgType = bodyArgIdx !== -1 ? argTypes[bodyArgIdx] : undefined;
|
|
100
|
+
const middlewares = this.buildMiddlewares(route, controllerMiddlewares, bodyArgType);
|
|
94
101
|
const finalHandler = route.usesTemplates
|
|
95
102
|
? async (req, res) => {
|
|
96
103
|
await handler(req, res);
|
|
@@ -99,10 +106,14 @@ let ControllerRegistry = class ControllerRegistry {
|
|
|
99
106
|
router[route.method](route.path, ...middlewares, finalHandler);
|
|
100
107
|
}
|
|
101
108
|
}
|
|
102
|
-
buildMiddlewares(route, controllerMiddlewares) {
|
|
109
|
+
buildMiddlewares(route, controllerMiddlewares, bodyDtoClass) {
|
|
103
110
|
const middlewares = [];
|
|
104
|
-
if (backend_common_1.inProduction && route.
|
|
105
|
-
middlewares.push(this.
|
|
111
|
+
if (backend_common_1.inProduction && route.ipRateLimit) {
|
|
112
|
+
middlewares.push(this.rateLimitService.createIpRateLimitMiddleware(route.ipRateLimit));
|
|
113
|
+
}
|
|
114
|
+
if (backend_common_1.inProduction && route.keyedRateLimit?.source === 'body') {
|
|
115
|
+
(0, node_assert_1.default)(bodyDtoClass, 'Body argument type (@Body decorator) is required for body-based rate limiting');
|
|
116
|
+
middlewares.push(this.rateLimitService.createBodyKeyedRateLimitMiddleware(bodyDtoClass, route.keyedRateLimit));
|
|
106
117
|
}
|
|
107
118
|
if (!route.skipAuth) {
|
|
108
119
|
middlewares.push(this.authService.createAuthMiddleware({
|
|
@@ -110,6 +121,12 @@ let ControllerRegistry = class ControllerRegistry {
|
|
|
110
121
|
allowSkipPreviewAuth: route.allowSkipPreviewAuth ?? false,
|
|
111
122
|
}), this.lastActiveAtService.middleware.bind(this.lastActiveAtService));
|
|
112
123
|
}
|
|
124
|
+
if (route.keyedRateLimit?.source === 'user') {
|
|
125
|
+
(0, node_assert_1.default)(!route.skipAuth, `User-based rate limiting is only supported for authenticated endpoints. Route: ${JSON.stringify(route)}`);
|
|
126
|
+
if (backend_common_1.inProduction) {
|
|
127
|
+
middlewares.push(this.rateLimitService.createUserKeyedRateLimitMiddleware(route.keyedRateLimit));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
113
130
|
if (route.licenseFeature) {
|
|
114
131
|
middlewares.push(this.createLicenseMiddleware(route.licenseFeature));
|
|
115
132
|
}
|
|
@@ -122,15 +139,6 @@ let ControllerRegistry = class ControllerRegistry {
|
|
|
122
139
|
}
|
|
123
140
|
return middlewares;
|
|
124
141
|
}
|
|
125
|
-
createRateLimitMiddleware(rateLimit) {
|
|
126
|
-
if (typeof rateLimit === 'boolean')
|
|
127
|
-
rateLimit = {};
|
|
128
|
-
return (0, express_rate_limit_1.rateLimit)({
|
|
129
|
-
windowMs: rateLimit.windowMs,
|
|
130
|
-
limit: rateLimit.limit,
|
|
131
|
-
message: { message: 'Too many requests' },
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
142
|
createLicenseMiddleware(feature) {
|
|
135
143
|
return (_req, res, next) => {
|
|
136
144
|
if (!this.license.isLicensed(feature)) {
|
|
@@ -172,6 +180,7 @@ exports.ControllerRegistry = ControllerRegistry = __decorate([
|
|
|
172
180
|
auth_service_1.AuthService,
|
|
173
181
|
config_1.GlobalConfig,
|
|
174
182
|
decorators_1.ControllerRegistryMetadata,
|
|
175
|
-
last_active_at_service_1.LastActiveAtService
|
|
183
|
+
last_active_at_service_1.LastActiveAtService,
|
|
184
|
+
rate_limit_service_1.RateLimitService])
|
|
176
185
|
], ControllerRegistry);
|
|
177
186
|
//# sourceMappingURL=controller.registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.registry.js","sourceRoot":"","sources":["../src/controller.registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller.registry.js","sourceRoot":"","sources":["../src/controller.registry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAsD;AACtD,wCAA2C;AAG3C,gDAA6D;AAQ7D,gCAA6C;AAC7C,qCAAiC;AAEjC,+CAA+C;AAC/C,8DAAiC;AAGjC,8EAAyE;AACzE,8EAAwE;AACxE,sEAAiE;AAEjE,sDAAkD;AAClD,0FAAsF;AACtF,uCAAoC;AACpC,gEAA8D;AAC9D,uDAAyC;AACzC,0DAAsD;AACtD,wDAAmD;AAG5C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC9B,YACkB,OAAgB,EAChB,WAAwB,EACxB,YAA0B,EAC1B,QAAoC,EACpC,mBAAwC,EACxC,gBAAkC;QALlC,YAAO,GAAP,OAAO,CAAS;QAChB,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,aAAQ,GAAR,QAAQ,CAA4B;QACpC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;IACjD,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,MAAM,aAAa,GAAI,eAAuB,CAAC,OAA6C,CAAC;QAE7F,IAAI,aAAa,EAAE,CAAC;YACnB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;oBAC1B,MAAM,IAAI,8BAAe,CACxB,iCAAiC,YAAY,CAAC,IAAI,oBAAoB,eAAe,CAAC,IAAI,GAAG,CAC7F,CAAC;gBACH,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;gBAC/E,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;YACpE,CAAC;QACF,CAAC;QAGD,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAEpD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CACnC,mBAAmB,EACnB,UAAU,EACV,WAAW,CACE,CAAC;YAEf,MAAM,OAAO,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;gBACrD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBAChB,MAAM,WAAW,GAAG,cAAS,CAAC,GAAG,CAAC,0BAAW,CAAC,CAAC;oBAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC1D,WAAW,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;gBACrD,CAAC;gBAED,MAAM,IAAI,GAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;oBACxD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAI,CAAC,GAAG;wBAAE,SAAS;oBACnB,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;wBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;yBACpD,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAa,CAAC;wBAC9C,IAAI,SAAS,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;4BAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;4BAClD,IAAI,MAAM,CAAC,OAAO;gCAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iCACtC,CAAC;gCACL,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;4BACrD,CAAC;wBACF,CAAC;oBACF,CAAC;;wBAAM,MAAM,IAAI,8BAAe,CAAC,oBAAoB,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/C,CAAC,CAAC;YAEF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC;YACvE,MAAM,WAAW,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,QAAQ,CAAC,UAAU,CAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAEvF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAC;YACrF,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa;gBACvC,CAAC,CAAC,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;oBACtC,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACzB,CAAC;gBACF,CAAC,CAAC,IAAA,sBAAI,EAAC,OAAO,CAAC,CAAC;YAEjB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,WAAW,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;IAMO,gBAAgB,CACvB,KASC,EACD,qBAAuC,EACvC,YAAuB;QAEvB,MAAM,WAAW,GAAqB,EAAE,CAAC;QAGzC,IAAI,6BAAY,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACvC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QACxF,CAAC;QAGD,IAAI,6BAAY,IAAI,KAAK,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7D,IAAA,qBAAM,EACL,YAAY,EACZ,+EAA+E,CAC/E,CAAC;YAEF,WAAW,CAAC,IAAI,CACf,IAAI,CAAC,gBAAgB,CAAC,kCAAkC,CACvD,YAAY,EACZ,KAAK,CAAC,cAAc,CACpB,CACD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrB,WAAW,CAAC,IAAI,CACf,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC;gBACrC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK;gBACzC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,KAAK;aACzD,CAAC,EACF,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAmB,CACpF,CAAC;QACH,CAAC;QAGD,IAAI,KAAK,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7C,IAAA,qBAAM,EACL,CAAC,KAAK,CAAC,QAAQ,EACf,kFAAkF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACzG,CAAC;YAGF,IAAI,6BAAY,EAAE,CAAC;gBAClB,WAAW,CAAC,IAAI,CACf,IAAI,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,KAAK,CAAC,cAAc,CAAC,CAC9E,CAAC;YACH,CAAC;QACF,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;QAE3C,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;IAEO,uBAAuB,CAAC,OAA8B;QAC7D,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;gBAC1F,OAAO;YACR,CAAC;YACD,IAAI,EAAE,CAAC;QACR,CAAC,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,WAAwB;QACtD,OAAO,KAAK,EACX,GAA6F,EAC7F,GAAG,EACH,IAAI,EACH,EAAE;YACH,IAAI,CAAC,GAAG,CAAC,IAAI;gBAAE,MAAM,IAAI,4CAAoB,EAAE,CAAC;YAEhD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;YAE1C,IAAI,CAAC;gBACJ,IAAI,CAAC,CAAC,MAAM,IAAA,4BAAa,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;oBACvE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACpB,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,mCAAuB,CAAC,aAAa;qBAC9C,CAAC,CAAC;oBACH,OAAO;gBACR,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,KAAK,YAAY,+BAAa,EAAE,CAAC;oBACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClE,OAAO;gBACR,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC;YAED,IAAI,EAAE,CAAC;QACR,CAAC,CAAC;IACH,CAAC;CACD,CAAA;AAvNY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,YAAO,GAAE;qCAGkB,iBAAO;QACH,0BAAW;QACV,qBAAY;QAChB,uCAA0B;QACf,4CAAmB;QACtB,qCAAgB;GAPxC,kBAAkB,CAuN9B"}
|
|
@@ -197,14 +197,14 @@ let AiController = class AiController {
|
|
|
197
197
|
exports.AiController = AiController;
|
|
198
198
|
__decorate([
|
|
199
199
|
(0, decorators_1.Licensed)('feat:aiBuilder'),
|
|
200
|
-
(0, decorators_1.Post)('/build', {
|
|
200
|
+
(0, decorators_1.Post)('/build', { ipRateLimit: { limit: 100 }, usesTemplates: true }),
|
|
201
201
|
__param(2, decorators_1.Body),
|
|
202
202
|
__metadata("design:type", Function),
|
|
203
203
|
__metadata("design:paramtypes", [Object, Object, api_types_1.AiBuilderChatRequestDto]),
|
|
204
204
|
__metadata("design:returntype", Promise)
|
|
205
205
|
], AiController.prototype, "build", null);
|
|
206
206
|
__decorate([
|
|
207
|
-
(0, decorators_1.Post)('/chat', {
|
|
207
|
+
(0, decorators_1.Post)('/chat', { ipRateLimit: { limit: 100 } }),
|
|
208
208
|
__param(2, decorators_1.Body),
|
|
209
209
|
__metadata("design:type", Function),
|
|
210
210
|
__metadata("design:paramtypes", [Object, Object, api_types_1.AiChatRequestDto]),
|
|
@@ -233,7 +233,7 @@ __decorate([
|
|
|
233
233
|
], AiController.prototype, "aiCredits", null);
|
|
234
234
|
__decorate([
|
|
235
235
|
(0, decorators_1.Licensed)('feat:aiBuilder'),
|
|
236
|
-
(0, decorators_1.Post)('/sessions', {
|
|
236
|
+
(0, decorators_1.Post)('/sessions', { ipRateLimit: { limit: 100 } }),
|
|
237
237
|
__param(2, decorators_1.Body),
|
|
238
238
|
__metadata("design:type", Function),
|
|
239
239
|
__metadata("design:paramtypes", [Object, Object, api_types_1.AiSessionRetrievalRequestDto]),
|
|
@@ -248,7 +248,7 @@ __decorate([
|
|
|
248
248
|
], AiController.prototype, "getBuilderCredits", null);
|
|
249
249
|
__decorate([
|
|
250
250
|
(0, decorators_1.Licensed)('feat:aiBuilder'),
|
|
251
|
-
(0, decorators_1.Post)('/build/truncate-messages', {
|
|
251
|
+
(0, decorators_1.Post)('/build/truncate-messages', { ipRateLimit: { limit: 100 } }),
|
|
252
252
|
__param(2, decorators_1.Body),
|
|
253
253
|
__metadata("design:type", Function),
|
|
254
254
|
__metadata("design:paramtypes", [Object, Object, api_types_1.AiTruncateMessagesRequestDto]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.controller.js","sourceRoot":"","sources":["../../src/controllers/ai.controller.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ai.controller.js","sourceRoot":"","sources":["../../src/controllers/ai.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { CreateApiKeyRequestDto, UpdateApiKeyRequestDto } from '@n8n/api-types';
|
|
2
2
|
import { AuthenticatedRequest } from '@n8n/db';
|
|
3
|
+
import { type ApiKeyScope } from '@n8n/permissions';
|
|
3
4
|
import type { RequestHandler } from 'express';
|
|
4
5
|
import { EventService } from '../events/event.service';
|
|
6
|
+
import { License } from '../license';
|
|
5
7
|
import { PublicApiKeyService } from '../services/public-api-key.service';
|
|
6
8
|
export declare const isApiEnabledMiddleware: RequestHandler;
|
|
7
9
|
export declare class ApiKeysController {
|
|
8
10
|
private readonly eventService;
|
|
9
11
|
private readonly publicApiKeyService;
|
|
10
|
-
|
|
12
|
+
private readonly license;
|
|
13
|
+
constructor(eventService: EventService, publicApiKeyService: PublicApiKeyService, license: License);
|
|
11
14
|
createApiKey(req: AuthenticatedRequest, _res: Response, body: CreateApiKeyRequestDto): Promise<{
|
|
12
15
|
apiKey: string;
|
|
13
16
|
rawApiKey: string;
|
|
@@ -15,7 +18,7 @@ export declare class ApiKeysController {
|
|
|
15
18
|
user: import("@n8n/db").User;
|
|
16
19
|
userId: string;
|
|
17
20
|
label: string;
|
|
18
|
-
scopes:
|
|
21
|
+
scopes: ApiKeyScope[];
|
|
19
22
|
audience: import("n8n-workflow").ApiKeyAudience;
|
|
20
23
|
id: string;
|
|
21
24
|
generateId(): void;
|
|
@@ -29,7 +32,7 @@ export declare class ApiKeysController {
|
|
|
29
32
|
user: import("@n8n/db").User;
|
|
30
33
|
userId: string;
|
|
31
34
|
label: string;
|
|
32
|
-
scopes:
|
|
35
|
+
scopes: ApiKeyScope[];
|
|
33
36
|
audience: import("n8n-workflow").ApiKeyAudience;
|
|
34
37
|
id: string;
|
|
35
38
|
generateId(): void;
|
|
@@ -43,5 +46,6 @@ export declare class ApiKeysController {
|
|
|
43
46
|
updateApiKey(req: AuthenticatedRequest, _res: Response, apiKeyId: string, body: UpdateApiKeyRequestDto): Promise<{
|
|
44
47
|
success: boolean;
|
|
45
48
|
}>;
|
|
46
|
-
getApiKeyScopes(req: AuthenticatedRequest, _res: Response): Promise<
|
|
49
|
+
getApiKeyScopes(req: AuthenticatedRequest, _res: Response): Promise<ApiKeyScope[]>;
|
|
50
|
+
private resolveScopesForUser;
|
|
47
51
|
}
|
|
@@ -14,10 +14,12 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.ApiKeysController = exports.isApiEnabledMiddleware = void 0;
|
|
16
16
|
const api_types_1 = require("@n8n/api-types");
|
|
17
|
+
const constants_1 = require("@n8n/constants");
|
|
17
18
|
const decorators_1 = require("@n8n/decorators");
|
|
18
19
|
const permissions_1 = require("@n8n/permissions");
|
|
19
20
|
const bad_request_error_1 = require("../errors/response-errors/bad-request.error");
|
|
20
21
|
const event_service_1 = require("../events/event.service");
|
|
22
|
+
const license_1 = require("../license");
|
|
21
23
|
const public_api_1 = require("../public-api");
|
|
22
24
|
const public_api_key_service_1 = require("../services/public-api-key.service");
|
|
23
25
|
const isApiEnabledMiddleware = (_, res, next) => {
|
|
@@ -30,15 +32,20 @@ const isApiEnabledMiddleware = (_, res, next) => {
|
|
|
30
32
|
};
|
|
31
33
|
exports.isApiEnabledMiddleware = isApiEnabledMiddleware;
|
|
32
34
|
let ApiKeysController = class ApiKeysController {
|
|
33
|
-
constructor(eventService, publicApiKeyService) {
|
|
35
|
+
constructor(eventService, publicApiKeyService, license) {
|
|
34
36
|
this.eventService = eventService;
|
|
35
37
|
this.publicApiKeyService = publicApiKeyService;
|
|
38
|
+
this.license = license;
|
|
36
39
|
}
|
|
37
40
|
async createApiKey(req, _res, body) {
|
|
38
|
-
|
|
41
|
+
const scopes = this.resolveScopesForUser(req.user, body.scopes);
|
|
42
|
+
if (!this.publicApiKeyService.apiKeyHasValidScopesForRole(req.user, scopes)) {
|
|
39
43
|
throw new bad_request_error_1.BadRequestError('Invalid scopes for user role');
|
|
40
44
|
}
|
|
41
|
-
const newApiKey = await this.publicApiKeyService.createPublicApiKeyForUser(req.user,
|
|
45
|
+
const newApiKey = await this.publicApiKeyService.createPublicApiKeyForUser(req.user, {
|
|
46
|
+
...body,
|
|
47
|
+
scopes,
|
|
48
|
+
});
|
|
42
49
|
this.eventService.emit('public-api-key-created', { user: req.user, publicApi: false });
|
|
43
50
|
return {
|
|
44
51
|
...newApiKey,
|
|
@@ -57,16 +64,25 @@ let ApiKeysController = class ApiKeysController {
|
|
|
57
64
|
return { success: true };
|
|
58
65
|
}
|
|
59
66
|
async updateApiKey(req, _res, apiKeyId, body) {
|
|
60
|
-
|
|
67
|
+
const scopes = this.resolveScopesForUser(req.user, body.scopes);
|
|
68
|
+
if (!this.publicApiKeyService.apiKeyHasValidScopesForRole(req.user, scopes)) {
|
|
61
69
|
throw new bad_request_error_1.BadRequestError('Invalid scopes for user role');
|
|
62
70
|
}
|
|
63
|
-
await this.publicApiKeyService.updateApiKeyForUser(req.user, apiKeyId,
|
|
71
|
+
await this.publicApiKeyService.updateApiKeyForUser(req.user, apiKeyId, {
|
|
72
|
+
...body,
|
|
73
|
+
scopes,
|
|
74
|
+
});
|
|
64
75
|
return { success: true };
|
|
65
76
|
}
|
|
66
77
|
async getApiKeyScopes(req, _res) {
|
|
67
78
|
const scopes = (0, permissions_1.getApiKeyScopesForRole)(req.user);
|
|
68
79
|
return scopes;
|
|
69
80
|
}
|
|
81
|
+
resolveScopesForUser(user, requestedScopes) {
|
|
82
|
+
return this.license.isLicensed(constants_1.LICENSE_FEATURES.API_KEY_SCOPES)
|
|
83
|
+
? requestedScopes
|
|
84
|
+
: (0, permissions_1.getApiKeyScopesForRole)(user);
|
|
85
|
+
}
|
|
70
86
|
};
|
|
71
87
|
exports.ApiKeysController = ApiKeysController;
|
|
72
88
|
__decorate([
|
|
@@ -112,6 +128,7 @@ __decorate([
|
|
|
112
128
|
exports.ApiKeysController = ApiKeysController = __decorate([
|
|
113
129
|
(0, decorators_1.RestController)('/api-keys'),
|
|
114
130
|
__metadata("design:paramtypes", [event_service_1.EventService,
|
|
115
|
-
public_api_key_service_1.PublicApiKeyService
|
|
131
|
+
public_api_key_service_1.PublicApiKeyService,
|
|
132
|
+
license_1.License])
|
|
116
133
|
], ApiKeysController);
|
|
117
134
|
//# sourceMappingURL=api-keys.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-keys.controller.js","sourceRoot":"","sources":["../../src/controllers/api-keys.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8CAAgF;
|
|
1
|
+
{"version":3,"file":"api-keys.controller.js","sourceRoot":"","sources":["../../src/controllers/api-keys.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8CAAgF;AAChF,8CAAkD;AAElD,gDASyB;AACzB,kDAA4E;AAG5E,kFAA6E;AAC7E,0DAAsD;AACtD,uCAAoC;AACpC,6CAA4C;AAC5C,8EAAwE;AAEjE,MAAM,sBAAsB,GAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACtE,IAAI,IAAA,yBAAY,GAAE,EAAE,CAAC;QACpB,IAAI,EAAE,CAAC;IACR,CAAC;SAAM,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;AACF,CAAC,CAAC;AANW,QAAA,sBAAsB,0BAMjC;AAGK,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC7B,YACkB,YAA0B,EAC1B,mBAAwC,EACxC,OAAgB;QAFhB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,YAAO,GAAP,OAAO,CAAS;IAC/B,CAAC;IAOE,AAAN,KAAK,CAAC,YAAY,CACjB,GAAyB,EACzB,IAAc,EACR,IAA4B;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,mCAAe,CAAC,8BAA8B,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,EAAE;YACpF,GAAG,IAAI;YACP,MAAM;SACN,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAEvF,OAAO;YACN,GAAG,SAAS;YACZ,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC;YAC/D,SAAS,EAAE,SAAS,CAAC,MAAM;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC;IACH,CAAC;IAOK,AAAN,KAAK,CAAC,UAAU,CAAC,GAAyB;QACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnF,OAAO,OAAO,CAAC;IAChB,CAAC;IAOK,AAAN,KAAK,CAAC,YAAY,CAAC,GAAyB,EAAE,IAAc,EAAe,QAAgB;QAC1F,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEvE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAEvF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAOK,AAAN,KAAK,CAAC,YAAY,CACjB,GAAyB,EACzB,IAAc,EACD,QAAgB,EACvB,IAA4B;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,mCAAe,CAAC,8BAA8B,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE;YACtE,GAAG,IAAI;YACP,MAAM;SACN,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAIK,AAAN,KAAK,CAAC,eAAe,CAAC,GAAyB,EAAE,IAAc;QAC9D,MAAM,MAAM,GAAG,IAAA,oCAAsB,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC;IACf,CAAC;IAOO,oBAAoB,CAAC,IAAkC,EAAE,eAA8B;QAC9F,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,4BAAgB,CAAC,cAAc,CAAC;YAC9D,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,IAAA,oCAAsB,EAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACD,CAAA;AAvGY,8CAAiB;AAYvB;IAFL,IAAA,wBAAW,EAAC,eAAe,CAAC;IAC5B,IAAA,iBAAI,EAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,8BAAsB,CAAC,EAAE,CAAC;IAInD,WAAA,iBAAI,CAAA;;6CADC,QAAQ;QACF,kCAAsB;;qDAqBlC;AAOK;IAFL,IAAA,wBAAW,EAAC,eAAe,CAAC;IAC5B,IAAA,gBAAG,EAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,8BAAsB,CAAC,EAAE,CAAC;;;;mDAInD;AAOK;IAFL,IAAA,wBAAW,EAAC,eAAe,CAAC;IAC5B,IAAA,mBAAM,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,8BAAsB,CAAC,EAAE,CAAC;IACK,WAAA,IAAA,kBAAK,EAAC,IAAI,CAAC,CAAA;;6CAAtB,QAAQ;;qDAM3D;AAOK;IAFL,IAAA,wBAAW,EAAC,eAAe,CAAC;IAC5B,IAAA,kBAAK,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,8BAAsB,CAAC,EAAE,CAAC;IAIvD,WAAA,IAAA,kBAAK,EAAC,IAAI,CAAC,CAAA;IACX,WAAA,iBAAI,CAAA;;6CAFC,QAAQ,UAEF,kCAAsB;;qDAclC;AAIK;IAFL,IAAA,wBAAW,EAAC,eAAe,CAAC;IAC5B,IAAA,gBAAG,EAAC,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,8BAAsB,CAAC,EAAE,CAAC;;6CACH,QAAQ;;wDAG9D;4BA3FW,iBAAiB;IAD7B,IAAA,2BAAc,EAAC,WAAW,CAAC;qCAGK,4BAAY;QACL,4CAAmB;QAC/B,iBAAO;GAJtB,iBAAiB,CAuG7B"}
|
|
@@ -48,13 +48,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
48
48
|
exports.AuthController = void 0;
|
|
49
49
|
const api_types_1 = require("@n8n/api-types");
|
|
50
50
|
const backend_common_1 = require("@n8n/backend-common");
|
|
51
|
+
const constants_1 = require("@n8n/constants");
|
|
51
52
|
const db_1 = require("@n8n/db");
|
|
52
53
|
const decorators_1 = require("@n8n/decorators");
|
|
53
54
|
const di_1 = require("@n8n/di");
|
|
54
55
|
const class_validator_1 = require("class-validator");
|
|
55
56
|
const auth_1 = require("../auth");
|
|
56
57
|
const auth_service_1 = require("../auth/auth.service");
|
|
57
|
-
const
|
|
58
|
+
const constants_2 = require("../constants");
|
|
58
59
|
const auth_error_1 = require("../errors/response-errors/auth.error");
|
|
59
60
|
const bad_request_error_1 = require("../errors/response-errors/bad-request.error");
|
|
60
61
|
const forbidden_error_1 = require("../errors/response-errors/forbidden.error");
|
|
@@ -100,7 +101,7 @@ let AuthController = class AuthController {
|
|
|
100
101
|
usedAuthenticationMethod = 'email';
|
|
101
102
|
}
|
|
102
103
|
else {
|
|
103
|
-
const { LdapService } = await Promise.resolve().then(() => __importStar(require('../ldap.ee/ldap.service.ee')));
|
|
104
|
+
const { LdapService } = await Promise.resolve().then(() => __importStar(require('../modules/ldap.ee/ldap.service.ee')));
|
|
104
105
|
user = await di_1.Container.get(LdapService).handleLdapLogin(emailOrLdapLoginId, password);
|
|
105
106
|
}
|
|
106
107
|
}
|
|
@@ -155,7 +156,7 @@ let AuthController = class AuthController {
|
|
|
155
156
|
inviterId,
|
|
156
157
|
inviteeId,
|
|
157
158
|
});
|
|
158
|
-
throw new forbidden_error_1.ForbiddenError(
|
|
159
|
+
throw new forbidden_error_1.ForbiddenError(constants_2.RESPONSE_ERROR_MESSAGES.USERS_QUOTA_REACHED);
|
|
159
160
|
}
|
|
160
161
|
const users = await this.userRepository.findManyByIds([inviterId, inviteeId], {
|
|
161
162
|
includeRole: true,
|
|
@@ -191,7 +192,18 @@ let AuthController = class AuthController {
|
|
|
191
192
|
};
|
|
192
193
|
exports.AuthController = AuthController;
|
|
193
194
|
__decorate([
|
|
194
|
-
(0, decorators_1.Post)('/login', {
|
|
195
|
+
(0, decorators_1.Post)('/login', {
|
|
196
|
+
skipAuth: true,
|
|
197
|
+
ipRateLimit: {
|
|
198
|
+
limit: 1000,
|
|
199
|
+
windowMs: 5 * constants_1.Time.minutes.toMilliseconds,
|
|
200
|
+
},
|
|
201
|
+
keyedRateLimit: (0, decorators_1.createBodyKeyedRateLimiter)({
|
|
202
|
+
limit: 5,
|
|
203
|
+
windowMs: 1 * constants_1.Time.minutes.toMilliseconds,
|
|
204
|
+
field: 'emailOrLdapLoginId',
|
|
205
|
+
}),
|
|
206
|
+
}),
|
|
195
207
|
__param(2, decorators_1.Body),
|
|
196
208
|
__metadata("design:type", Function),
|
|
197
209
|
__metadata("design:paramtypes", [Object, Object, api_types_1.LoginRequestDto]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/controllers/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA6E;AAC7E,wDAA6C;
|
|
1
|
+
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/controllers/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA6E;AAC7E,wDAA6C;AAC7C,8CAAsC;AAEtC,gCAAkF;AAClF,gDAOyB;AACzB,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,sDAM8B;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;IAiBE,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,mCAAmC,GAAC,CAAC;gBAC1E,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;QAE1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5E,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC5C,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,IAAI,IAAA,8CAAgC,GAAE,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,mFAAmF,CACnF,CAAC;YACF,MAAM,IAAI,mCAAe,CACxB,mFAAmF,CACnF,CAAC;QACH,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAE7F,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,EAAE;YAC7E,WAAW,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,8HAA8H,EAC9H,EAAE,SAAS,EAAE,SAAS,EAAE,CACxB,CAAC;YACF,MAAM,IAAI,mCAAe,CAAC,oBAAoB,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;gBAC/D,SAAS;gBACT,SAAS;aACT,CAAC,CAAC;YACH,MAAM,IAAI,mCAAe,CAAC,6DAA6D,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,wFAAwF,EACxF;gBACC,SAAS,EAAE,OAAO,EAAE,EAAE;aACtB,CACD,CAAC;YACF,MAAM,IAAI,mCAAe,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAExE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;IAC7C,CAAC;IAIK,AAAN,KAAK,CAAC,MAAM,CAAC,GAAyB,EAAE,GAAa;QACpD,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;CACD,CAAA;AAlMY,wCAAc;AA2BpB;IAdL,IAAA,iBAAI,EAAC,QAAQ,EAAE;QACf,QAAQ,EAAE,IAAI;QAGd,WAAW,EAAE;YACZ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc;SACzC;QACD,cAAc,EAAE,IAAA,uCAA0B,EAAkB;YAC3D,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc;YACzC,KAAK,EAAE,oBAAoB;SAC3B,CAAC;KACF,CAAC;IAIA,WAAA,iBAAI,CAAA;;qDAAU,2BAAe;;2CA0E9B;AAMK;IAHL,IAAA,gBAAG,EAAC,QAAQ,EAAE;QACd,YAAY,EAAE,IAAI;KAClB,CAAC;;;;iDAUD;AAIK;IADL,IAAA,gBAAG,EAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAI/C,WAAA,kBAAK,CAAA;;qDAAU,sCAA0B;;wDA2D1C;AAIK;IADL,IAAA,iBAAI,EAAC,SAAS,CAAC;;;;4CAKf;yBAjMW,cAAc;IAD1B,IAAA,2BAAc,GAAE;qCAGU,uBAAM;QACD,0BAAW;QACZ,wBAAU;QACT,0BAAW;QACf,iBAAO;QACA,mBAAc;QAChB,4BAAY;QAChB,uBAAa;GAT7B,cAAc,CAkM1B"}
|
|
@@ -29,6 +29,7 @@ const password_utility_1 = require("../services/password.utility");
|
|
|
29
29
|
const user_service_1 = require("../services/user.service");
|
|
30
30
|
const ownership_service_1 = require("../services/ownership.service");
|
|
31
31
|
const sso_helpers_1 = require("../sso.ee/sso-helpers");
|
|
32
|
+
const constants_2 = require("@n8n/constants");
|
|
32
33
|
let InvitationController = class InvitationController {
|
|
33
34
|
constructor(logger, externalHooks, authService, userService, license, passwordUtility, userRepository, postHog, eventService, ownershipService) {
|
|
34
35
|
this.logger = logger;
|
|
@@ -134,7 +135,7 @@ let InvitationController = class InvitationController {
|
|
|
134
135
|
};
|
|
135
136
|
exports.InvitationController = InvitationController;
|
|
136
137
|
__decorate([
|
|
137
|
-
(0, decorators_1.Post)('/', {
|
|
138
|
+
(0, decorators_1.Post)('/', { ipRateLimit: { limit: 10 } }),
|
|
138
139
|
(0, decorators_1.GlobalScope)('user:create'),
|
|
139
140
|
__param(2, decorators_1.Body),
|
|
140
141
|
__metadata("design:type", Function),
|
|
@@ -142,14 +143,25 @@ __decorate([
|
|
|
142
143
|
__metadata("design:returntype", Promise)
|
|
143
144
|
], InvitationController.prototype, "inviteUser", null);
|
|
144
145
|
__decorate([
|
|
145
|
-
(0, decorators_1.Post)('/accept', {
|
|
146
|
+
(0, decorators_1.Post)('/accept', {
|
|
147
|
+
skipAuth: true,
|
|
148
|
+
ipRateLimit: { limit: 100, windowMs: 1 * constants_2.Time.minutes.toMilliseconds },
|
|
149
|
+
}),
|
|
146
150
|
__param(2, decorators_1.Body),
|
|
147
151
|
__metadata("design:type", Function),
|
|
148
152
|
__metadata("design:paramtypes", [Object, Object, api_types_1.AcceptInvitationRequestDto]),
|
|
149
153
|
__metadata("design:returntype", Promise)
|
|
150
154
|
], InvitationController.prototype, "acceptInvitationWithToken", null);
|
|
151
155
|
__decorate([
|
|
152
|
-
(0, decorators_1.Post)('/:id/accept', {
|
|
156
|
+
(0, decorators_1.Post)('/:id/accept', {
|
|
157
|
+
skipAuth: true,
|
|
158
|
+
ipRateLimit: { limit: 100, windowMs: 5 * constants_2.Time.minutes.toMilliseconds },
|
|
159
|
+
keyedRateLimit: (0, decorators_1.createBodyKeyedRateLimiter)({
|
|
160
|
+
limit: 10,
|
|
161
|
+
windowMs: 1 * constants_2.Time.minutes.toMilliseconds,
|
|
162
|
+
field: 'inviterId',
|
|
163
|
+
}),
|
|
164
|
+
}),
|
|
153
165
|
__param(2, decorators_1.Body),
|
|
154
166
|
__param(3, (0, decorators_1.Param)('id')),
|
|
155
167
|
__metadata("design:type", Function),
|