n8n 2.5.1 → 2.6.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/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 +19 -107
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strapi-utils.js","sourceRoot":"","sources":["../../../src/modules/community-packages/strapi-utils.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"strapi-utils.js","sourceRoot":"","sources":["../../../src/modules/community-packages/strapi-utils.ts"],"names":[],"mappings":";;;;;AA4CA,4CA4CC;AAED,wDAQC;AAlGD,wDAA6C;AAC7C,gCAAoC;AACpC,kDAA0B;AAC1B,uCAAyC;AAuCzC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEzB,KAAK,UAAU,gBAAgB,CACrC,GAAW,EACX,MAA+B,EAC/B,OAAkC;IAElC,IAAI,UAAU,GAAQ,EAAE,CAAC;IACzB,IAAI,YAAY,GAAoB,EAAE,CAAC;IAEvC,GAAG,CAAC;QACH,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAkB,GAAG,EAAE;gBAChD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,MAAM;gBACN,OAAO,EAAE,kBAAkB;aAC3B,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,cAAS,CAAC,GAAG,CAAC,wBAAa,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;gBACzC,IAAI,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE;aAClD,CAAC,CAAC;YACH,cAAS,CAAC,GAAG,CAAC,uBAAM,CAAC,CAAC,KAAK,CAC1B,yCAA0C,KAAe,CAAC,OAAO,EAAE,CACnE,CAAC;YACF,IAAI,OAAO,EAAE,YAAY;gBAAE,MAAM,KAAK,CAAC;YAEvC,MAAM;QACP,CAAC;QAED,YAAY,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAE1F,IAAI,CAAC,YAAY,EAAE,MAAM;YAAE,MAAM;QAEjC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE7C,IAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YAE3D,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM;QAC/B,CAAC;QAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC,QAAQ,YAAY,EAAE,MAAM,EAAE;IAE/B,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAgB,sBAAsB,CAAC,GAAa;IACnD,OAAO;QACN,OAAO,EAAE;YACR,EAAE,EAAE;gBACH,GAAG,EAAE,GAAG;aACR;SACD;KACD,CAAC;AACH,CAAC"}
|
package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/http-header-extractor.js
CHANGED
|
@@ -62,12 +62,14 @@ let HttpHeaderExtractor = class HttpHeaderExtractor {
|
|
|
62
62
|
displayName: 'Header Name',
|
|
63
63
|
type: 'string',
|
|
64
64
|
default: 'authorization',
|
|
65
|
+
noDataExpression: true,
|
|
65
66
|
description: 'The name of the HTTP header to extract the value from.',
|
|
66
67
|
},
|
|
67
68
|
{
|
|
68
69
|
name: 'headerValue',
|
|
69
70
|
displayName: 'Header Value Pattern',
|
|
70
71
|
type: 'string',
|
|
72
|
+
noDataExpression: true,
|
|
71
73
|
default: '[Bb][Ee][Aa][Rr][Ee][Rr]\\s+(.+)',
|
|
72
74
|
description: 'A regular expression pattern to extract the identity from the header value. Use a capturing group to specify the identity part.',
|
|
73
75
|
},
|
|
@@ -80,20 +82,20 @@ let HttpHeaderExtractor = class HttpHeaderExtractor {
|
|
|
80
82
|
async execute(options) {
|
|
81
83
|
if (!options.triggerItems || options.triggerItems.length === 0) {
|
|
82
84
|
this.logger.debug('No trigger items found, skipping HttpHeaderExtractor hook.');
|
|
83
|
-
|
|
85
|
+
throw new Error('No trigger items found, to perform header extraction');
|
|
84
86
|
}
|
|
85
87
|
const httpHeaderOptions = await HttpHeaderExtractorOptionsSchema.safeParseAsync(options.options ?? {});
|
|
86
88
|
if (httpHeaderOptions.error) {
|
|
87
89
|
this.logger.error('Invalid options for HttpHeaderExtractor hook.', {
|
|
88
90
|
error: httpHeaderOptions.error,
|
|
89
91
|
});
|
|
90
|
-
|
|
92
|
+
throw new Error('Invalid options for HttpHeaderExtractor hook');
|
|
91
93
|
}
|
|
92
94
|
const normalizedHeaderName = httpHeaderOptions.data.headerName.toLowerCase();
|
|
93
95
|
const pattern = httpHeaderOptions.data.headerValue;
|
|
94
96
|
if (isUnsafeRegexPattern(pattern)) {
|
|
95
97
|
this.logger.warn('Potentially unsafe regex pattern rejected', { pattern });
|
|
96
|
-
|
|
98
|
+
throw new Error('Detected unsafe regex pattern, rejecting processing');
|
|
97
99
|
}
|
|
98
100
|
const [triggerItem] = options.triggerItems;
|
|
99
101
|
const headers = triggerItem.json['headers'];
|
|
@@ -124,13 +126,11 @@ let HttpHeaderExtractor = class HttpHeaderExtractor {
|
|
|
124
126
|
}
|
|
125
127
|
catch (error) {
|
|
126
128
|
this.logger.error('Invalid regex pattern', { pattern, error });
|
|
127
|
-
|
|
128
|
-
triggerItems: options.triggerItems,
|
|
129
|
-
};
|
|
129
|
+
throw new Error('Failed to execute regex pattern, during header extraction');
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
-
|
|
133
|
+
throw new Error('Http header not found or invalid');
|
|
134
134
|
}
|
|
135
135
|
};
|
|
136
136
|
exports.HttpHeaderExtractor = HttpHeaderExtractor;
|
package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/http-header-extractor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-header-extractor.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/context-establishment-hooks/http-header-extractor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAC7C,gDAMyB;AACzB,qCAAgD;AAChD,6BAAwB;AAExB,MAAM,gCAAgC,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;IAC/C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC;CACnE,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAM7B,SAAS,oBAAoB,CAAC,OAAe;IAE5C,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;IAEhE,MAAM,cAAc,GAAG,sBAAsB,CAAC;IAC9C,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IACnC,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC5F,CAAC;AAID,MAAM,YAAY,GAAG,IAAA,uBAAa,EAAC;IAClC,MAAM;IACN,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,IAA8B;CACtC,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,IAAI,gBAAM,CAAC,0CAA0C,CAAC,CAAC;AAS3E,SAAS,aAAa,CACrB,OAAe,EACf,KAAa,EACb,SAAS,GAAG,gBAAgB;IAE5B,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;IAE3B,IAAI,CAAC;QACJ,WAAW,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,OAAO,YAAY,CAAC,MAAgC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAK,KAA+B,CAAC,IAAI,KAAK,8BAA8B,EAAE,CAAC;YAC9E,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC;AAGM,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC/B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAE3C,oBAAe,GAAoB;YAClC,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,aAAa;oBAC1B,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,eAAe;oBACxB,WAAW,EAAE,wDAAwD;iBACrE;gBACD;oBACC,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,sBAAsB;oBACnC,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,kCAAkC;oBAC3C,WAAW,EACV,iIAAiI;iBAClI;aACD;SACD,CAAC;
|
|
1
|
+
{"version":3,"file":"http-header-extractor.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/context-establishment-hooks/http-header-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/credential-resolvers/index.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/credential-resolvers/index.ts"],"names":[],"mappings":";;AAAA,uCAAqC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CredentialResolverHandle } from '@n8n/decorators';
|
|
2
|
+
import { ICredentialEntriesStorage } from './storage-interface';
|
|
3
|
+
import { DynamicCredentialUserEntryRepository } from '../../database/repositories/dynamic-credential-user-entry.repository';
|
|
4
|
+
export declare class DynamicCredentialUserEntryStorage implements ICredentialEntriesStorage {
|
|
5
|
+
private readonly dynamicCredentialUserEntryRepository;
|
|
6
|
+
constructor(dynamicCredentialUserEntryRepository: DynamicCredentialUserEntryRepository);
|
|
7
|
+
getCredentialData(credentialId: string, userId: string, resolverId: string, _: Record<string, unknown>): Promise<string | null>;
|
|
8
|
+
setCredentialData(credentialId: string, userId: string, resolverId: string, data: string, _: Record<string, unknown>): Promise<void>;
|
|
9
|
+
deleteCredentialData(credentialId: string, userId: string, resolverId: string, _: Record<string, unknown>): Promise<void>;
|
|
10
|
+
deleteAllCredentialData(handle: CredentialResolverHandle): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
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.DynamicCredentialUserEntryStorage = void 0;
|
|
13
|
+
const di_1 = require("@n8n/di");
|
|
14
|
+
const dynamic_credential_user_entry_1 = require("../../database/entities/dynamic-credential-user-entry");
|
|
15
|
+
const dynamic_credential_user_entry_repository_1 = require("../../database/repositories/dynamic-credential-user-entry.repository");
|
|
16
|
+
let DynamicCredentialUserEntryStorage = class DynamicCredentialUserEntryStorage {
|
|
17
|
+
constructor(dynamicCredentialUserEntryRepository) {
|
|
18
|
+
this.dynamicCredentialUserEntryRepository = dynamicCredentialUserEntryRepository;
|
|
19
|
+
}
|
|
20
|
+
async getCredentialData(credentialId, userId, resolverId, _) {
|
|
21
|
+
const entry = await this.dynamicCredentialUserEntryRepository.findOne({
|
|
22
|
+
where: {
|
|
23
|
+
credentialId,
|
|
24
|
+
userId,
|
|
25
|
+
resolverId,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
return entry?.data ?? null;
|
|
29
|
+
}
|
|
30
|
+
async setCredentialData(credentialId, userId, resolverId, data, _) {
|
|
31
|
+
let entry = await this.dynamicCredentialUserEntryRepository.findOne({
|
|
32
|
+
where: { credentialId, userId, resolverId },
|
|
33
|
+
});
|
|
34
|
+
if (!entry) {
|
|
35
|
+
entry = new dynamic_credential_user_entry_1.DynamicCredentialUserEntry();
|
|
36
|
+
entry.credentialId = credentialId;
|
|
37
|
+
entry.userId = userId;
|
|
38
|
+
entry.resolverId = resolverId;
|
|
39
|
+
}
|
|
40
|
+
entry.data = data;
|
|
41
|
+
await this.dynamicCredentialUserEntryRepository.save(entry);
|
|
42
|
+
}
|
|
43
|
+
async deleteCredentialData(credentialId, userId, resolverId, _) {
|
|
44
|
+
await this.dynamicCredentialUserEntryRepository.delete({
|
|
45
|
+
credentialId,
|
|
46
|
+
userId,
|
|
47
|
+
resolverId,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
async deleteAllCredentialData(handle) {
|
|
51
|
+
await this.dynamicCredentialUserEntryRepository.delete({ resolverId: handle.resolverId });
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.DynamicCredentialUserEntryStorage = DynamicCredentialUserEntryStorage;
|
|
55
|
+
exports.DynamicCredentialUserEntryStorage = DynamicCredentialUserEntryStorage = __decorate([
|
|
56
|
+
(0, di_1.Service)(),
|
|
57
|
+
__metadata("design:paramtypes", [dynamic_credential_user_entry_repository_1.DynamicCredentialUserEntryRepository])
|
|
58
|
+
], DynamicCredentialUserEntryStorage);
|
|
59
|
+
//# sourceMappingURL=dynamic-credential-user-entry-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-credential-user-entry-storage.js","sourceRoot":"","sources":["../../../../../src/modules/dynamic-credentials.ee/credential-resolvers/storage/dynamic-credential-user-entry-storage.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gCAAkC;AAGlC,yGAAmG;AACnG,mIAA4H;AAOrH,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;IAC7C,YACkB,oCAA0E;QAA1E,yCAAoC,GAApC,oCAAoC,CAAsC;IACzF,CAAC;IAUJ,KAAK,CAAC,iBAAiB,CACtB,YAAoB,EACpB,MAAc,EACd,UAAkB,EAClB,CAA0B;QAE1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oCAAoC,CAAC,OAAO,CAAC;YACrE,KAAK,EAAE;gBACN,YAAY;gBACZ,MAAM;gBACN,UAAU;aACV;SACD,CAAC,CAAC;QAEH,OAAO,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC;IAC5B,CAAC;IAWD,KAAK,CAAC,iBAAiB,CACtB,YAAoB,EACpB,MAAc,EACd,UAAkB,EAClB,IAAY,EACZ,CAA0B;QAE1B,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,oCAAoC,CAAC,OAAO,CAAC;YACnE,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE;SAC3C,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,GAAG,IAAI,0DAA0B,EAAE,CAAC;YACzC,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;YAClC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACtB,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IASD,KAAK,CAAC,oBAAoB,CACzB,YAAoB,EACpB,MAAc,EACd,UAAkB,EAClB,CAA0B;QAE1B,MAAM,IAAI,CAAC,oCAAoC,CAAC,MAAM,CAAC;YACtD,YAAY;YACZ,MAAM;YACN,UAAU;SACV,CAAC,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,uBAAuB,CAAC,MAAgC;QAC7D,MAAM,IAAI,CAAC,oCAAoC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3F,CAAC;CACD,CAAA;AA1FY,8EAAiC;4CAAjC,iCAAiC;IAD7C,IAAA,YAAO,GAAE;qCAG+C,+EAAoC;GAFhF,iCAAiC,CA0F7C"}
|
package/dist/modules/dynamic-credentials.ee/database/entities/dynamic-credential-user-entry.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CredentialsEntity, User, WithTimestamps } from '@n8n/db';
|
|
2
|
+
import { DynamicCredentialResolver } from './credential-resolver';
|
|
3
|
+
export declare class DynamicCredentialUserEntry extends WithTimestamps {
|
|
4
|
+
constructor();
|
|
5
|
+
credentialId: string;
|
|
6
|
+
userId: string;
|
|
7
|
+
resolverId: string;
|
|
8
|
+
data: string;
|
|
9
|
+
credential: CredentialsEntity;
|
|
10
|
+
user: User;
|
|
11
|
+
resolver: DynamicCredentialResolver;
|
|
12
|
+
}
|
package/dist/modules/dynamic-credentials.ee/database/entities/dynamic-credential-user-entry.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
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.DynamicCredentialUserEntry = void 0;
|
|
13
|
+
const db_1 = require("@n8n/db");
|
|
14
|
+
const typeorm_1 = require("@n8n/typeorm");
|
|
15
|
+
const credential_resolver_1 = require("./credential-resolver");
|
|
16
|
+
let DynamicCredentialUserEntry = class DynamicCredentialUserEntry extends db_1.WithTimestamps {
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.DynamicCredentialUserEntry = DynamicCredentialUserEntry;
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, typeorm_1.PrimaryColumn)({
|
|
24
|
+
name: 'credentialId',
|
|
25
|
+
}),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], DynamicCredentialUserEntry.prototype, "credentialId", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, typeorm_1.PrimaryColumn)({
|
|
30
|
+
name: 'userId',
|
|
31
|
+
}),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], DynamicCredentialUserEntry.prototype, "userId", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, typeorm_1.PrimaryColumn)({
|
|
36
|
+
name: 'resolverId',
|
|
37
|
+
}),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], DynamicCredentialUserEntry.prototype, "resolverId", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, typeorm_1.Column)('text'),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], DynamicCredentialUserEntry.prototype, "data", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, typeorm_1.ManyToOne)(() => db_1.CredentialsEntity, { onDelete: 'CASCADE' }),
|
|
46
|
+
(0, typeorm_1.JoinColumn)({ name: 'credentialId' }),
|
|
47
|
+
__metadata("design:type", db_1.CredentialsEntity)
|
|
48
|
+
], DynamicCredentialUserEntry.prototype, "credential", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, typeorm_1.ManyToOne)(() => db_1.User, { onDelete: 'CASCADE' }),
|
|
51
|
+
(0, typeorm_1.JoinColumn)({ name: 'userId' }),
|
|
52
|
+
__metadata("design:type", db_1.User)
|
|
53
|
+
], DynamicCredentialUserEntry.prototype, "user", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, typeorm_1.ManyToOne)(() => credential_resolver_1.DynamicCredentialResolver, { onDelete: 'CASCADE' }),
|
|
56
|
+
(0, typeorm_1.JoinColumn)({ name: 'resolverId' }),
|
|
57
|
+
__metadata("design:type", credential_resolver_1.DynamicCredentialResolver)
|
|
58
|
+
], DynamicCredentialUserEntry.prototype, "resolver", void 0);
|
|
59
|
+
exports.DynamicCredentialUserEntry = DynamicCredentialUserEntry = __decorate([
|
|
60
|
+
(0, typeorm_1.Entity)({
|
|
61
|
+
name: 'dynamic_credential_user_entry',
|
|
62
|
+
}),
|
|
63
|
+
__metadata("design:paramtypes", [])
|
|
64
|
+
], DynamicCredentialUserEntry);
|
|
65
|
+
//# sourceMappingURL=dynamic-credential-user-entry.js.map
|
package/dist/modules/dynamic-credentials.ee/database/entities/dynamic-credential-user-entry.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-credential-user-entry.js","sourceRoot":"","sources":["../../../../../src/modules/dynamic-credentials.ee/database/entities/dynamic-credential-user-entry.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkE;AAClE,0CAAoF;AAEpF,+DAAkE;AAQ3D,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,mBAAc;IAC7D;QACC,KAAK,EAAE,CAAC;IACT,CAAC;CA+BD,CAAA;AAlCY,gEAA0B;AAQtC;IAHC,IAAA,uBAAa,EAAC;QACd,IAAI,EAAE,cAAc;KACpB,CAAC;;gEACmB;AAKrB;IAHC,IAAA,uBAAa,EAAC;QACd,IAAI,EAAE,QAAQ;KACd,CAAC;;0DACa;AAKf;IAHC,IAAA,uBAAa,EAAC;QACd,IAAI,EAAE,YAAY;KAClB,CAAC;;8DACiB;AAGnB;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;wDACF;AAIb;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,sBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC3D,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;8BACzB,sBAAiB;8DAAC;AAI9B;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,SAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC9C,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8BACzB,SAAI;wDAAC;AAIX;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,+CAAyB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACnE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACzB,+CAAyB;4DAAC;qCAjCxB,0BAA0B;IAHtC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,+BAA+B;KACrC,CAAC;;GACW,0BAA0B,CAkCtC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DataSource, Repository } from '@n8n/typeorm';
|
|
2
|
+
import { DynamicCredentialUserEntry } from '../entities/dynamic-credential-user-entry';
|
|
3
|
+
export declare class DynamicCredentialUserEntryRepository extends Repository<DynamicCredentialUserEntry> {
|
|
4
|
+
constructor(dataSource: DataSource);
|
|
5
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
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.DynamicCredentialUserEntryRepository = void 0;
|
|
13
|
+
const di_1 = require("@n8n/di");
|
|
14
|
+
const typeorm_1 = require("@n8n/typeorm");
|
|
15
|
+
const dynamic_credential_user_entry_1 = require("../entities/dynamic-credential-user-entry");
|
|
16
|
+
let DynamicCredentialUserEntryRepository = class DynamicCredentialUserEntryRepository extends typeorm_1.Repository {
|
|
17
|
+
constructor(dataSource) {
|
|
18
|
+
super(dynamic_credential_user_entry_1.DynamicCredentialUserEntry, dataSource.manager);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.DynamicCredentialUserEntryRepository = DynamicCredentialUserEntryRepository;
|
|
22
|
+
exports.DynamicCredentialUserEntryRepository = DynamicCredentialUserEntryRepository = __decorate([
|
|
23
|
+
(0, di_1.Service)(),
|
|
24
|
+
__metadata("design:paramtypes", [typeorm_1.DataSource])
|
|
25
|
+
], DynamicCredentialUserEntryRepository);
|
|
26
|
+
//# sourceMappingURL=dynamic-credential-user-entry.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic-credential-user-entry.repository.js","sourceRoot":"","sources":["../../../../../src/modules/dynamic-credentials.ee/database/repositories/dynamic-credential-user-entry.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAClC,0CAAsD;AAEtD,6FAAuF;AAGhF,IAAM,oCAAoC,GAA1C,MAAM,oCAAqC,SAAQ,oBAAsC;IAC/F,YAAY,UAAsB;QACjC,KAAK,CAAC,0DAA0B,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;CACD,CAAA;AAJY,oFAAoC;+CAApC,oCAAoC;IADhD,IAAA,YAAO,GAAE;qCAEe,oBAAU;GADtB,oCAAoC,CAIhD"}
|
|
@@ -15,6 +15,7 @@ let DynamicCredentialsConfig = class DynamicCredentialsConfig {
|
|
|
15
15
|
constructor() {
|
|
16
16
|
this.corsOrigin = '';
|
|
17
17
|
this.corsAllowCredentials = false;
|
|
18
|
+
this.endpointAuthToken = '';
|
|
18
19
|
}
|
|
19
20
|
};
|
|
20
21
|
exports.DynamicCredentialsConfig = DynamicCredentialsConfig;
|
|
@@ -26,6 +27,10 @@ __decorate([
|
|
|
26
27
|
(0, config_1.Env)('N8N_DYNAMIC_CREDENTIALS_CORS_ALLOW_CREDENTIALS'),
|
|
27
28
|
__metadata("design:type", Boolean)
|
|
28
29
|
], DynamicCredentialsConfig.prototype, "corsAllowCredentials", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, config_1.Env)('N8N_DYNAMIC_CREDENTIALS_ENDPOINT_AUTH_TOKEN'),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], DynamicCredentialsConfig.prototype, "endpointAuthToken", void 0);
|
|
29
34
|
exports.DynamicCredentialsConfig = DynamicCredentialsConfig = __decorate([
|
|
30
35
|
config_1.Config
|
|
31
36
|
], DynamicCredentialsConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-credentials.config.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/dynamic-credentials.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAA0C;AAGnC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAA9B;QAON,eAAU,GAAW,EAAE,CAAC;QAQxB,yBAAoB,GAAY,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"dynamic-credentials.config.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/dynamic-credentials.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAA0C;AAGnC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAA9B;QAON,eAAU,GAAW,EAAE,CAAC;QAQxB,yBAAoB,GAAY,KAAK,CAAC;QAMtC,sBAAiB,GAAW,EAAE,CAAC;IAChC,CAAC;CAAA,CAAA;AAtBY,4DAAwB;AAOpC;IADC,IAAA,YAAG,EAAC,qCAAqC,CAAC;;4DACnB;AAQxB;IADC,IAAA,YAAG,EAAC,gDAAgD,CAAC;;sEAChB;AAMtC;IADC,IAAA,YAAG,EAAC,6CAA6C,CAAC;;mEACpB;mCArBnB,wBAAwB;IADpC,eAAM;GACM,wBAAwB,CAsBpC"}
|
|
@@ -35,7 +35,8 @@ let DynamicCredentialsController = class DynamicCredentialsController {
|
|
|
35
35
|
if (!credential) {
|
|
36
36
|
throw new not_found_error_1.NotFoundError('Credential not found');
|
|
37
37
|
}
|
|
38
|
-
if (!credential.type.
|
|
38
|
+
if (!credential.type.toLowerCase().includes('oauth2') &&
|
|
39
|
+
!credential.type.toLowerCase().includes('oauth1')) {
|
|
39
40
|
throw new bad_request_error_1.BadRequestError('Credential type not supported');
|
|
40
41
|
}
|
|
41
42
|
return credential;
|
|
@@ -106,10 +107,10 @@ let DynamicCredentialsController = class DynamicCredentialsController {
|
|
|
106
107
|
credentialResolverId: req.query.resolverId,
|
|
107
108
|
},
|
|
108
109
|
];
|
|
109
|
-
if (credential.type.includes('
|
|
110
|
+
if (credential.type.toLowerCase().includes('oauth2')) {
|
|
110
111
|
return await this.oauthService.generateAOauth2AuthUri(...callerData);
|
|
111
112
|
}
|
|
112
|
-
if (credential.type.includes('
|
|
113
|
+
if (credential.type.toLowerCase().includes('oauth1')) {
|
|
113
114
|
return await this.oauthService.generateAOauth1AuthUri(...callerData);
|
|
114
115
|
}
|
|
115
116
|
throw new bad_request_error_1.BadRequestError('Credential type not supported');
|
|
@@ -123,7 +124,7 @@ __decorate([
|
|
|
123
124
|
__metadata("design:returntype", void 0)
|
|
124
125
|
], DynamicCredentialsController.prototype, "handlePreflightCredentialRevoke", null);
|
|
125
126
|
__decorate([
|
|
126
|
-
(0, decorators_1.Delete)('/:id/revoke', { skipAuth: true }),
|
|
127
|
+
(0, decorators_1.Delete)('/:id/revoke', { skipAuth: true, middlewares: (0, utils_1.getDynamicCredentialMiddlewares)() }),
|
|
127
128
|
__metadata("design:type", Function),
|
|
128
129
|
__metadata("design:paramtypes", [Object, Object]),
|
|
129
130
|
__metadata("design:returntype", Promise)
|
|
@@ -135,7 +136,7 @@ __decorate([
|
|
|
135
136
|
__metadata("design:returntype", void 0)
|
|
136
137
|
], DynamicCredentialsController.prototype, "handlePreflightCredentialAuthorize", null);
|
|
137
138
|
__decorate([
|
|
138
|
-
(0, decorators_1.Post)('/:id/authorize', { skipAuth: true }),
|
|
139
|
+
(0, decorators_1.Post)('/:id/authorize', { skipAuth: true, middlewares: (0, utils_1.getDynamicCredentialMiddlewares)() }),
|
|
139
140
|
__metadata("design:type", Function),
|
|
140
141
|
__metadata("design:paramtypes", [Object, Object]),
|
|
141
142
|
__metadata("design:returntype", Promise)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-credentials.controller.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/dynamic-credentials.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAwE;AAGxE,iFAAoF;AACpF,8EAAyE;AACzE,kFAA6E;AAC7E,yDAA0E;AAE1E,2GAA6G;AAC7G,yCAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"dynamic-credentials.controller.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/dynamic-credentials.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ModuleInterface } from '@n8n/decorators';
|
|
2
2
|
export declare class DynamicCredentialsModule implements ModuleInterface {
|
|
3
3
|
init(): Promise<void>;
|
|
4
|
-
entities(): Promise<(typeof import("./database/entities/credential-resolver").DynamicCredentialResolver | typeof import("./database/entities/dynamic-credential-entry").DynamicCredentialEntry)[]>;
|
|
4
|
+
entities(): Promise<(typeof import("./database/entities/credential-resolver").DynamicCredentialResolver | typeof import("./database/entities/dynamic-credential-entry").DynamicCredentialEntry | typeof import("./database/entities/dynamic-credential-user-entry").DynamicCredentialUserEntry)[]>;
|
|
5
5
|
shutdown(): Promise<void>;
|
|
6
6
|
}
|
|
@@ -74,7 +74,8 @@ let DynamicCredentialsModule = class DynamicCredentialsModule {
|
|
|
74
74
|
}
|
|
75
75
|
const { DynamicCredentialResolver } = await Promise.resolve().then(() => __importStar(require('./database/entities/credential-resolver')));
|
|
76
76
|
const { DynamicCredentialEntry } = await Promise.resolve().then(() => __importStar(require('./database/entities/dynamic-credential-entry')));
|
|
77
|
-
|
|
77
|
+
const { DynamicCredentialUserEntry } = await Promise.resolve().then(() => __importStar(require('./database/entities/dynamic-credential-user-entry')));
|
|
78
|
+
return [DynamicCredentialResolver, DynamicCredentialEntry, DynamicCredentialUserEntry];
|
|
78
79
|
}
|
|
79
80
|
async shutdown() { }
|
|
80
81
|
};
|
|
@@ -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;
|
|
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;AA1CY,4DAAwB;AAyC9B;IADL,IAAA,uBAAU,GAAE;;;;wDACM;mCAzCP,wBAAwB;IADpC,IAAA,0BAAa,EAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,4BAAgB,CAAC,mBAAmB,EAAE,CAAC;GACrF,wBAAwB,CA0CpC"}
|
|
@@ -40,7 +40,7 @@ let DynamicCredentialCorsService = class DynamicCredentialCorsService {
|
|
|
40
40
|
}
|
|
41
41
|
this.defaultOptions = {
|
|
42
42
|
allowedOrigins,
|
|
43
|
-
allowedHeaders: ['Authorization', 'Content-Type', 'X-Requested-With'],
|
|
43
|
+
allowedHeaders: ['Authorization', 'Content-Type', 'X-Requested-With', 'X-Authorization'],
|
|
44
44
|
allowCredentials: this.dynamicCredentialConfig.corsAllowCredentials,
|
|
45
45
|
};
|
|
46
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-credential-cors.service.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/dynamic-credential-cors.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAsD;AAEtD,gCAAkC;AAElC,8EAAyE;AAGlE,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAExC,YACkB,WAAwB,EACxB,uBAAiD;QADjD,gBAAW,GAAX,WAAW,CAAa;QACxB,4BAAuB,GAAvB,uBAAuB,CAA0B;QAElE,IAAI,IAAI,CAAC,uBAAuB,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QAEzE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,MAAM,cAAc,GAAG,gBAAgB;aACrC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aAC9B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAGxC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CACd,mEAAmE;gBAClE,2FAA2F,CAC5F,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc,GAAG;YACrB,cAAc;YACd,cAAc,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"dynamic-credential-cors.service.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/dynamic-credential-cors.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAsD;AAEtD,gCAAkC;AAElC,8EAAyE;AAGlE,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAExC,YACkB,WAAwB,EACxB,uBAAiD;QADjD,gBAAW,GAAX,WAAW,CAAa;QACxB,4BAAuB,GAAvB,uBAAuB,CAA0B;QAElE,IAAI,IAAI,CAAC,uBAAuB,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QAEzE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,MAAM,cAAc,GAAG,gBAAgB;aACrC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aAC9B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAGxC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CACd,mEAAmE;gBAClE,2FAA2F,CAC5F,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc,GAAG;YACrB,cAAc;YACd,cAAc,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;YACxF,gBAAgB,EAAE,IAAI,CAAC,uBAAuB,CAAC,oBAAoB;SACnE,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,GAAY,EAAE,GAAa,EAAE,cAAwB;QACrE,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,yBAAyB,CAAC,GAAY,EAAE,GAAa,EAAE,cAAwB;QAC9E,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE;gBAClD,GAAG,IAAI,CAAC,cAAc;gBACtB,cAAc;aACd,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAA;AA5DY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,YAAO,GAAE;qCAIsB,0BAAW;QACC,qDAAwB;GAJvD,4BAA4B,CA4DxC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Logger } from '@n8n/backend-common';
|
|
2
|
+
import { NextFunction, Request, Response } from 'express';
|
|
2
3
|
import { Cipher } from 'n8n-core';
|
|
3
4
|
import type { ICredentialDataDecryptedObject, IExecutionContext, IWorkflowSettings } from 'n8n-workflow';
|
|
4
5
|
import { LoadNodesAndCredentials } from '../../../load-nodes-and-credentials';
|
|
@@ -6,17 +7,20 @@ import { DynamicCredentialResolverRegistry } from './credential-resolver-registr
|
|
|
6
7
|
import { ResolverConfigExpressionService } from './resolver-config-expression.service';
|
|
7
8
|
import type { CredentialResolveMetadata, ICredentialResolutionProvider } from '../../../credentials/credential-resolution-provider.interface';
|
|
8
9
|
import { DynamicCredentialResolverRepository } from '../database/repositories/credential-resolver.repository';
|
|
10
|
+
import { DynamicCredentialsConfig } from '../dynamic-credentials.config';
|
|
9
11
|
export declare class DynamicCredentialService implements ICredentialResolutionProvider {
|
|
12
|
+
private readonly dynamicCredentialConfig;
|
|
10
13
|
private readonly resolverRegistry;
|
|
11
14
|
private readonly resolverRepository;
|
|
12
15
|
private readonly loadNodesAndCredentials;
|
|
13
16
|
private readonly cipher;
|
|
14
17
|
private readonly logger;
|
|
15
18
|
private readonly expressionService;
|
|
16
|
-
constructor(resolverRegistry: DynamicCredentialResolverRegistry, resolverRepository: DynamicCredentialResolverRepository, loadNodesAndCredentials: LoadNodesAndCredentials, cipher: Cipher, logger: Logger, expressionService: ResolverConfigExpressionService);
|
|
19
|
+
constructor(dynamicCredentialConfig: DynamicCredentialsConfig, resolverRegistry: DynamicCredentialResolverRegistry, resolverRepository: DynamicCredentialResolverRepository, loadNodesAndCredentials: LoadNodesAndCredentials, cipher: Cipher, logger: Logger, expressionService: ResolverConfigExpressionService);
|
|
17
20
|
resolveIfNeeded(credentialsResolveMetadata: CredentialResolveMetadata, staticData: ICredentialDataDecryptedObject, executionContext?: IExecutionContext, workflowSettings?: IWorkflowSettings, canUseExternalSecrets?: boolean): Promise<ICredentialDataDecryptedObject>;
|
|
18
21
|
private buildCredentialContext;
|
|
19
22
|
private handleResolutionError;
|
|
20
23
|
private handleMissingResolver;
|
|
21
24
|
private handleMissingContext;
|
|
25
|
+
getDynamicCredentialsEndpointsMiddleware(): (req: Request, res: Response, next: NextFunction) => void;
|
|
22
26
|
}
|
|
@@ -16,13 +16,16 @@ const di_1 = require("@n8n/di");
|
|
|
16
16
|
const n8n_core_1 = require("n8n-core");
|
|
17
17
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
18
18
|
const load_nodes_and_credentials_1 = require("../../../load-nodes-and-credentials");
|
|
19
|
+
const static_auth_service_1 = require("../../../services/static-auth-service");
|
|
19
20
|
const credential_resolver_registry_service_1 = require("./credential-resolver-registry.service");
|
|
20
21
|
const resolver_config_expression_service_1 = require("./resolver-config-expression.service");
|
|
21
22
|
const shared_fields_1 = require("./shared-fields");
|
|
22
23
|
const credential_resolver_repository_1 = require("../database/repositories/credential-resolver.repository");
|
|
24
|
+
const dynamic_credentials_config_1 = require("../dynamic-credentials.config");
|
|
23
25
|
const credential_resolution_error_1 = require("../errors/credential-resolution.error");
|
|
24
26
|
let DynamicCredentialService = class DynamicCredentialService {
|
|
25
|
-
constructor(resolverRegistry, resolverRepository, loadNodesAndCredentials, cipher, logger, expressionService) {
|
|
27
|
+
constructor(dynamicCredentialConfig, resolverRegistry, resolverRepository, loadNodesAndCredentials, cipher, logger, expressionService) {
|
|
28
|
+
this.dynamicCredentialConfig = dynamicCredentialConfig;
|
|
26
29
|
this.resolverRegistry = resolverRegistry;
|
|
27
30
|
this.resolverRepository = resolverRepository;
|
|
28
31
|
this.loadNodesAndCredentials = loadNodesAndCredentials;
|
|
@@ -32,9 +35,12 @@ let DynamicCredentialService = class DynamicCredentialService {
|
|
|
32
35
|
}
|
|
33
36
|
async resolveIfNeeded(credentialsResolveMetadata, staticData, executionContext, workflowSettings, canUseExternalSecrets) {
|
|
34
37
|
const resolverId = credentialsResolveMetadata.resolverId ?? workflowSettings?.credentialResolverId;
|
|
35
|
-
if (!credentialsResolveMetadata.isResolvable
|
|
38
|
+
if (!credentialsResolveMetadata.isResolvable) {
|
|
36
39
|
return staticData;
|
|
37
40
|
}
|
|
41
|
+
if (!resolverId) {
|
|
42
|
+
return this.handleMissingResolver(credentialsResolveMetadata, staticData, resolverId);
|
|
43
|
+
}
|
|
38
44
|
const resolverEntity = await this.resolverRepository.findOneBy({
|
|
39
45
|
id: resolverId,
|
|
40
46
|
});
|
|
@@ -124,7 +130,7 @@ let DynamicCredentialService = class DynamicCredentialService {
|
|
|
124
130
|
});
|
|
125
131
|
return staticData;
|
|
126
132
|
}
|
|
127
|
-
throw new credential_resolution_error_1.CredentialResolutionError(`Resolver "${resolverId}" not found for credential "${credentialsResolveMetadata.name}"`);
|
|
133
|
+
throw new credential_resolution_error_1.CredentialResolutionError(`Resolver "${resolverId ?? 'unknown'}" not found for credential "${credentialsResolveMetadata.name}"`);
|
|
128
134
|
}
|
|
129
135
|
handleMissingContext(credentialsResolveMetadata, staticData) {
|
|
130
136
|
if (credentialsResolveMetadata.resolvableAllowFallback) {
|
|
@@ -136,11 +142,25 @@ let DynamicCredentialService = class DynamicCredentialService {
|
|
|
136
142
|
}
|
|
137
143
|
throw new credential_resolution_error_1.CredentialResolutionError(`Cannot resolve dynamic credentials without execution context for "${credentialsResolveMetadata.name}"`);
|
|
138
144
|
}
|
|
145
|
+
getDynamicCredentialsEndpointsMiddleware() {
|
|
146
|
+
const { endpointAuthToken } = this.dynamicCredentialConfig;
|
|
147
|
+
if (!endpointAuthToken?.trim()) {
|
|
148
|
+
return (_req, res, _next) => {
|
|
149
|
+
this.logger.error('Dynamic credentials external endpoints require an endpoint auth token. Please set the N8N_DYNAMIC_CREDENTIALS_ENDPOINT_AUTH_TOKEN environment variable to enable access.');
|
|
150
|
+
res.status(500).json({
|
|
151
|
+
message: 'Dynamic credentials configuration is invalid. Check server logs for details.',
|
|
152
|
+
});
|
|
153
|
+
return;
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
return static_auth_service_1.StaticAuthService.getStaticAuthMiddleware(endpointAuthToken, 'x-authorization');
|
|
157
|
+
}
|
|
139
158
|
};
|
|
140
159
|
exports.DynamicCredentialService = DynamicCredentialService;
|
|
141
160
|
exports.DynamicCredentialService = DynamicCredentialService = __decorate([
|
|
142
161
|
(0, di_1.Service)(),
|
|
143
|
-
__metadata("design:paramtypes", [
|
|
162
|
+
__metadata("design:paramtypes", [dynamic_credentials_config_1.DynamicCredentialsConfig,
|
|
163
|
+
credential_resolver_registry_service_1.DynamicCredentialResolverRegistry,
|
|
144
164
|
credential_resolver_repository_1.DynamicCredentialResolverRepository,
|
|
145
165
|
load_nodes_and_credentials_1.LoadNodesAndCredentials,
|
|
146
166
|
n8n_core_1.Cipher,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-credential.service.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/dynamic-credential.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAC7C,gDAAsE;AACtE,gCAAkC;
|
|
1
|
+
{"version":3,"file":"dynamic-credential.service.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/services/dynamic-credential.service.ts"],"names":[],"mappings":"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"}
|