n8n 2.13.1 → 2.14.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/build.tsbuildinfo +1 -1
- package/dist/chat/chat-execution-manager.js +8 -2
- package/dist/chat/chat-execution-manager.js.map +1 -1
- package/dist/chat/utils.d.ts +3 -2
- package/dist/chat/utils.js +71 -1
- package/dist/chat/utils.js.map +1 -1
- package/dist/commands/start.d.ts +1 -0
- package/dist/commands/start.js +18 -2
- package/dist/commands/start.js.map +1 -1
- package/dist/controllers/api-keys.controller.d.ts +4 -8
- package/dist/controllers/api-keys.controller.js +6 -23
- package/dist/controllers/api-keys.controller.js.map +1 -1
- package/dist/controllers/auth.controller.js +5 -1
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/invitation.controller.d.ts +0 -1
- package/dist/controllers/invitation.controller.js +1 -32
- package/dist/controllers/invitation.controller.js.map +1 -1
- package/dist/controllers/oauth/oauth2-credential.controller.js +14 -13
- package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
- package/dist/controllers/project.controller.js +2 -1
- package/dist/controllers/project.controller.js.map +1 -1
- package/dist/controllers/users.controller.js +1 -5
- package/dist/controllers/users.controller.js.map +1 -1
- package/dist/credentials/credential-dependency.service.d.ts +36 -0
- package/dist/credentials/credential-dependency.service.js +77 -0
- package/dist/credentials/credential-dependency.service.js.map +1 -0
- package/dist/credentials/credentials-finder.service.d.ts +1 -0
- package/dist/credentials/credentials-finder.service.js +35 -0
- package/dist/credentials/credentials-finder.service.js.map +1 -1
- package/dist/credentials/credentials.controller.js +6 -2
- package/dist/credentials/credentials.controller.js.map +1 -1
- package/dist/credentials/credentials.service.d.ts +14 -13
- package/dist/credentials/credentials.service.js +86 -52
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/credentials/external-secrets.utils.d.ts +4 -0
- package/dist/credentials/external-secrets.utils.js +51 -0
- package/dist/credentials/external-secrets.utils.js.map +1 -0
- package/dist/credentials/validation.d.ts +0 -2
- package/dist/credentials/validation.js +5 -32
- package/dist/credentials/validation.js.map +1 -1
- package/dist/errors/response-errors/scope-forbidden.error.d.ts +11 -0
- package/dist/errors/response-errors/scope-forbidden.error.js +13 -0
- package/dist/errors/response-errors/scope-forbidden.error.js.map +1 -0
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +2 -0
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
- package/dist/evaluation.ee/test-runs.controller.ee.d.ts +2 -1
- package/dist/evaluation.ee/test-runs.controller.ee.js +13 -13
- package/dist/evaluation.ee/test-runs.controller.ee.js.map +1 -1
- package/dist/eventbus/message-event-bus/message-event-bus.d.ts +1 -2
- package/dist/eventbus/message-event-bus/message-event-bus.js +8 -8
- package/dist/eventbus/message-event-bus/message-event-bus.js.map +1 -1
- package/dist/events/maps/relay.event-map.d.ts +1 -0
- package/dist/events/relays/telemetry.event-relay.js +3 -2
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js +90 -9
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
- package/dist/executions/execution-redaction.d.ts +2 -1
- package/dist/executions/execution.service.d.ts +11 -2
- package/dist/executions/execution.service.js +19 -1
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/executions/execution.types.d.ts +3 -0
- package/dist/executions/executions.controller.d.ts +5 -0
- package/dist/executions/executions.controller.js +13 -0
- package/dist/executions/executions.controller.js.map +1 -1
- package/dist/license.d.ts +0 -1
- package/dist/license.js +0 -3
- package/dist/license.js.map +1 -1
- package/dist/load-nodes-and-credentials.js +4 -0
- package/dist/load-nodes-and-credentials.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-title.service.d.ts +3 -1
- package/dist/modules/chat-hub/chat-hub-title.service.js +9 -3
- package/dist/modules/chat-hub/chat-hub-title.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-tool.service.d.ts +3 -1
- package/dist/modules/chat-hub/chat-hub-tool.service.js +13 -3
- package/dist/modules/chat-hub/chat-hub-tool.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +5 -5
- package/dist/modules/chat-hub/chat-hub-workflow.service.js +18 -13
- package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.module.d.ts +2 -0
- package/dist/modules/chat-hub/chat-hub.settings.controller.d.ts +6 -0
- package/dist/modules/data-table/csv-parser.service.d.ts +12 -1
- package/dist/modules/data-table/csv-parser.service.js +81 -74
- package/dist/modules/data-table/csv-parser.service.js.map +1 -1
- package/dist/modules/data-table/data-table-csv-import.service.d.ts +21 -0
- package/dist/modules/data-table/data-table-csv-import.service.js +123 -0
- package/dist/modules/data-table/data-table-csv-import.service.js.map +1 -0
- package/dist/modules/data-table/data-table-rows.repository.js +1 -1
- package/dist/modules/data-table/data-table-rows.repository.js.map +1 -1
- package/dist/modules/data-table/data-table.controller.d.ts +7 -1
- package/dist/modules/data-table/data-table.controller.js +36 -0
- package/dist/modules/data-table/data-table.controller.js.map +1 -1
- package/dist/modules/data-table/data-table.service.d.ts +7 -6
- package/dist/modules/data-table/data-table.service.js +24 -47
- package/dist/modules/data-table/data-table.service.js.map +1 -1
- package/dist/modules/data-table/utils/sql-utils.js +1 -2
- package/dist/modules/data-table/utils/sql-utils.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js +15 -3
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js +13 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.d.ts +2 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.js +32 -2
- package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.d.ts +5 -0
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js +7 -0
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.d.ts +14 -0
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js +77 -0
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.d.ts +9 -2
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.js +34 -3
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/index.d.ts +1 -0
- package/dist/modules/dynamic-credentials.ee/services/index.js +1 -0
- package/dist/modules/dynamic-credentials.ee/services/index.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/vault.d.ts +3 -0
- package/dist/modules/external-secrets.ee/providers/vault.js +77 -29
- package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
- package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.d.ts +4 -2
- package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js +28 -6
- package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js.map +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.d.ts +3 -0
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js +35 -25
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js.map +1 -1
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.js +2 -2
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +3 -2
- package/dist/modules/mcp/mcp.service.js +11 -10
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/tools/get-execution.tool.d.ts +9 -0
- package/dist/modules/mcp/tools/get-execution.tool.js +95 -20
- package/dist/modules/mcp/tools/get-execution.tool.js.map +1 -1
- package/dist/modules/mcp/tools/search-folders.tool.d.ts +12 -0
- package/dist/modules/mcp/tools/search-folders.tool.js +107 -0
- package/dist/modules/mcp/tools/search-folders.tool.js.map +1 -0
- package/dist/modules/mcp/tools/search-projects.tool.d.ts +11 -0
- package/dist/modules/mcp/tools/search-projects.tool.js +93 -0
- package/dist/modules/mcp/tools/search-projects.tool.js.map +1 -0
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.d.ts +1 -0
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +25 -12
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +9 -7
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
- package/dist/modules/provisioning.ee/claims-context.builder.d.ts +4 -0
- package/dist/modules/provisioning.ee/claims-context.builder.js +31 -0
- package/dist/modules/provisioning.ee/claims-context.builder.js.map +1 -0
- package/dist/modules/provisioning.ee/role-resolver-types.d.ts +35 -0
- package/dist/modules/provisioning.ee/role-resolver-types.js +3 -0
- package/dist/modules/provisioning.ee/role-resolver-types.js.map +1 -0
- package/dist/modules/provisioning.ee/role-resolver.service.ee.d.ts +13 -0
- package/dist/modules/provisioning.ee/role-resolver.service.ee.js +103 -0
- package/dist/modules/provisioning.ee/role-resolver.service.ee.js.map +1 -0
- package/dist/modules/redaction/executions/execution-redaction.interfaces.d.ts +3 -0
- package/dist/modules/redaction/executions/execution-redaction.service.d.ts +1 -0
- package/dist/modules/redaction/executions/execution-redaction.service.js +42 -10
- package/dist/modules/redaction/executions/execution-redaction.service.js.map +1 -1
- package/dist/modules/redaction/executions/strategies/full-item-redaction.strategy.d.ts +1 -0
- package/dist/modules/redaction/executions/strategies/full-item-redaction.strategy.js +8 -1
- package/dist/modules/redaction/executions/strategies/full-item-redaction.strategy.js.map +1 -1
- package/dist/modules/redaction/executions/strategies/node-defined-field-redaction.strategy.d.ts +4 -1
- package/dist/modules/redaction/executions/strategies/node-defined-field-redaction.strategy.js +52 -16
- package/dist/modules/redaction/executions/strategies/node-defined-field-redaction.strategy.js.map +1 -1
- package/dist/modules/sso-oidc/oidc.service.ee.js +6 -5
- package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
- package/dist/modules/sso-saml/saml.controller.ee.d.ts +32 -1
- package/dist/modules/sso-saml/saml.controller.ee.js +9 -1
- package/dist/modules/sso-saml/saml.controller.ee.js.map +1 -1
- package/dist/modules/sso-saml/saml.service.ee.d.ts +9 -2
- package/dist/modules/sso-saml/saml.service.ee.js +110 -8
- package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
- package/dist/modules/workflow-index/workflow-dependency-query.service.d.ts +25 -0
- package/dist/modules/workflow-index/workflow-dependency-query.service.js +220 -0
- package/dist/modules/workflow-index/workflow-dependency-query.service.js.map +1 -0
- package/dist/modules/workflow-index/workflow-dependency.controller.d.ts +12 -0
- package/dist/modules/workflow-index/workflow-dependency.controller.js +60 -0
- package/dist/modules/workflow-index/workflow-dependency.controller.js.map +1 -0
- package/dist/public-api/v1/handlers/audit/audit.handler.d.ts +1 -4
- package/dist/public-api/v1/handlers/credentials/credentials.handler.d.ts +8 -11
- package/dist/public-api/v1/handlers/data-tables/data-tables.handler.d.ts +8 -8
- package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.d.ts +10 -10
- package/dist/public-api/v1/handlers/discover/discover.handler.d.ts +10 -0
- package/dist/public-api/v1/handlers/discover/discover.handler.js +37 -0
- package/dist/public-api/v1/handlers/discover/discover.handler.js.map +1 -0
- package/dist/public-api/v1/handlers/discover/discover.service.d.ts +30 -0
- package/dist/public-api/v1/handlers/discover/discover.service.js +166 -0
- package/dist/public-api/v1/handlers/discover/discover.service.js.map +1 -0
- package/dist/public-api/v1/handlers/executions/executions.handler.d.ts +8 -8
- package/dist/public-api/v1/handlers/projects/projects.handler.d.ts +8 -32
- package/dist/public-api/v1/handlers/source-control/source-control.handler.d.ts +1 -4
- package/dist/public-api/v1/handlers/tags/tags.handler.d.ts +5 -20
- package/dist/public-api/v1/handlers/users/users.handler.ee.d.ts +5 -20
- package/dist/public-api/v1/handlers/variables/variables.handler.d.ts +4 -16
- package/dist/public-api/v1/handlers/workflows/workflows.handler.d.ts +20 -20
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js +2 -0
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +122 -0
- package/dist/public-api/v1/shared/middlewares/global.middleware.d.ts +5 -6
- package/dist/public-api/v1/shared/middlewares/global.middleware.js +8 -14
- package/dist/public-api/v1/shared/middlewares/global.middleware.js.map +1 -1
- package/dist/scaling/job-processor.js +10 -0
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/scaling/scaling.types.d.ts +2 -0
- package/dist/server.d.ts +1 -0
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/services/credentials-tester.service.js +2 -2
- package/dist/services/credentials-tester.service.js.map +1 -1
- package/dist/services/frontend.service.js +1 -3
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/project.service.ee.d.ts +4 -0
- package/dist/services/project.service.ee.js +27 -0
- package/dist/services/project.service.ee.js.map +1 -1
- package/dist/services/public-api-key.service.js +1 -0
- package/dist/services/public-api-key.service.js.map +1 -1
- package/dist/services/user.service.d.ts +2 -11
- package/dist/services/user.service.js +11 -75
- package/dist/services/user.service.js.map +1 -1
- package/dist/task-runners/task-broker/task-broker.service.js +8 -0
- package/dist/task-runners/task-broker/task-broker.service.js.map +1 -1
- package/dist/task-runners/task-managers/data-request-response-builder.js +1 -0
- package/dist/task-runners/task-managers/data-request-response-builder.js.map +1 -1
- package/dist/task-runners/task-managers/data-request-response-stripper.js +1 -0
- package/dist/task-runners/task-managers/data-request-response-stripper.js.map +1 -1
- package/dist/task-runners/task-managers/local-task-requester.js +3 -1
- package/dist/task-runners/task-managers/local-task-requester.js.map +1 -1
- package/dist/task-runners/task-managers/task-requester.d.ts +1 -1
- package/dist/task-runners/task-managers/task-requester.js.map +1 -1
- package/dist/telemetry/index.d.ts +19 -0
- package/dist/telemetry/index.js +35 -0
- package/dist/telemetry/index.js.map +1 -1
- package/dist/user-management/email/node-mailer.d.ts +1 -0
- package/dist/user-management/email/node-mailer.js +23 -1
- package/dist/user-management/email/node-mailer.js.map +1 -1
- package/dist/webhooks/waiting-forms.d.ts +1 -1
- package/dist/webhooks/waiting-forms.js +32 -35
- package/dist/webhooks/waiting-forms.js.map +1 -1
- package/dist/webhooks/waiting-webhooks.d.ts +11 -3
- package/dist/webhooks/waiting-webhooks.js +47 -32
- package/dist/webhooks/waiting-webhooks.js.map +1 -1
- package/dist/webhooks/webhook-helpers.js +6 -1
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/webhooks/webhook.service.js +2 -5
- package/dist/webhooks/webhook.service.js.map +1 -1
- package/dist/workflow-helpers.d.ts +2 -1
- package/dist/workflow-helpers.js +15 -0
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflow-runner.js +10 -2
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/workflow-execution.service.d.ts +3 -1
- package/dist/workflows/workflow-execution.service.js +16 -4
- package/dist/workflows/workflow-execution.service.js.map +1 -1
- package/dist/workflows/workflow.service.js +1 -0
- package/dist/workflows/workflow.service.js.map +1 -1
- package/package.json +21 -20
- package/templates/form-invalid-token.handlebars +131 -0
- package/templates/form-trigger-completion.handlebars +24 -3
- package/templates/form-trigger.handlebars +24 -2
|
@@ -77,6 +77,13 @@ let DynamicCredentialsModule = class DynamicCredentialsModule {
|
|
|
77
77
|
const { DynamicCredentialUserEntry } = await Promise.resolve().then(() => __importStar(require('./database/entities/dynamic-credential-user-entry')));
|
|
78
78
|
return [DynamicCredentialResolver, DynamicCredentialEntry, DynamicCredentialUserEntry];
|
|
79
79
|
}
|
|
80
|
+
async context() {
|
|
81
|
+
if (!isFeatureFlagEnabled()) {
|
|
82
|
+
return {};
|
|
83
|
+
}
|
|
84
|
+
const { CredentialCheckProxyService } = await Promise.resolve().then(() => __importStar(require('./services/credential-check-proxy.service')));
|
|
85
|
+
return { credentialCheckProxy: di_1.Container.get(CredentialCheckProxyService) };
|
|
86
|
+
}
|
|
80
87
|
async shutdown() { }
|
|
81
88
|
};
|
|
82
89
|
exports.DynamicCredentialsModule = DynamicCredentialsModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-credentials.module.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/dynamic-credentials.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAkD;AAElD,gDAA4D;AAC5D,gCAAoC;AAEpC,SAAS,oBAAoB;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,MAAM,CAAC;AAChE,CAAC;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACpC,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC7B,OAAO;QACR,CAAC;QACD,wDAAa,kCAAkC,GAAC,CAAC;QACjD,wDAAa,mCAAmC,GAAC,CAAC;QAClD,wDAAa,+BAA+B,GAAC,CAAC;QAC9C,wDAAa,wBAAwB,GAAC,CAAC;QACvC,MAAM,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,wBAAwB,GACxB,GAAG,wDAAa,YAAY,GAAC,CAAC;QAC/B,wDAAa,8BAA8B,GAAC,CAAC;QAE7C,MAAM,cAAS,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,IAAI,EAAE,CAAC;QAG9D,MAAM,EAAE,uBAAuB,EAAE,GAAG,wDAAa,6CAA6C,GAAC,CAAC;QAChG,MAAM,gBAAgB,GAAG,cAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAChE,MAAM,wBAAwB,GAAG,cAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACzE,MAAM,+BAA+B,GAAG,cAAS,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QACvF,gBAAgB,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QAC/D,gBAAgB,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,EAAE,yBAAyB,EAAE,GAAG,wDAAa,yCAAyC,GAAC,CAAC;QAC9F,MAAM,EAAE,sBAAsB,EAAE,GAAG,wDAAa,8CAA8C,GAAC,CAAC;QAChG,MAAM,EAAE,0BAA0B,EAAE,GAAG,wDACtC,mDAAmD,GACnD,CAAC;QAEF,OAAO,CAAC,yBAAyB,EAAE,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;IACxF,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,KAAI,CAAC;CACnB,CAAA;
|
|
1
|
+
{"version":3,"file":"dynamic-credentials.module.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/dynamic-credentials.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAkD;AAElD,gDAA4D;AAC5D,gCAAoC;AAEpC,SAAS,oBAAoB;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,MAAM,CAAC;AAChE,CAAC;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACpC,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC7B,OAAO;QACR,CAAC;QACD,wDAAa,kCAAkC,GAAC,CAAC;QACjD,wDAAa,mCAAmC,GAAC,CAAC;QAClD,wDAAa,+BAA+B,GAAC,CAAC;QAC9C,wDAAa,wBAAwB,GAAC,CAAC;QACvC,MAAM,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,wBAAwB,GACxB,GAAG,wDAAa,YAAY,GAAC,CAAC;QAC/B,wDAAa,8BAA8B,GAAC,CAAC;QAE7C,MAAM,cAAS,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,IAAI,EAAE,CAAC;QAG9D,MAAM,EAAE,uBAAuB,EAAE,GAAG,wDAAa,6CAA6C,GAAC,CAAC;QAChG,MAAM,gBAAgB,GAAG,cAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAChE,MAAM,wBAAwB,GAAG,cAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACzE,MAAM,+BAA+B,GAAG,cAAS,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QACvF,gBAAgB,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QAC/D,gBAAgB,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,EAAE,yBAAyB,EAAE,GAAG,wDAAa,yCAAyC,GAAC,CAAC;QAC9F,MAAM,EAAE,sBAAsB,EAAE,GAAG,wDAAa,8CAA8C,GAAC,CAAC;QAChG,MAAM,EAAE,0BAA0B,EAAE,GAAG,wDACtC,mDAAmD,GACnD,CAAC;QAEF,OAAO,CAAC,yBAAyB,EAAE,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,EAAE,2BAA2B,EAAE,GAAG,wDACvC,2CAA2C,GAC3C,CAAC;QACF,OAAO,EAAE,oBAAoB,EAAE,cAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC;IAC7E,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,KAAI,CAAC;CACnB,CAAA;AApDY,4DAAwB;AAmD9B;IADL,IAAA,uBAAU,GAAE;;;;wDACM;mCAnDP,wBAAwB;IADpC,IAAA,0BAAa,EAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,4BAAgB,CAAC,mBAAmB,EAAE,CAAC;GACrF,wBAAwB,CAoDpC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CredentialCheckResult, DynamicCredentialCheckProxyProvider, IExecutionContext } from 'n8n-workflow';
|
|
2
|
+
import { EnterpriseCredentialsService } from '../../../credentials/credentials.service.ee';
|
|
3
|
+
import { OauthService } from '../../../oauth/oauth.service';
|
|
4
|
+
import { ExecutionContextService } from 'n8n-core';
|
|
5
|
+
import { CredentialResolverWorkflowService } from './credential-resolver-workflow.service';
|
|
6
|
+
export declare class CredentialCheckProxyService implements DynamicCredentialCheckProxyProvider {
|
|
7
|
+
private readonly credentialResolverWorkflowService;
|
|
8
|
+
private readonly executionContextService;
|
|
9
|
+
private readonly oauthService;
|
|
10
|
+
private readonly enterpriseCredentialsService;
|
|
11
|
+
constructor(credentialResolverWorkflowService: CredentialResolverWorkflowService, executionContextService: ExecutionContextService, oauthService: OauthService, enterpriseCredentialsService: EnterpriseCredentialsService);
|
|
12
|
+
checkCredentialStatus(workflowId: string, executionContext: IExecutionContext): Promise<CredentialCheckResult>;
|
|
13
|
+
private generateAuthorizationUrl;
|
|
14
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CredentialCheckProxyService = void 0;
|
|
13
|
+
const di_1 = require("@n8n/di");
|
|
14
|
+
const credentials_service_ee_1 = require("../../../credentials/credentials.service.ee");
|
|
15
|
+
const oauth_service_1 = require("../../../oauth/oauth.service");
|
|
16
|
+
const n8n_core_1 = require("n8n-core");
|
|
17
|
+
const credential_resolver_workflow_service_1 = require("./credential-resolver-workflow.service");
|
|
18
|
+
let CredentialCheckProxyService = class CredentialCheckProxyService {
|
|
19
|
+
constructor(credentialResolverWorkflowService, executionContextService, oauthService, enterpriseCredentialsService) {
|
|
20
|
+
this.credentialResolverWorkflowService = credentialResolverWorkflowService;
|
|
21
|
+
this.executionContextService = executionContextService;
|
|
22
|
+
this.oauthService = oauthService;
|
|
23
|
+
this.enterpriseCredentialsService = enterpriseCredentialsService;
|
|
24
|
+
}
|
|
25
|
+
async checkCredentialStatus(workflowId, executionContext) {
|
|
26
|
+
const plaintext = this.executionContextService.decryptExecutionContext(executionContext);
|
|
27
|
+
if (!plaintext.credentials) {
|
|
28
|
+
throw new Error('Execution context is present but contains no credential context. Ensure credential context establishment hooks are configured for this workflow.');
|
|
29
|
+
}
|
|
30
|
+
const statuses = await this.credentialResolverWorkflowService.getWorkflowStatus(workflowId, plaintext.credentials);
|
|
31
|
+
const credentials = await Promise.all(statuses.map(async (status) => {
|
|
32
|
+
const checkStatus = {
|
|
33
|
+
credentialId: status.credentialId,
|
|
34
|
+
credentialName: status.credentialName,
|
|
35
|
+
credentialType: status.credentialType,
|
|
36
|
+
resolverId: status.resolverId,
|
|
37
|
+
status: status.status,
|
|
38
|
+
};
|
|
39
|
+
if (status.status === 'missing' && status.resolverId) {
|
|
40
|
+
checkStatus.authorizationUrl = await this.generateAuthorizationUrl(status.credentialId, status.resolverId, plaintext.credentials);
|
|
41
|
+
}
|
|
42
|
+
return checkStatus;
|
|
43
|
+
}));
|
|
44
|
+
const readyToExecute = credentials.every((c) => c.status === 'configured');
|
|
45
|
+
return { readyToExecute, credentials };
|
|
46
|
+
}
|
|
47
|
+
async generateAuthorizationUrl(credentialId, resolverId, credentialContext) {
|
|
48
|
+
const credential = await this.enterpriseCredentialsService.getOne(credentialId);
|
|
49
|
+
if (!credential)
|
|
50
|
+
return undefined;
|
|
51
|
+
const csrfData = {
|
|
52
|
+
cid: credential.id,
|
|
53
|
+
origin: 'dynamic-credential',
|
|
54
|
+
authorizationHeader: credentialContext.identity ? `Bearer ${credentialContext.identity}` : '',
|
|
55
|
+
authMetadata: credentialContext.metadata,
|
|
56
|
+
credentialResolverId: resolverId,
|
|
57
|
+
};
|
|
58
|
+
const callerData = [credential, csrfData];
|
|
59
|
+
let authorizationUrl;
|
|
60
|
+
if (credential.type.toLowerCase().includes('oauth2')) {
|
|
61
|
+
authorizationUrl = await this.oauthService.generateAOauth2AuthUri(...callerData);
|
|
62
|
+
}
|
|
63
|
+
else if (credential.type.toLowerCase().includes('oauth1')) {
|
|
64
|
+
authorizationUrl = await this.oauthService.generateAOauth1AuthUri(...callerData);
|
|
65
|
+
}
|
|
66
|
+
return authorizationUrl;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
exports.CredentialCheckProxyService = CredentialCheckProxyService;
|
|
70
|
+
exports.CredentialCheckProxyService = CredentialCheckProxyService = __decorate([
|
|
71
|
+
(0, di_1.Service)(),
|
|
72
|
+
__metadata("design:paramtypes", [credential_resolver_workflow_service_1.CredentialResolverWorkflowService,
|
|
73
|
+
n8n_core_1.ExecutionContextService,
|
|
74
|
+
oauth_service_1.OauthService,
|
|
75
|
+
credentials_service_ee_1.EnterpriseCredentialsService])
|
|
76
|
+
], CredentialCheckProxyService);
|
|
77
|
+
//# sourceMappingURL=credential-check-proxy.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-check-proxy.service.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/credential-check-proxy.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Logger } from '@n8n/backend-common';
|
|
2
|
-
import { User } from '@n8n/db';
|
|
2
|
+
import { User, WorkflowRepository } from '@n8n/db';
|
|
3
3
|
import { CredentialResolverConfiguration, ICredentialResolver } from '@n8n/decorators';
|
|
4
4
|
import { Cipher } from 'n8n-core';
|
|
5
|
+
import { ActiveWorkflowManager } from '../../../active-workflow-manager';
|
|
5
6
|
import { DynamicCredentialResolverRegistry } from './credential-resolver-registry.service';
|
|
6
7
|
import { ResolverConfigExpressionService } from './resolver-config-expression.service';
|
|
7
8
|
import { DynamicCredentialResolver } from '../database/entities/credential-resolver';
|
|
@@ -25,12 +26,18 @@ export declare class DynamicCredentialResolverService {
|
|
|
25
26
|
private readonly registry;
|
|
26
27
|
private readonly cipher;
|
|
27
28
|
private readonly expressionService;
|
|
28
|
-
|
|
29
|
+
private readonly workflowRepository;
|
|
30
|
+
private readonly activeWorkflowManager;
|
|
31
|
+
constructor(logger: Logger, repository: DynamicCredentialResolverRepository, registry: DynamicCredentialResolverRegistry, cipher: Cipher, expressionService: ResolverConfigExpressionService, workflowRepository: WorkflowRepository, activeWorkflowManager: ActiveWorkflowManager);
|
|
29
32
|
create(params: CreateResolverParams): Promise<DynamicCredentialResolver>;
|
|
30
33
|
findAll(): Promise<DynamicCredentialResolver[]>;
|
|
31
34
|
getAvailableTypes(): ICredentialResolver[];
|
|
32
35
|
findById(id: string): Promise<DynamicCredentialResolver>;
|
|
33
36
|
update(id: string, params: UpdateResolverParams): Promise<DynamicCredentialResolver>;
|
|
37
|
+
findAffectedWorkflows(id: string): Promise<Array<{
|
|
38
|
+
id: string;
|
|
39
|
+
name: string;
|
|
40
|
+
}>>;
|
|
34
41
|
delete(id: string): Promise<void>;
|
|
35
42
|
private validateConfig;
|
|
36
43
|
private encryptConfig;
|
|
@@ -11,21 +11,25 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.DynamicCredentialResolverService = void 0;
|
|
13
13
|
const backend_common_1 = require("@n8n/backend-common");
|
|
14
|
+
const db_1 = require("@n8n/db");
|
|
14
15
|
const decorators_1 = require("@n8n/decorators");
|
|
15
16
|
const di_1 = require("@n8n/di");
|
|
16
17
|
const n8n_core_1 = require("n8n-core");
|
|
17
18
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
19
|
+
const active_workflow_manager_1 = require("../../../active-workflow-manager");
|
|
18
20
|
const credential_resolver_registry_service_1 = require("./credential-resolver-registry.service");
|
|
19
21
|
const resolver_config_expression_service_1 = require("./resolver-config-expression.service");
|
|
20
22
|
const credential_resolver_repository_1 = require("../database/repositories/credential-resolver.repository");
|
|
21
23
|
const credential_resolver_not_found_error_1 = require("../errors/credential-resolver-not-found.error");
|
|
22
24
|
let DynamicCredentialResolverService = class DynamicCredentialResolverService {
|
|
23
|
-
constructor(logger, repository, registry, cipher, expressionService) {
|
|
25
|
+
constructor(logger, repository, registry, cipher, expressionService, workflowRepository, activeWorkflowManager) {
|
|
24
26
|
this.logger = logger;
|
|
25
27
|
this.repository = repository;
|
|
26
28
|
this.registry = registry;
|
|
27
29
|
this.cipher = cipher;
|
|
28
30
|
this.expressionService = expressionService;
|
|
31
|
+
this.workflowRepository = workflowRepository;
|
|
32
|
+
this.activeWorkflowManager = activeWorkflowManager;
|
|
29
33
|
this.logger = this.logger.scoped('dynamic-credentials');
|
|
30
34
|
}
|
|
31
35
|
async create(params) {
|
|
@@ -90,13 +94,38 @@ let DynamicCredentialResolverService = class DynamicCredentialResolverService {
|
|
|
90
94
|
this.logger.debug(`Updated credential resolver "${saved.name}" (${saved.id})`);
|
|
91
95
|
return this.withDecryptedConfig(saved);
|
|
92
96
|
}
|
|
97
|
+
async findAffectedWorkflows(id) {
|
|
98
|
+
const existing = await this.repository.findOneBy({ id });
|
|
99
|
+
if (!existing) {
|
|
100
|
+
throw new credential_resolver_not_found_error_1.DynamicCredentialResolverNotFoundError(id);
|
|
101
|
+
}
|
|
102
|
+
return await this.workflowRepository.findByCredentialResolverId(id);
|
|
103
|
+
}
|
|
93
104
|
async delete(id) {
|
|
94
105
|
const existing = await this.repository.findOneBy({ id });
|
|
95
106
|
if (!existing) {
|
|
96
107
|
throw new credential_resolver_not_found_error_1.DynamicCredentialResolverNotFoundError(id);
|
|
97
108
|
}
|
|
98
|
-
await this.
|
|
109
|
+
const affectedWorkflows = await this.workflowRepository.findActiveByCredentialResolverId(id);
|
|
110
|
+
const { manager } = this.repository;
|
|
111
|
+
await manager.transaction(async (trx) => {
|
|
112
|
+
await this.workflowRepository.clearCredentialResolverId(id, trx);
|
|
113
|
+
await trx.remove(existing);
|
|
114
|
+
});
|
|
99
115
|
this.logger.debug(`Deleted credential resolver "${existing.name}" (${id})`);
|
|
116
|
+
for (const workflowId of affectedWorkflows) {
|
|
117
|
+
try {
|
|
118
|
+
await this.activeWorkflowManager.remove(workflowId);
|
|
119
|
+
await this.activeWorkflowManager.add(workflowId, 'update');
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
this.logger.warn(`Failed to reactivate workflow "${workflowId}" after resolver deletion, deactivating it`, { error });
|
|
123
|
+
await this.workflowRepository.update(workflowId, {
|
|
124
|
+
active: false,
|
|
125
|
+
activeVersionId: null,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
100
129
|
}
|
|
101
130
|
async validateConfig(type, config) {
|
|
102
131
|
const resolverImplementation = this.registry.getResolverByTypename(type);
|
|
@@ -136,6 +165,8 @@ exports.DynamicCredentialResolverService = DynamicCredentialResolverService = __
|
|
|
136
165
|
credential_resolver_repository_1.DynamicCredentialResolverRepository,
|
|
137
166
|
credential_resolver_registry_service_1.DynamicCredentialResolverRegistry,
|
|
138
167
|
n8n_core_1.Cipher,
|
|
139
|
-
resolver_config_expression_service_1.ResolverConfigExpressionService
|
|
168
|
+
resolver_config_expression_service_1.ResolverConfigExpressionService,
|
|
169
|
+
db_1.WorkflowRepository,
|
|
170
|
+
active_workflow_manager_1.ActiveWorkflowManager])
|
|
140
171
|
], DynamicCredentialResolverService);
|
|
141
172
|
//# sourceMappingURL=credential-resolver.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-resolver.service.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/credential-resolver.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;
|
|
1
|
+
{"version":3,"file":"credential-resolver.service.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/credential-resolver.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,4 +19,5 @@ __exportStar(require("./credential-resolver.service"), exports);
|
|
|
19
19
|
__exportStar(require("./dynamic-credential.service"), exports);
|
|
20
20
|
__exportStar(require("./dynamic-credential-storage.service"), exports);
|
|
21
21
|
__exportStar(require("./credential-resolver-workflow.service"), exports);
|
|
22
|
+
__exportStar(require("./credential-check-proxy.service"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,gEAA8C;AAC9C,+DAA6C;AAC7C,uEAAqD;AACrD,yEAAuD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,gEAA8C;AAC9C,+DAA6C;AAC7C,uEAAqD;AACrD,yEAAuD;AACvD,mEAAiD"}
|
|
@@ -22,6 +22,9 @@ export declare class VaultProvider extends SecretsProvider {
|
|
|
22
22
|
private authAppRole;
|
|
23
23
|
private getTokenInfo;
|
|
24
24
|
private getKVSecrets;
|
|
25
|
+
private normalizeKvPath;
|
|
26
|
+
private discoverKvMounts;
|
|
27
|
+
private testSecretAccess;
|
|
25
28
|
update(): Promise<void>;
|
|
26
29
|
test(): Promise<[boolean] | [boolean, string]>;
|
|
27
30
|
getSecret(name: string): IDataObject;
|
|
@@ -133,6 +133,29 @@ class VaultProvider extends types_1.SecretsProvider {
|
|
|
133
133
|
},
|
|
134
134
|
},
|
|
135
135
|
},
|
|
136
|
+
{
|
|
137
|
+
displayName: 'KV Mount Path (optional)',
|
|
138
|
+
name: 'kvMountPath',
|
|
139
|
+
type: 'string',
|
|
140
|
+
default: '',
|
|
141
|
+
required: false,
|
|
142
|
+
noDataExpression: true,
|
|
143
|
+
placeholder: 'e.g. secret/',
|
|
144
|
+
hint: 'Specify the KV engine mount path to skip sys/mounts auto-discovery. Leave blank to auto-detect.',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
displayName: 'KV Version',
|
|
148
|
+
name: 'kvVersion',
|
|
149
|
+
type: 'options',
|
|
150
|
+
default: '2',
|
|
151
|
+
required: false,
|
|
152
|
+
noDataExpression: true,
|
|
153
|
+
options: [
|
|
154
|
+
{ name: 'v1', value: '1' },
|
|
155
|
+
{ name: 'v2', value: '2' },
|
|
156
|
+
],
|
|
157
|
+
hint: 'Only used when KV Mount Path is specified.',
|
|
158
|
+
},
|
|
136
159
|
];
|
|
137
160
|
this.displayName = 'HashiCorp Vault';
|
|
138
161
|
this.name = 'vault';
|
|
@@ -315,21 +338,64 @@ class VaultProvider extends types_1.SecretsProvider {
|
|
|
315
338
|
this.logger.debug(`Vault provider retrieved kv secrets from ${name}`);
|
|
316
339
|
return [name, data];
|
|
317
340
|
}
|
|
318
|
-
|
|
341
|
+
normalizeKvPath(mountPath) {
|
|
342
|
+
return mountPath.endsWith('/') ? mountPath : `${mountPath}/`;
|
|
343
|
+
}
|
|
344
|
+
async discoverKvMounts() {
|
|
345
|
+
const { kvMountPath, kvVersion } = this.settings;
|
|
346
|
+
if (kvMountPath) {
|
|
347
|
+
return [{ path: this.normalizeKvPath(kvMountPath), version: kvVersion ?? '2' }];
|
|
348
|
+
}
|
|
319
349
|
const mounts = await __classPrivateFieldGet(this, _VaultProvider_http, "f").get('sys/mounts');
|
|
320
|
-
const
|
|
321
|
-
|
|
322
|
-
|
|
350
|
+
const kvMounts = Object.entries(mounts.data.data).filter(([, mount]) => mount.type === 'kv');
|
|
351
|
+
return kvMounts
|
|
352
|
+
.map(([basePath, mount]) => {
|
|
353
|
+
const version = mount.options?.version;
|
|
323
354
|
if (typeof version !== 'string') {
|
|
324
355
|
this.logger.debug(`Skipping KV mount "${basePath}" — no version in mount options`);
|
|
325
356
|
return null;
|
|
326
357
|
}
|
|
327
|
-
|
|
358
|
+
return { path: basePath, version };
|
|
359
|
+
})
|
|
360
|
+
.filter((entry) => entry !== null);
|
|
361
|
+
}
|
|
362
|
+
async testSecretAccess() {
|
|
363
|
+
const { kvMountPath, kvVersion } = this.settings;
|
|
364
|
+
let listUrl;
|
|
365
|
+
let forbiddenMessage;
|
|
366
|
+
let failureMessage;
|
|
367
|
+
if (kvMountPath) {
|
|
368
|
+
const normalizedPath = this.normalizeKvPath(kvMountPath);
|
|
369
|
+
const version = kvVersion ?? '2';
|
|
370
|
+
listUrl =
|
|
371
|
+
version === '2' ? `${normalizedPath}metadata/?list=true` : `${normalizedPath}?list=true`;
|
|
372
|
+
forbiddenMessage = `Permission denied accessing ${kvMountPath}. Check your token policies.`;
|
|
373
|
+
failureMessage = (status) => `Could not access KV mount at ${kvMountPath} (status ${status}).`;
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
listUrl = 'sys/mounts';
|
|
377
|
+
forbiddenMessage =
|
|
378
|
+
"Couldn't list mounts. Please give these credentials 'read' access to sys/mounts.";
|
|
379
|
+
failureMessage = () => "Couldn't list mounts but it wasn't a permissions issue. Please consult your Vault admin.";
|
|
380
|
+
}
|
|
381
|
+
const resp = await __classPrivateFieldGet(this, _VaultProvider_http, "f").get(listUrl, { validateStatus: () => true });
|
|
382
|
+
if (resp.status === 403) {
|
|
383
|
+
return [false, forbiddenMessage];
|
|
384
|
+
}
|
|
385
|
+
if (resp.status === 200 || (kvMountPath && resp.status === 404)) {
|
|
386
|
+
return [true];
|
|
387
|
+
}
|
|
388
|
+
return [false, failureMessage(resp.status)];
|
|
389
|
+
}
|
|
390
|
+
async update() {
|
|
391
|
+
const kvMounts = await this.discoverKvMounts();
|
|
392
|
+
const secrets = Object.fromEntries((await Promise.all(kvMounts.map(async ({ path, version }) => {
|
|
393
|
+
const value = await this.getKVSecrets(path, version, '');
|
|
328
394
|
if (value === null) {
|
|
329
395
|
return null;
|
|
330
396
|
}
|
|
331
|
-
return [
|
|
332
|
-
}))).filter((
|
|
397
|
+
return [path.substring(0, path.length - 1), value[1]];
|
|
398
|
+
}))).filter((entry) => entry !== null));
|
|
333
399
|
this.cachedSecrets = secrets;
|
|
334
400
|
this.logger.debug('Vault provider secrets updated');
|
|
335
401
|
}
|
|
@@ -342,29 +408,11 @@ class VaultProvider extends types_1.SecretsProvider {
|
|
|
342
408
|
}
|
|
343
409
|
return [false, 'Invalid credentials'];
|
|
344
410
|
}
|
|
345
|
-
|
|
346
|
-
method: 'GET',
|
|
347
|
-
url: 'sys/mounts',
|
|
348
|
-
responseType: 'json',
|
|
349
|
-
validateStatus: () => true,
|
|
350
|
-
});
|
|
351
|
-
if (resp.status === 403) {
|
|
352
|
-
return [
|
|
353
|
-
false,
|
|
354
|
-
"Couldn't list mounts. Please give these credentials 'read' access to sys/mounts.",
|
|
355
|
-
];
|
|
356
|
-
}
|
|
357
|
-
else if (resp.status !== 200) {
|
|
358
|
-
return [
|
|
359
|
-
false,
|
|
360
|
-
"Couldn't list mounts but wasn't a permissions issue. Please consult your Vault admin.",
|
|
361
|
-
];
|
|
362
|
-
}
|
|
363
|
-
return [true];
|
|
411
|
+
return await this.testSecretAccess();
|
|
364
412
|
}
|
|
365
|
-
catch (
|
|
366
|
-
if (axios_1.default.isAxiosError(
|
|
367
|
-
if (
|
|
413
|
+
catch (error) {
|
|
414
|
+
if (axios_1.default.isAxiosError(error)) {
|
|
415
|
+
if (error.code === 'ECONNREFUSED') {
|
|
368
416
|
return [
|
|
369
417
|
false,
|
|
370
418
|
'Connection refused. Please check the host and port of the server are correct.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../../src/modules/external-secrets.ee/providers/vault.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../../src/modules/external-secrets.ee/providers/vault.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,20 +4,22 @@ import type { SecretsProviderAccessRole, SecretsProviderConnection } from '@n8n/
|
|
|
4
4
|
import { ProjectSecretsProviderAccessRepository, SecretsProviderConnectionRepository } from '@n8n/db';
|
|
5
5
|
import { Cipher } from 'n8n-core';
|
|
6
6
|
import type { IDataObject } from 'n8n-workflow';
|
|
7
|
+
import { ExternalSecretsProviderRegistry } from './provider-registry.service';
|
|
8
|
+
import { CredentialDependencyService } from '../../credentials/credential-dependency.service';
|
|
7
9
|
import { EventService } from '../../events/event.service';
|
|
8
10
|
import { ExternalSecretsManager } from '../../modules/external-secrets.ee/external-secrets-manager.ee';
|
|
9
11
|
import { RedactionService } from '../../modules/external-secrets.ee/redaction.service.ee';
|
|
10
|
-
import { ExternalSecretsProviderRegistry } from './provider-registry.service';
|
|
11
12
|
export declare class SecretsProvidersConnectionsService {
|
|
12
13
|
private readonly logger;
|
|
13
14
|
private readonly repository;
|
|
14
15
|
private readonly projectAccessRepository;
|
|
16
|
+
private readonly credentialDependencyService;
|
|
15
17
|
private readonly providerRegistry;
|
|
16
18
|
private readonly cipher;
|
|
17
19
|
private readonly externalSecretsManager;
|
|
18
20
|
private readonly redactionService;
|
|
19
21
|
private readonly eventService;
|
|
20
|
-
constructor(logger: Logger, repository: SecretsProviderConnectionRepository, projectAccessRepository: ProjectSecretsProviderAccessRepository, providerRegistry: ExternalSecretsProviderRegistry, cipher: Cipher, externalSecretsManager: ExternalSecretsManager, redactionService: RedactionService, eventService: EventService);
|
|
22
|
+
constructor(logger: Logger, repository: SecretsProviderConnectionRepository, projectAccessRepository: ProjectSecretsProviderAccessRepository, credentialDependencyService: CredentialDependencyService, providerRegistry: ExternalSecretsProviderRegistry, cipher: Cipher, externalSecretsManager: ExternalSecretsManager, redactionService: RedactionService, eventService: EventService);
|
|
21
23
|
createConnection(proposedConnection: CreateSecretsProviderConnectionDto, userId: string, projectRole: SecretsProviderAccessRole): Promise<SecretsProviderConnection>;
|
|
22
24
|
updateProjectConnection(providerKey: string, updates: {
|
|
23
25
|
type?: string;
|
|
@@ -17,17 +17,19 @@ const di_1 = require("@n8n/di");
|
|
|
17
17
|
const typeorm_1 = require("@n8n/typeorm");
|
|
18
18
|
const n8n_core_1 = require("n8n-core");
|
|
19
19
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
20
|
+
const provider_registry_service_1 = require("./provider-registry.service");
|
|
21
|
+
const credential_dependency_service_1 = require("../../credentials/credential-dependency.service");
|
|
20
22
|
const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
|
|
21
23
|
const not_found_error_1 = require("../../errors/response-errors/not-found.error");
|
|
22
24
|
const event_service_1 = require("../../events/event.service");
|
|
23
25
|
const external_secrets_manager_ee_1 = require("../../modules/external-secrets.ee/external-secrets-manager.ee");
|
|
24
26
|
const redaction_service_ee_1 = require("../../modules/external-secrets.ee/redaction.service.ee");
|
|
25
|
-
const provider_registry_service_1 = require("./provider-registry.service");
|
|
26
27
|
let SecretsProvidersConnectionsService = class SecretsProvidersConnectionsService {
|
|
27
|
-
constructor(logger, repository, projectAccessRepository, providerRegistry, cipher, externalSecretsManager, redactionService, eventService) {
|
|
28
|
+
constructor(logger, repository, projectAccessRepository, credentialDependencyService, providerRegistry, cipher, externalSecretsManager, redactionService, eventService) {
|
|
28
29
|
this.logger = logger;
|
|
29
30
|
this.repository = repository;
|
|
30
31
|
this.projectAccessRepository = projectAccessRepository;
|
|
32
|
+
this.credentialDependencyService = credentialDependencyService;
|
|
31
33
|
this.providerRegistry = providerRegistry;
|
|
32
34
|
this.cipher = cipher;
|
|
33
35
|
this.externalSecretsManager = externalSecretsManager;
|
|
@@ -128,8 +130,16 @@ let SecretsProvidersConnectionsService = class SecretsProvidersConnectionsServic
|
|
|
128
130
|
async deleteConnection(providerKey, userId) {
|
|
129
131
|
const connection = await this.findConnectionOrFail(providerKey);
|
|
130
132
|
const projectInfo = this.extractProjectInfo(connection);
|
|
131
|
-
|
|
132
|
-
await this.repository.
|
|
133
|
+
const dependencyId = connection.id.toString();
|
|
134
|
+
await this.repository.manager.transaction(async (entityManager) => {
|
|
135
|
+
await this.projectAccessRepository.deleteByConnectionId(connection.id, entityManager);
|
|
136
|
+
await this.credentialDependencyService.deleteDependencyById({
|
|
137
|
+
dependencyType: credential_dependency_service_1.EXTERNAL_SECRET_PROVIDER_DEPENDENCY_TYPE,
|
|
138
|
+
dependencyId,
|
|
139
|
+
entityManager,
|
|
140
|
+
});
|
|
141
|
+
await entityManager.delete(this.repository.target, { id: connection.id });
|
|
142
|
+
});
|
|
133
143
|
await this.externalSecretsManager.syncProviderConnection(providerKey);
|
|
134
144
|
this.eventService.emit('external-secrets-connection-deleted', {
|
|
135
145
|
userId,
|
|
@@ -279,6 +289,11 @@ let SecretsProvidersConnectionsService = class SecretsProvidersConnectionsServic
|
|
|
279
289
|
}
|
|
280
290
|
await this.repository.manager.transaction(async (entityManager) => {
|
|
281
291
|
if (ownerConnectionIds.size > 0) {
|
|
292
|
+
await this.credentialDependencyService.deleteDependenciesByIds({
|
|
293
|
+
dependencyType: credential_dependency_service_1.EXTERNAL_SECRET_PROVIDER_DEPENDENCY_TYPE,
|
|
294
|
+
dependencyIds: [...ownerConnectionIds].map((id) => id.toString()),
|
|
295
|
+
entityManager,
|
|
296
|
+
});
|
|
282
297
|
await entityManager.delete(this.repository.target, { id: (0, typeorm_1.In)([...ownerConnectionIds]) });
|
|
283
298
|
}
|
|
284
299
|
if (nonOwnerConnectionIds.size > 0) {
|
|
@@ -311,11 +326,17 @@ let SecretsProvidersConnectionsService = class SecretsProvidersConnectionsServic
|
|
|
311
326
|
return connection;
|
|
312
327
|
}
|
|
313
328
|
async deleteConnectionForProject(providerKey, projectId) {
|
|
314
|
-
const connection = await this.repository.
|
|
329
|
+
const connection = await this.repository.findByProviderKeyAndProjectId(providerKey, projectId);
|
|
315
330
|
if (!connection) {
|
|
316
331
|
throw new not_found_error_1.NotFoundError(`Connection with key "${providerKey}" not found`);
|
|
317
332
|
}
|
|
318
|
-
|
|
333
|
+
const connectionId = connection.id;
|
|
334
|
+
await this.credentialDependencyService.deleteDependencyById({
|
|
335
|
+
dependencyType: credential_dependency_service_1.EXTERNAL_SECRET_PROVIDER_DEPENDENCY_TYPE,
|
|
336
|
+
dependencyId: connectionId.toString(),
|
|
337
|
+
});
|
|
338
|
+
await this.projectAccessRepository.deleteByConnectionId(connectionId);
|
|
339
|
+
await this.repository.delete({ id: connectionId });
|
|
319
340
|
await this.externalSecretsManager.syncProviderConnection(providerKey);
|
|
320
341
|
return connection;
|
|
321
342
|
}
|
|
@@ -329,6 +350,7 @@ exports.SecretsProvidersConnectionsService = SecretsProvidersConnectionsService
|
|
|
329
350
|
__metadata("design:paramtypes", [backend_common_1.Logger,
|
|
330
351
|
db_1.SecretsProviderConnectionRepository,
|
|
331
352
|
db_1.ProjectSecretsProviderAccessRepository,
|
|
353
|
+
credential_dependency_service_1.CredentialDependencyService,
|
|
332
354
|
provider_registry_service_1.ExternalSecretsProviderRegistry,
|
|
333
355
|
n8n_core_1.Cipher,
|
|
334
356
|
external_secrets_manager_ee_1.ExternalSecretsManager,
|