@herrromich/az-functions 1.0.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/LICENSE +21 -0
- package/README.md +830 -0
- package/coverage/cobertura-coverage.xml +3482 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/context/forked-invocation-context.ts.html +127 -0
- package/coverage/lcov-report/context/index.html +191 -0
- package/coverage/lcov-report/context/index.ts.html +97 -0
- package/coverage/lcov-report/context/platform-context.manager.ts.html +193 -0
- package/coverage/lcov-report/context/platform-context.model.ts.html +262 -0
- package/coverage/lcov-report/context/platform-context.provider.ts.html +196 -0
- package/coverage/lcov-report/context/platform.execution.context.ts.html +217 -0
- package/coverage/lcov-report/context/wrapped-invocation-context.ts.html +163 -0
- package/coverage/lcov-report/event-hub-handler/azure-event-hub-trigger.model.ts.html +187 -0
- package/coverage/lcov-report/event-hub-handler/azure-event-hub-trigger.service.ts.html +760 -0
- package/coverage/lcov-report/event-hub-handler/decorators/decorators.model.ts.html +292 -0
- package/coverage/lcov-report/event-hub-handler/decorators/decorators.ts.html +778 -0
- package/coverage/lcov-report/event-hub-handler/decorators/index.html +146 -0
- package/coverage/lcov-report/event-hub-handler/decorators/index.ts.html +91 -0
- package/coverage/lcov-report/event-hub-handler/event-hub-handle-method-args-metadata.service.ts.html +130 -0
- package/coverage/lcov-report/event-hub-handler/event-hub-handler-metadata.reader.ts.html +199 -0
- package/coverage/lcov-report/event-hub-handler/event-hub-handler-registration.service.ts.html +220 -0
- package/coverage/lcov-report/event-hub-handler/event-hub-handler.factory.ts.html +283 -0
- package/coverage/lcov-report/event-hub-handler/event-hub-handler.model.ts.html +421 -0
- package/coverage/lcov-report/event-hub-handler/event-hub-handler.provider.ts.html +187 -0
- package/coverage/lcov-report/event-hub-handler/event-hub-trigger-support.factory.ts.html +787 -0
- package/coverage/lcov-report/event-hub-handler/event-hub-trigger-support.service.ts.html +829 -0
- package/coverage/lcov-report/event-hub-handler/event-hub-trigger.model.ts.html +193 -0
- package/coverage/lcov-report/event-hub-handler/event-hub-trigger.service.ts.html +859 -0
- package/coverage/lcov-report/event-hub-handler/event-hub-triggers-registration.service.ts.html +307 -0
- package/coverage/lcov-report/event-hub-handler/index.html +221 -0
- package/coverage/lcov-report/event-hub-handler/index.ts.html +142 -0
- package/coverage/lcov-report/eventhub-handler/decorators/decorators.model.ts.html +277 -0
- package/coverage/lcov-report/eventhub-handler/decorators/decorators.ts.html +679 -0
- package/coverage/lcov-report/eventhub-handler/decorators/index.html +131 -0
- package/coverage/lcov-report/eventhub-handler/eventhub-handler-metadata.reader.ts.html +196 -0
- package/coverage/lcov-report/eventhub-handler/eventhub-handler-registration.service.ts.html +220 -0
- package/coverage/lcov-report/eventhub-handler/eventhub-handler.factory.ts.html +193 -0
- package/coverage/lcov-report/eventhub-handler/eventhub-handler.model.ts.html +406 -0
- package/coverage/lcov-report/eventhub-handler/eventhub-trigger.model.ts.html +187 -0
- package/coverage/lcov-report/eventhub-handler/eventhub-trigger.service.ts.html +760 -0
- package/coverage/lcov-report/eventhub-handler/eventhub-triggers-registration.service.ts.html +304 -0
- package/coverage/lcov-report/eventhub-handler/index.html +206 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/forked-invocation-context.ts.html +127 -0
- package/coverage/lcov-report/function-handler-metadata.reader.ts.html +172 -0
- package/coverage/lcov-report/http-controller/authentication.provider.ts.html +481 -0
- package/coverage/lcov-report/http-controller/authenticator.provider.ts.html +460 -0
- package/coverage/lcov-report/http-controller/azure-http-trigger.service.ts.html +1045 -0
- package/coverage/lcov-report/http-controller/decorators/decorators.model.ts.html +388 -0
- package/coverage/lcov-report/http-controller/decorators/decorators.ts.html +1627 -0
- package/coverage/lcov-report/http-controller/decorators/index.html +146 -0
- package/coverage/lcov-report/http-controller/decorators/index.ts.html +94 -0
- package/coverage/lcov-report/http-controller/http-controller-metadata.reader.ts.html +271 -0
- package/coverage/lcov-report/http-controller/http-controller-metadata.service.ts.html +130 -0
- package/coverage/lcov-report/http-controller/http-controller-platform.model.ts.html +187 -0
- package/coverage/lcov-report/http-controller/http-controller-registration.service.ts.html +241 -0
- package/coverage/lcov-report/http-controller/http-controller.model.ts.html +745 -0
- package/coverage/lcov-report/http-controller/http-handler-support.factory.ts.html +499 -0
- package/coverage/lcov-report/http-controller/http-handler.factory.ts.html +415 -0
- package/coverage/lcov-report/http-controller/http-operation-registration.service.ts.html +328 -0
- package/coverage/lcov-report/http-controller/http-operations-registration.service.ts.html +328 -0
- package/coverage/lcov-report/http-controller/http-request-arg-provider.factory.ts.html +580 -0
- package/coverage/lcov-report/http-controller/http-request-handler.provider.ts.html +388 -0
- package/coverage/lcov-report/http-controller/http-response-processor.factory.ts.html +316 -0
- package/coverage/lcov-report/http-controller/index.html +311 -0
- package/coverage/lcov-report/http-controller/index.ts.html +226 -0
- package/coverage/lcov-report/http-controller/open-api-definition.service.ts.html +568 -0
- package/coverage/lcov-report/http-controller/open-api-metadata.service.ts.html +373 -0
- package/coverage/lcov-report/http-controller/open-api-print.service.ts.html +232 -0
- package/coverage/lcov-report/http-controller/open-api-registration.service.ts.html +220 -0
- package/coverage/lcov-report/http-controller/rest-open-api.regstry.ts.html +262 -0
- package/coverage/lcov-report/http-controller/security/authentication-service.factory.ts.html +280 -0
- package/coverage/lcov-report/http-controller/security/authentication-service.ts.html +115 -0
- package/coverage/lcov-report/http-controller/security/authenticator.provider.ts.html +799 -0
- package/coverage/lcov-report/http-controller/security/bearer-security-authentication.service.ts.html +133 -0
- package/coverage/lcov-report/http-controller/security/index.html +206 -0
- package/coverage/lcov-report/http-controller/security/index.ts.html +94 -0
- package/coverage/lcov-report/http-controller/security/model.ts.html +133 -0
- package/coverage/lcov-report/http-controller/security/operation-authentication.resolver.ts.html +418 -0
- package/coverage/lcov-report/http-controller/security/principal-merge.service.ts.html +163 -0
- package/coverage/lcov-report/http-controller/security/strict-principal-merge.servce.ts.html +154 -0
- package/coverage/lcov-report/http-controller/swagger-handling.service.ts.html +463 -0
- package/coverage/lcov-report/index.html +281 -0
- package/coverage/lcov-report/init.ts.html +97 -0
- package/coverage/lcov-report/ioc-container.utils.ts.html +100 -0
- package/coverage/lcov-report/logger/azure-log-transport.service.ts.html +433 -0
- package/coverage/lcov-report/logger/bindings.ts.html +253 -0
- package/coverage/lcov-report/logger/index.html +221 -0
- package/coverage/lcov-report/logger/index.ts.html +163 -0
- package/coverage/lcov-report/logger/log-level.service.ts.html +127 -0
- package/coverage/lcov-report/logger/log-transport.service.ts.html +571 -0
- package/coverage/lcov-report/logger/logger-factory.provider.ts.html +142 -0
- package/coverage/lcov-report/logger/logger.factory.ts.html +172 -0
- package/coverage/lcov-report/logger/logger.model.ts.html +868 -0
- package/coverage/lcov-report/logger/logger.utils.ts.html +877 -0
- package/coverage/lcov-report/logger/model.ts.html +172 -0
- package/coverage/lcov-report/logger/otel.logger.ts.html +358 -0
- package/coverage/lcov-report/logger/platform.logger.ts.html +229 -0
- package/coverage/lcov-report/logger/trie-search.service.ts.html +616 -0
- package/coverage/lcov-report/platform/azure-platform.ts.html +256 -0
- package/coverage/lcov-report/platform/index.html +176 -0
- package/coverage/lcov-report/platform/index.ts.html +139 -0
- package/coverage/lcov-report/platform/platform-component-metadata.service.ts.html +115 -0
- package/coverage/lcov-report/platform/register-function.factory.ts.html +145 -0
- package/coverage/lcov-report/platform/register-trigger-handler.factory.ts.html +214 -0
- package/coverage/lcov-report/platform/security-context.ts.html +127 -0
- package/coverage/lcov-report/platform/startup.service.ts.html +106 -0
- package/coverage/lcov-report/platform/system-logger-name.provider.ts.html +145 -0
- package/coverage/lcov-report/platform/system.container.ts.html +169 -0
- package/coverage/lcov-report/platform-context.model.ts.html +124 -0
- package/coverage/lcov-report/platform.logger.ts.html +316 -0
- package/coverage/lcov-report/platform.model.ts.html +292 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/security/index.html +146 -0
- package/coverage/lcov-report/security/index.ts.html +91 -0
- package/coverage/lcov-report/security/security-context.ts.html +130 -0
- package/coverage/lcov-report/security/security.model.ts.html +169 -0
- package/coverage/lcov-report/shared/all-settled.util.ts.html +118 -0
- package/coverage/lcov-report/shared/decorators/decorators.model.ts.html +136 -0
- package/coverage/lcov-report/shared/decorators/decorators.ts.html +346 -0
- package/coverage/lcov-report/shared/decorators/index.html +146 -0
- package/coverage/lcov-report/shared/decorators/index.ts.html +91 -0
- package/coverage/lcov-report/shared/function-handler-metadata.reader.ts.html +172 -0
- package/coverage/lcov-report/shared/index.html +176 -0
- package/coverage/lcov-report/shared/index.ts.html +133 -0
- package/coverage/lcov-report/shared/ioc-container.utils.ts.html +115 -0
- package/coverage/lcov-report/shared/platform-context-local-storage.ts.html +133 -0
- package/coverage/lcov-report/shared/platform-context.manager.ts.html +253 -0
- package/coverage/lcov-report/shared/platform.context.provider.ts.html +136 -0
- package/coverage/lcov-report/shared/platform.model.ts.html +298 -0
- package/coverage/lcov-report/shared/security.model.ts.html +142 -0
- package/coverage/lcov-report/shared/trie-search.service.ts.html +337 -0
- package/coverage/lcov-report/shared/trigger-handler-metadata.reader.ts.html +166 -0
- package/coverage/lcov-report/shared/zod-parser-wrapper.service.ts.html +217 -0
- package/coverage/lcov-report/shared/zod-parser-wrapper.ts.html +232 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov-report/src/context/index.html +191 -0
- package/coverage/lcov-report/src/context/index.ts.html +97 -0
- package/coverage/lcov-report/src/context/platform-context.manager.ts.html +193 -0
- package/coverage/lcov-report/src/context/platform-context.model.ts.html +262 -0
- package/coverage/lcov-report/src/context/platform-context.provider.ts.html +196 -0
- package/coverage/lcov-report/src/context/platform.execution.context.ts.html +217 -0
- package/coverage/lcov-report/src/context/wrapped-invocation-context.ts.html +163 -0
- package/coverage/lcov-report/src/event-hub-handler/azure-event-hub-trigger.model.ts.html +187 -0
- package/coverage/lcov-report/src/event-hub-handler/azure-event-hub-trigger.service.ts.html +769 -0
- package/coverage/lcov-report/src/event-hub-handler/decorators/decorators.model.ts.html +313 -0
- package/coverage/lcov-report/src/event-hub-handler/decorators/decorators.ts.html +778 -0
- package/coverage/lcov-report/src/event-hub-handler/decorators/index.html +146 -0
- package/coverage/lcov-report/src/event-hub-handler/decorators/index.ts.html +91 -0
- package/coverage/lcov-report/src/event-hub-handler/event-hub-handle-method-args-metadata.service.ts.html +130 -0
- package/coverage/lcov-report/src/event-hub-handler/event-hub-handler-metadata.reader.ts.html +199 -0
- package/coverage/lcov-report/src/event-hub-handler/event-hub-handler-registration.service.ts.html +220 -0
- package/coverage/lcov-report/src/event-hub-handler/event-hub-handler.factory.ts.html +283 -0
- package/coverage/lcov-report/src/event-hub-handler/event-hub-handler.model.ts.html +421 -0
- package/coverage/lcov-report/src/event-hub-handler/event-hub-handler.provider.ts.html +187 -0
- package/coverage/lcov-report/src/event-hub-handler/event-hub-trigger-support.factory.ts.html +787 -0
- package/coverage/lcov-report/src/event-hub-handler/event-hub-trigger-support.service.ts.html +832 -0
- package/coverage/lcov-report/src/event-hub-handler/event-hub-trigger.model.ts.html +193 -0
- package/coverage/lcov-report/src/event-hub-handler/event-hub-trigger.service.ts.html +859 -0
- package/coverage/lcov-report/src/event-hub-handler/event-hub-triggers-registration.service.ts.html +307 -0
- package/coverage/lcov-report/src/event-hub-handler/index.html +221 -0
- package/coverage/lcov-report/src/event-hub-handler/index.ts.html +142 -0
- package/coverage/lcov-report/src/framework.container.ts.html +157 -0
- package/coverage/lcov-report/src/http-controller/authentication.provider.ts.html +481 -0
- package/coverage/lcov-report/src/http-controller/authenticator.provider.ts.html +460 -0
- package/coverage/lcov-report/src/http-controller/azure-http-trigger.service.ts.html +865 -0
- package/coverage/lcov-report/src/http-controller/decorators/decorators.model.ts.html +553 -0
- package/coverage/lcov-report/src/http-controller/decorators/decorators.ts.html +1633 -0
- package/coverage/lcov-report/src/http-controller/decorators/index.html +146 -0
- package/coverage/lcov-report/src/http-controller/decorators/index.ts.html +94 -0
- package/coverage/lcov-report/src/http-controller/http-controller-metadata.reader.ts.html +271 -0
- package/coverage/lcov-report/src/http-controller/http-controller-metadata.service.ts.html +121 -0
- package/coverage/lcov-report/src/http-controller/http-controller-platform.model.ts.html +187 -0
- package/coverage/lcov-report/src/http-controller/http-controller-registration.service.ts.html +241 -0
- package/coverage/lcov-report/src/http-controller/http-controller.model.ts.html +784 -0
- package/coverage/lcov-report/src/http-controller/http-handler-support.factory.ts.html +481 -0
- package/coverage/lcov-report/src/http-controller/http-handler.factory.ts.html +406 -0
- package/coverage/lcov-report/src/http-controller/http-operation-registration.service.ts.html +328 -0
- package/coverage/lcov-report/src/http-controller/http-operations-registration.service.ts.html +328 -0
- package/coverage/lcov-report/src/http-controller/http-request-arg-provider.factory.ts.html +580 -0
- package/coverage/lcov-report/src/http-controller/http-request-handler.provider.ts.html +388 -0
- package/coverage/lcov-report/src/http-controller/http-response-processor.factory.ts.html +316 -0
- package/coverage/lcov-report/src/http-controller/index.html +311 -0
- package/coverage/lcov-report/src/http-controller/index.ts.html +226 -0
- package/coverage/lcov-report/src/http-controller/open-api-definition.service.ts.html +550 -0
- package/coverage/lcov-report/src/http-controller/open-api-metadata.service.ts.html +373 -0
- package/coverage/lcov-report/src/http-controller/open-api-print.service.ts.html +232 -0
- package/coverage/lcov-report/src/http-controller/open-api-registration.service.ts.html +220 -0
- package/coverage/lcov-report/src/http-controller/rest-open-api.regstry.ts.html +262 -0
- package/coverage/lcov-report/src/http-controller/security/authentication-service.factory.ts.html +280 -0
- package/coverage/lcov-report/src/http-controller/security/authentication-service.ts.html +139 -0
- package/coverage/lcov-report/src/http-controller/security/authenticator.provider.ts.html +799 -0
- package/coverage/lcov-report/src/http-controller/security/bearer-security-authentication.service.ts.html +133 -0
- package/coverage/lcov-report/src/http-controller/security/index.html +206 -0
- package/coverage/lcov-report/src/http-controller/security/index.ts.html +94 -0
- package/coverage/lcov-report/src/http-controller/security/model.ts.html +133 -0
- package/coverage/lcov-report/src/http-controller/security/operation-authentication.resolver.ts.html +418 -0
- package/coverage/lcov-report/src/http-controller/security/principal-merge.service.ts.html +163 -0
- package/coverage/lcov-report/src/http-controller/security/strict-principal-merge.servce.ts.html +154 -0
- package/coverage/lcov-report/src/http-controller/swagger-handling.service.ts.html +463 -0
- package/coverage/lcov-report/src/index.html +161 -0
- package/coverage/lcov-report/src/init.ts.html +97 -0
- package/coverage/lcov-report/src/logger/azure-log-transport.service.ts.html +433 -0
- package/coverage/lcov-report/src/logger/bindings.ts.html +253 -0
- package/coverage/lcov-report/src/logger/index.html +221 -0
- package/coverage/lcov-report/src/logger/index.ts.html +163 -0
- package/coverage/lcov-report/src/logger/log-level.service.ts.html +127 -0
- package/coverage/lcov-report/src/logger/log-transport.service.ts.html +571 -0
- package/coverage/lcov-report/src/logger/logger-factory.provider.ts.html +142 -0
- package/coverage/lcov-report/src/logger/logger.factory.ts.html +172 -0
- package/coverage/lcov-report/src/logger/logger.model.ts.html +868 -0
- package/coverage/lcov-report/src/logger/logger.utils.ts.html +877 -0
- package/coverage/lcov-report/src/logger/otel.logger.ts.html +358 -0
- package/coverage/lcov-report/src/logger/platform.logger.ts.html +229 -0
- package/coverage/lcov-report/src/logger/trie-search.service.ts.html +616 -0
- package/coverage/lcov-report/src/middleware.ts.html +232 -0
- package/coverage/lcov-report/src/platform/azure-platform.ts.html +256 -0
- package/coverage/lcov-report/src/platform/index.html +176 -0
- package/coverage/lcov-report/src/platform/index.ts.html +139 -0
- package/coverage/lcov-report/src/platform/platform-component-metadata.service.ts.html +115 -0
- package/coverage/lcov-report/src/platform/register-function.factory.ts.html +145 -0
- package/coverage/lcov-report/src/platform/register-trigger-handler.factory.ts.html +214 -0
- package/coverage/lcov-report/src/platform/security-context.ts.html +127 -0
- package/coverage/lcov-report/src/platform/startup.service.ts.html +202 -0
- package/coverage/lcov-report/src/platform/system-logger-name.provider.ts.html +145 -0
- package/coverage/lcov-report/src/platform/system.container.ts.html +172 -0
- package/coverage/lcov-report/src/platform.container.ts.html +148 -0
- package/coverage/lcov-report/src/security/index.html +146 -0
- package/coverage/lcov-report/src/security/index.ts.html +91 -0
- package/coverage/lcov-report/src/security/security-context.ts.html +175 -0
- package/coverage/lcov-report/src/security/security.model.ts.html +223 -0
- package/coverage/lcov-report/src/shared/decorators/decorators.model.ts.html +136 -0
- package/coverage/lcov-report/src/shared/decorators/decorators.ts.html +346 -0
- package/coverage/lcov-report/src/shared/decorators/index.html +146 -0
- package/coverage/lcov-report/src/shared/decorators/index.ts.html +91 -0
- package/coverage/lcov-report/src/shared/index.html +176 -0
- package/coverage/lcov-report/src/shared/index.ts.html +133 -0
- package/coverage/lcov-report/src/shared/ioc-container.utils.ts.html +115 -0
- package/coverage/lcov-report/src/shared/platform-context-local-storage.ts.html +133 -0
- package/coverage/lcov-report/src/shared/platform.model.ts.html +298 -0
- package/coverage/lcov-report/src/shared/security.model.ts.html +139 -0
- package/coverage/lcov-report/src/shared/trie-search.service.ts.html +337 -0
- package/coverage/lcov-report/src/shared/trigger-handler-metadata.reader.ts.html +166 -0
- package/coverage/lcov-report/src/shared/zod-parser-wrapper.ts.html +232 -0
- package/coverage/lcov-report/test/index.html +116 -0
- package/coverage/lcov-report/test/utils.ts.html +100 -0
- package/coverage/lcov-report/test-utils/index.html +116 -0
- package/coverage/lcov-report/test-utils/utils.ts.html +100 -0
- package/coverage/lcov-report/trie-search.service.ts.html +469 -0
- package/coverage/lcov-report/trigger-handler-metadata.reader.ts.html +187 -0
- package/coverage/lcov-report/wrapped-invocation-context.ts.html +163 -0
- package/coverage/lcov-report/zod-parser-wrapper.ts.html +232 -0
- package/coverage/lcov.info +3220 -0
- package/dist/assets/swagger-ui/LICENSE +202 -0
- package/dist/assets/swagger-ui/NOTICE +2 -0
- package/dist/assets/swagger-ui/README.md +40 -0
- package/dist/assets/swagger-ui/absolute-path.js +1 -0
- package/dist/assets/swagger-ui/favicon-16x16.png +0 -0
- package/dist/assets/swagger-ui/favicon-32x32.png +0 -0
- package/dist/assets/swagger-ui/index.css +16 -0
- package/dist/assets/swagger-ui/index.html +19 -0
- package/dist/assets/swagger-ui/index.js +1 -0
- package/dist/assets/swagger-ui/log.bundle-sizes.swagger-ui.txt +114 -0
- package/dist/assets/swagger-ui/log.es-bundle-core-sizes.swagger-ui.txt +14 -0
- package/dist/assets/swagger-ui/log.es-bundle-sizes.swagger-ui.txt +114 -0
- package/dist/assets/swagger-ui/oauth2-redirect.html +6 -0
- package/dist/assets/swagger-ui/oauth2-redirect.js +1 -0
- package/dist/assets/swagger-ui/package.json +20 -0
- package/dist/assets/swagger-ui/swagger-initializer.js +1 -0
- package/dist/assets/swagger-ui/swagger-ui-bundle.js +2 -0
- package/dist/assets/swagger-ui/swagger-ui-bundle.js.LICENSE.txt +106 -0
- package/dist/assets/swagger-ui/swagger-ui-bundle.js.map +1 -0
- package/dist/assets/swagger-ui/swagger-ui-es-bundle-core.js +2 -0
- package/dist/assets/swagger-ui/swagger-ui-es-bundle-core.js.LICENSE.txt +35 -0
- package/dist/assets/swagger-ui/swagger-ui-es-bundle-core.js.map +1 -0
- package/dist/assets/swagger-ui/swagger-ui-es-bundle.js +2 -0
- package/dist/assets/swagger-ui/swagger-ui-es-bundle.js.LICENSE.txt +106 -0
- package/dist/assets/swagger-ui/swagger-ui-es-bundle.js.map +1 -0
- package/dist/assets/swagger-ui/swagger-ui-standalone-preset.js +2 -0
- package/dist/assets/swagger-ui/swagger-ui-standalone-preset.js.LICENSE.txt +22 -0
- package/dist/assets/swagger-ui/swagger-ui-standalone-preset.js.map +1 -0
- package/dist/assets/swagger-ui/swagger-ui.css +3 -0
- package/dist/assets/swagger-ui/swagger-ui.css.map +1 -0
- package/dist/assets/swagger-ui/swagger-ui.js +1 -0
- package/dist/assets/swagger-ui/swagger-ui.js.map +1 -0
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.LICENSE.txt +24 -0
- package/dist/src/context/index.d.ts +4 -0
- package/dist/src/context/platform-context.manager.d.ts +23 -0
- package/dist/src/context/platform-context.model.d.ts +56 -0
- package/dist/src/context/platform-context.provider.d.ts +23 -0
- package/dist/src/context/platform.execution.context.d.ts +13 -0
- package/dist/src/context/wrapped-invocation-context.d.ts +5 -0
- package/dist/src/event-hub-handler/decorators/decorators.d.ts +161 -0
- package/dist/src/event-hub-handler/decorators/decorators.model.d.ts +62 -0
- package/dist/src/event-hub-handler/decorators/index.d.ts +2 -0
- package/dist/src/event-hub-handler/event-hub-handler-metadata.reader.d.ts +8 -0
- package/dist/src/event-hub-handler/event-hub-handler-registration.service.d.ts +12 -0
- package/dist/src/event-hub-handler/event-hub-handler.factory.d.ts +13 -0
- package/dist/src/event-hub-handler/event-hub-handler.model.d.ts +101 -0
- package/dist/src/event-hub-handler/event-hub-trigger-support.factory.d.ts +10 -0
- package/dist/src/event-hub-handler/event-hub-trigger.model.d.ts +39 -0
- package/dist/src/event-hub-handler/event-hub-triggers-registration.service.d.ts +18 -0
- package/dist/src/event-hub-handler/index.d.ts +4 -0
- package/dist/src/framework.container.d.ts +6 -0
- package/dist/src/http-controller/decorators/decorators.d.ts +410 -0
- package/dist/src/http-controller/decorators/decorators.model.d.ts +123 -0
- package/dist/src/http-controller/decorators/index.d.ts +3 -0
- package/dist/src/http-controller/http-controller-metadata.reader.d.ts +8 -0
- package/dist/src/http-controller/http-controller-registration.service.d.ts +12 -0
- package/dist/src/http-controller/http-controller.model.d.ts +131 -0
- package/dist/src/http-controller/http-handler-support.factory.d.ts +26 -0
- package/dist/src/http-controller/http-handler.factory.d.ts +16 -0
- package/dist/src/http-controller/http-operations-registration.service.d.ts +22 -0
- package/dist/src/http-controller/http-request-arg-provider.factory.d.ts +12 -0
- package/dist/src/http-controller/http-response-processor.factory.d.ts +10 -0
- package/dist/src/http-controller/index.d.ts +11 -0
- package/dist/src/http-controller/open-api-definition.service.d.ts +29 -0
- package/dist/src/http-controller/open-api-metadata.service.d.ts +11 -0
- package/dist/src/http-controller/open-api-print.service.d.ts +8 -0
- package/dist/src/http-controller/open-api-registration.service.d.ts +17 -0
- package/dist/src/http-controller/security/authentication-service.d.ts +15 -0
- package/dist/src/http-controller/security/authenticator.provider.d.ts +31 -0
- package/dist/src/http-controller/security/bearer-security-authentication.service.d.ts +9 -0
- package/dist/src/http-controller/security/bearer-token.service.d.ts +5 -0
- package/dist/src/http-controller/security/index.d.ts +3 -0
- package/dist/src/http-controller/security/operation-authentication.resolver.d.ts +18 -0
- package/dist/src/http-controller/security/principal-merge.service.d.ts +11 -0
- package/dist/src/http-controller/security/strict-principal-merge.servce.d.ts +5 -0
- package/dist/src/http-controller/swagger-handling.service.d.ts +11 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/init.d.ts +1 -0
- package/dist/src/logger/bindings.d.ts +7 -0
- package/dist/src/logger/index.d.ts +6 -0
- package/dist/src/logger/log-level.service.d.ts +7 -0
- package/dist/src/logger/log-transport.service.d.ts +19 -0
- package/dist/src/logger/logger.model.d.ts +241 -0
- package/dist/src/logger/logger.utils.d.ts +17 -0
- package/dist/src/logger/otel.logger.d.ts +9 -0
- package/dist/src/logger/trie-search.service.d.ts +65 -0
- package/dist/src/middleware.d.ts +10 -0
- package/dist/src/platform/azure-platform.d.ts +15 -0
- package/dist/src/platform/index.d.ts +5 -0
- package/dist/src/platform/model.d.ts +18 -0
- package/dist/src/platform/register-trigger-handler.factory.d.ts +5 -0
- package/dist/src/platform/startup.service.d.ts +36 -0
- package/dist/src/platform/system-logger-name.provider.d.ts +1 -0
- package/dist/src/platform.container.d.ts +3 -0
- package/dist/src/security/index.d.ts +2 -0
- package/dist/src/security/security-context.d.ts +22 -0
- package/dist/src/security/security.model.d.ts +37 -0
- package/dist/src/shared/decorators/decorators.d.ts +37 -0
- package/dist/src/shared/decorators/decorators.model.d.ts +13 -0
- package/dist/src/shared/decorators/index.d.ts +2 -0
- package/dist/src/shared/index.d.ts +8 -0
- package/dist/src/shared/ioc-container.utils.d.ts +7 -0
- package/dist/src/shared/platform.model.d.ts +44 -0
- package/dist/src/shared/trigger-handler-metadata.reader.d.ts +6 -0
- package/dist/src/shared/zod-parser-wrapper.d.ts +5 -0
- package/docs/logging.md +805 -0
- package/package.json +87 -0
- package/src/context/index.ts +4 -0
- package/src/context/platform-context.manager.ts +36 -0
- package/src/context/platform-context.model.ts +59 -0
- package/src/context/platform-context.provider.ts +37 -0
- package/src/context/platform.execution.context.ts +44 -0
- package/src/context/wrapped-invocation-context.ts +26 -0
- package/src/event-hub-handler/decorators/decorators.model.ts +76 -0
- package/src/event-hub-handler/decorators/decorators.ts +231 -0
- package/src/event-hub-handler/decorators/index.ts +2 -0
- package/src/event-hub-handler/event-hub-handler-metadata.reader.ts +38 -0
- package/src/event-hub-handler/event-hub-handler-registration.service.ts +45 -0
- package/src/event-hub-handler/event-hub-handler.factory.ts +66 -0
- package/src/event-hub-handler/event-hub-handler.model.ts +112 -0
- package/src/event-hub-handler/event-hub-trigger-support.factory.ts +234 -0
- package/src/event-hub-handler/event-hub-trigger.model.ts +36 -0
- package/src/event-hub-handler/event-hub-triggers-registration.service.ts +74 -0
- package/src/event-hub-handler/index.ts +19 -0
- package/src/framework.container.ts +24 -0
- package/src/http-controller/decorators/decorators.model.ts +156 -0
- package/src/http-controller/decorators/decorators.ts +516 -0
- package/src/http-controller/decorators/index.ts +3 -0
- package/src/http-controller/http-controller-metadata.reader.ts +62 -0
- package/src/http-controller/http-controller-registration.service.ts +52 -0
- package/src/http-controller/http-controller.model.ts +233 -0
- package/src/http-controller/http-handler-support.factory.ts +132 -0
- package/src/http-controller/http-handler.factory.ts +107 -0
- package/src/http-controller/http-operations-registration.service.ts +81 -0
- package/src/http-controller/http-request-arg-provider.factory.ts +165 -0
- package/src/http-controller/http-response-processor.factory.ts +77 -0
- package/src/http-controller/index.ts +47 -0
- package/src/http-controller/open-api-definition.service.ts +155 -0
- package/src/http-controller/open-api-metadata.service.ts +96 -0
- package/src/http-controller/open-api-print.service.ts +49 -0
- package/src/http-controller/open-api-registration.service.ts +45 -0
- package/src/http-controller/security/authentication-service.ts +18 -0
- package/src/http-controller/security/authenticator.provider.ts +238 -0
- package/src/http-controller/security/bearer-security-authentication.service.ts +16 -0
- package/src/http-controller/security/bearer-token.service.ts +6 -0
- package/src/http-controller/security/index.ts +3 -0
- package/src/http-controller/security/operation-authentication.resolver.ts +111 -0
- package/src/http-controller/security/principal-merge.service.ts +26 -0
- package/src/http-controller/security/strict-principal-merge.servce.ts +23 -0
- package/src/http-controller/swagger-handling.service.ts +126 -0
- package/src/index.ts +80 -0
- package/src/init.ts +4 -0
- package/src/logger/bindings.ts +56 -0
- package/src/logger/index.ts +26 -0
- package/src/logger/log-level.service.ts +14 -0
- package/src/logger/log-transport.service.ts +162 -0
- package/src/logger/logger.model.ts +261 -0
- package/src/logger/logger.utils.ts +264 -0
- package/src/logger/otel.logger.ts +91 -0
- package/src/logger/trie-search.service.ts +177 -0
- package/src/middleware.ts +49 -0
- package/src/platform/azure-platform.ts +57 -0
- package/src/platform/index.ts +18 -0
- package/src/platform/model.ts +19 -0
- package/src/platform/register-trigger-handler.factory.ts +43 -0
- package/src/platform/startup.service.ts +39 -0
- package/src/platform/system-logger-name.provider.ts +20 -0
- package/src/platform.container.ts +21 -0
- package/src/security/index.ts +2 -0
- package/src/security/security-context.ts +30 -0
- package/src/security/security.model.ts +46 -0
- package/src/shared/decorators/decorators.model.ts +17 -0
- package/src/shared/decorators/decorators.ts +87 -0
- package/src/shared/decorators/index.ts +2 -0
- package/src/shared/index.ts +16 -0
- package/src/shared/ioc-container.utils.ts +10 -0
- package/src/shared/platform.model.ts +71 -0
- package/src/shared/trigger-handler-metadata.reader.ts +27 -0
- package/src/shared/zod-parser-wrapper.ts +49 -0
- package/src/test-utilities/index.ts +1 -0
- package/src/test-utilities/utils.ts +5 -0
- package/tsconfig.test.json +8 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* mime-db
|
|
3
|
+
* Copyright(c) 2014 Jonathan Ong
|
|
4
|
+
* Copyright(c) 2015-2022 Douglas Christopher Wilson
|
|
5
|
+
* MIT Licensed
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/*!
|
|
9
|
+
* mime-types
|
|
10
|
+
* Copyright(c) 2014 Jonathan Ong
|
|
11
|
+
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
12
|
+
* MIT Licensed
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @license
|
|
19
|
+
* Lodash <https://lodash.com/>
|
|
20
|
+
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
21
|
+
* Released under MIT license <https://lodash.com/license>
|
|
22
|
+
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
23
|
+
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
24
|
+
*/
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PlatformContext } from './platform-context.model';
|
|
2
|
+
/**
|
|
3
|
+
* A unique identifier for the PlatformContextManager service.
|
|
4
|
+
* This identifier can be used for dependency injection and service resolution.
|
|
5
|
+
*/
|
|
6
|
+
export declare const PLATFORM_CONTEXT_MANAGER: import("inversify").ServiceIdentifier<PlatformContextManager>;
|
|
7
|
+
/**
|
|
8
|
+
* Interface representing a manager for PlatformContext instances.
|
|
9
|
+
* The manager provides methods to access the active context and to run code within a specific context.
|
|
10
|
+
*
|
|
11
|
+
* - `active()`: Returns the currently active PlatformContext, or undefined if no context is active.
|
|
12
|
+
* - `runWith(platformContext, callback)`: Runs the provided callback function within the specified PlatformContext.
|
|
13
|
+
* The callback will have access to the context during its execution.
|
|
14
|
+
*/
|
|
15
|
+
export interface PlatformContextManager {
|
|
16
|
+
active(): PlatformContext | undefined;
|
|
17
|
+
runWith<T>(platformContext: PlatformContext, callback: () => T): T;
|
|
18
|
+
}
|
|
19
|
+
export declare class BasePlatformContextManager implements PlatformContextManager {
|
|
20
|
+
private readonly storage;
|
|
21
|
+
runWith<T>(platformContext: PlatformContext, callback: () => T): T;
|
|
22
|
+
active(): PlatformContext | undefined;
|
|
23
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { InvocationContext } from '@azure/functions';
|
|
2
|
+
import { AzFunctionsRuntimeError } from '../shared';
|
|
3
|
+
/**
|
|
4
|
+
* Error class representing errors related to the platform context in Azure Functions.
|
|
5
|
+
* This class extends the AzFunctionsRuntimeError and can be used to throw errors specific to platform context operations.
|
|
6
|
+
*/
|
|
7
|
+
export declare class PlatformContextError extends AzFunctionsRuntimeError {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Type representing a unique key for storing and retrieving values in the PlatformContext.
|
|
11
|
+
* The key is created using a symbol, ensuring uniqueness across the application.
|
|
12
|
+
* The generic type parameter T allows for type safety when associating values with the key.
|
|
13
|
+
*
|
|
14
|
+
* @template T - The type of the value associated with the key.
|
|
15
|
+
*/
|
|
16
|
+
export type PlatformContextValueKey<T = unknown> = symbol & {
|
|
17
|
+
__type: T;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Creates a unique key for storing and retrieving values in the PlatformContext.
|
|
21
|
+
* The key is created using a symbol, ensuring uniqueness across the application.
|
|
22
|
+
*
|
|
23
|
+
* @template T - The type of the value associated with the key.
|
|
24
|
+
* @param key - The unique string identifier for the key.
|
|
25
|
+
* @returns A unique PlatformContextValueKey for the specified type.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* const MY_KEY = createPlatformContextValueKey<MyType>('MyUniqueKey');
|
|
29
|
+
*
|
|
30
|
+
* // Retrieve a value from the PlatformContext using the key
|
|
31
|
+
* const value = platformContext.getValue(MY_KEY);
|
|
32
|
+
*
|
|
33
|
+
* // Set a value in the PlatformContext using the key
|
|
34
|
+
* platformContext.setValue(MY_KEY, myValue);
|
|
35
|
+
*
|
|
36
|
+
* // Delete a value from the PlatformContext using the key
|
|
37
|
+
* platformContext.deleteValue(MY_KEY);
|
|
38
|
+
*/
|
|
39
|
+
export declare function createPlatformContextValueKey<T>(key: string): PlatformContextValueKey<T>;
|
|
40
|
+
/**
|
|
41
|
+
* Interface representing the platform context in Azure Functions.
|
|
42
|
+
* The PlatformContext provides access to the invocation context and allows storing and retrieving values associated with the context.
|
|
43
|
+
*
|
|
44
|
+
* - `invocationContext`: The InvocationContext associated with the current execution.
|
|
45
|
+
* - `getValue(key)`: Retrieves a value associated with the specified key from the context.
|
|
46
|
+
* - `setValue(key, value)`: Sets a value associated with the specified key in the context.
|
|
47
|
+
* - `deleteValue(key)`: Deletes a value associated with the specified key from the context.
|
|
48
|
+
* - `clone()`: Creates a deep copy of the current PlatformContext, preserving its values and invocation context.
|
|
49
|
+
*/
|
|
50
|
+
export interface PlatformContext {
|
|
51
|
+
readonly invocationContext: InvocationContext;
|
|
52
|
+
getValue<T>(key: PlatformContextValueKey<T>): T | undefined;
|
|
53
|
+
setValue<T>(key: PlatformContextValueKey<T>, value: T): PlatformContext;
|
|
54
|
+
deleteValue(key: PlatformContextValueKey): PlatformContext;
|
|
55
|
+
clone(): PlatformContext;
|
|
56
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { InvocationContext } from '@azure/functions';
|
|
2
|
+
import * as winston from 'winston';
|
|
3
|
+
import { PlatformContext } from './platform-context.model';
|
|
4
|
+
/**
|
|
5
|
+
* A unique identifier for the PlatformContextProvider service.
|
|
6
|
+
* This identifier can be used for dependency injection and service resolution.
|
|
7
|
+
*/
|
|
8
|
+
export declare const PLATFORM_CONTEXT_PROVIDER: import("inversify").ServiceIdentifier<PlatformContextProvider>;
|
|
9
|
+
/**
|
|
10
|
+
* Interface representing a provider for PlatformContext instances.
|
|
11
|
+
* The provider is responsible for creating and providing PlatformContext instances based on the given InvocationContext.
|
|
12
|
+
*
|
|
13
|
+
* - `providePlatformContext(invocationContext)`: Creates and returns a PlatformContext instance for the provided InvocationContext.
|
|
14
|
+
*/
|
|
15
|
+
export interface PlatformContextProvider {
|
|
16
|
+
providePlatformContext(invocationContext: InvocationContext): PlatformContext;
|
|
17
|
+
}
|
|
18
|
+
export declare const ORIGINAL_INVOCATION_CONTEXT_VALUE_KEY: import("./platform-context.model").PlatformContextValueKey<InvocationContext>;
|
|
19
|
+
export declare class PlatformExecutionContextProvider implements PlatformContextProvider {
|
|
20
|
+
private readonly logger;
|
|
21
|
+
constructor(logger: winston.Logger);
|
|
22
|
+
providePlatformContext(invocationContext: InvocationContext): PlatformContext;
|
|
23
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InvocationContext } from '@azure/functions';
|
|
2
|
+
import * as winston from 'winston';
|
|
3
|
+
import { PlatformContext, PlatformContextValueKey } from './platform-context.model';
|
|
4
|
+
export declare class PlatformExecutionContext implements PlatformContext {
|
|
5
|
+
private readonly data;
|
|
6
|
+
readonly invocationContext: InvocationContext;
|
|
7
|
+
private readonly logger;
|
|
8
|
+
constructor(invocationContext: InvocationContext, logger: winston.Logger);
|
|
9
|
+
getValue<T>(key: PlatformContextValueKey<T>): T | undefined;
|
|
10
|
+
setValue<T>(key: PlatformContextValueKey<T>, value: T): PlatformContext;
|
|
11
|
+
deleteValue(key: PlatformContextValueKey): PlatformContext;
|
|
12
|
+
clone(): PlatformContext;
|
|
13
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { EventHubHandlerConfig, EventHubTriggerMessageArgConfig, OnEventHubTriggerConfig } from './decorators.model';
|
|
2
|
+
/**
|
|
3
|
+
* Class decorator to define an Event Hub function handler.
|
|
4
|
+
* This decorator registers the class as an Event Hub handler with the specified configuration.
|
|
5
|
+
*
|
|
6
|
+
* @param config Configuration for the Event Hub handler, including the name and event hub details.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* @EventHubHandler({
|
|
11
|
+
* eventHubName: 'my-event-hub',
|
|
12
|
+
* connection: 'EventHubConnectionString',
|
|
13
|
+
* consumerGroup: '$Default',
|
|
14
|
+
* })
|
|
15
|
+
* class MyEventHubHandler implements OnEventHubTrigger {
|
|
16
|
+
*
|
|
17
|
+
* @OnEventHubTrigger({ cardinality: 'many' })
|
|
18
|
+
* async handle(
|
|
19
|
+
* @Messages({ withPayload: z.object({ id: z.string(), value: z.number() }) }) messages: EventHubMessageWrapper<{ id: string; value: number }>[],
|
|
20
|
+
* InvocationCtx: InvocationContext
|
|
21
|
+
* ): Promise<void> {
|
|
22
|
+
* for (const message of messages) {
|
|
23
|
+
* console.log(`Received Message with id: ${message.payload.id} and value: ${message.payload.value}`);
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function EventHubHandler(config: EventHubHandlerConfig): ClassDecorator;
|
|
30
|
+
/**
|
|
31
|
+
* Class decorator to define an Event Hub function handler.
|
|
32
|
+
* This decorator registers the class as an Event Hub handler with the specified configuration.
|
|
33
|
+
*
|
|
34
|
+
* @param config Configuration for the Event Hub handler, including the name and event hub details.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* const eventPayloadSchema = z.object({ id: z.string(), value: z.number() });
|
|
39
|
+
* type EventPayload = z.infer<typeof eventPayloadSchema>;
|
|
40
|
+
*
|
|
41
|
+
* @EventHubHandler({
|
|
42
|
+
* eventHubName: 'my-event-hub',
|
|
43
|
+
* connection: 'EventHubConnectionString',
|
|
44
|
+
* consumerGroup: '$Default',
|
|
45
|
+
* })
|
|
46
|
+
* class MyEventHubHandler {
|
|
47
|
+
* @OnEventHubTrigger({
|
|
48
|
+
* triggerId: 'my-event-hub-trigger',
|
|
49
|
+
* cardinality: 'many'
|
|
50
|
+
* })
|
|
51
|
+
* async handle(
|
|
52
|
+
* @Messages({ withPayload: eventPayloadSchema, withEventData: true }) messages: EventHubMessageWrapper<EventPayload, undefined, undefined, true>[],
|
|
53
|
+
* InvocationCtx: InvocationContext
|
|
54
|
+
* ): Promise<void> {
|
|
55
|
+
* for (const message of messages) {
|
|
56
|
+
* console.log(`Received Message with id: ${message.payload.id} and value: ${message.payload.value}, enqueued at: ${message.eventData.enqueuedTimeUtc}`);
|
|
57
|
+
* }
|
|
58
|
+
* }
|
|
59
|
+
* }
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function OnEventHubTrigger(config: OnEventHubTriggerConfig): MethodDecorator;
|
|
63
|
+
/**
|
|
64
|
+
* Parameter decorator to inject Event Hub Message data into the handler method.
|
|
65
|
+
*
|
|
66
|
+
* This decorator can be used to specify the structure of the Event Hub Message payload,
|
|
67
|
+
* system properties, and custom properties using Zod schemas.
|
|
68
|
+
*
|
|
69
|
+
* @param messageConfig
|
|
70
|
+
* Configuration for the Event Hub Message argument, including optional Zod schemas for payload, system properties, and custom properties.
|
|
71
|
+
* - `withPayload`: A Zod schema to validate and parse the Message payload.
|
|
72
|
+
* - `withSystemProperties`: A Zod schema to validate and parse the system properties of the Message. If not provided, system properties will not be included.
|
|
73
|
+
* - `withProperties`: A Zod schema to validate and parse custom properties of the Message. If not provided, custom properties will not be included.
|
|
74
|
+
* - `withEventData`: If set to true, includes the raw Event Hub event data in the argument.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* const eventPayloadSchema = z.object({ id: z.string(), value: z.number() });
|
|
79
|
+
* type EventPayload = z.infer<typeof eventPayloadSchema>;
|
|
80
|
+
*
|
|
81
|
+
* const eventAppPropertiesSchema = z.object({ APP_REGISTRATION_ID: z.string() });
|
|
82
|
+
* type EventAppProperties = z.infer<typeof eventAppPropertiesSchema>;
|
|
83
|
+
*
|
|
84
|
+
* class MyEventHubHandler implements OnEventHubTrigger {
|
|
85
|
+
* async handle(
|
|
86
|
+
* @Message({ withPayload: eventPayloadSchema, withProperties: eventAppPropertiesSchema
|
|
87
|
+
* }) Message: EventHubMessageWrapper<EventPayload, undefined, EventAppProperties>,
|
|
88
|
+
* @InvocationCtx() context: InvocationContext
|
|
89
|
+
* ): Promise<void> {
|
|
90
|
+
* context.log(`Received Message with id: ${Message.payload.id} and value: ${Message.payload.value}`);
|
|
91
|
+
* }
|
|
92
|
+
* }
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export declare function Message(messageConfig: EventHubTriggerMessageArgConfig): ParameterDecorator;
|
|
96
|
+
/**
|
|
97
|
+
* Parameter decorator to inject multiple Event Hub Messages into the handler method.
|
|
98
|
+
*
|
|
99
|
+
* This decorator can be used to specify the structure of the Event Hub Message payload,
|
|
100
|
+
* system properties, and custom properties using Zod schemas.
|
|
101
|
+
* @param messagesConfig
|
|
102
|
+
* Configuration for the Event Hub Messages argument, including optional Zod schemas for payload, system properties, and custom properties.
|
|
103
|
+
* - `withPayload`: A Zod schema to validate and parse the Message payload.
|
|
104
|
+
* - `withSystemProperties`: A Zod schema to validate and parse the system properties of the Message. If not provided, system properties will not be included.
|
|
105
|
+
* - `withProperties`: A Zod schema to validate and parse custom properties of the Message. If not provided, custom properties will not be included.
|
|
106
|
+
* - `withEventData`: If set to true, includes the raw Event Hub event data in the argument.
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```ts
|
|
110
|
+
const eventPayloadSchema = z.object({ id: z.string(), value: z.number() });
|
|
111
|
+
type EventPayload = z.infer<typeof eventPayloadSchema>;
|
|
112
|
+
|
|
113
|
+
* class MyEventHubHandler implements OnEventHubTrigger {
|
|
114
|
+
* async handle(
|
|
115
|
+
* @Messages({ withPayload: eventPayloadSchema }) messages: EventHubMessageWrapper<EventPayload>[],
|
|
116
|
+
* @InvocationCtx() context: InvocationContext
|
|
117
|
+
* ): Promise<void> {
|
|
118
|
+
* for (const message of messages) {
|
|
119
|
+
* context.log(`Received Message with id: ${message.payload.id} and value: ${message.payload.value}`);
|
|
120
|
+
* }
|
|
121
|
+
* }
|
|
122
|
+
* }
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
export declare function Messages(messagesConfig: EventHubTriggerMessageArgConfig): ParameterDecorator;
|
|
126
|
+
/**
|
|
127
|
+
* Parameter decorator to inject the raw Event Hub Message into the handler method.
|
|
128
|
+
* This decorator can be used when you need access to the complete Event Hub Message object,
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```ts
|
|
132
|
+
* class MyEventHubHandler implements OnEventHubTrigger {
|
|
133
|
+
* async handle(
|
|
134
|
+
* @RawMessage() message: unknown,
|
|
135
|
+
* @InvocationCtx() context: InvocationContext
|
|
136
|
+
* ): Promise<void> {
|
|
137
|
+
* context.log(`Received raw Message: ${JSON.stringify(message)}`);
|
|
138
|
+
* }
|
|
139
|
+
* }
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
export declare function RawMessage(): ParameterDecorator;
|
|
143
|
+
/**
|
|
144
|
+
* Parameter decorator to inject multiple raw Event Hub Messages into the handler method.
|
|
145
|
+
* This decorator can be used when you need access to the complete Event Hub Message objects,
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```ts
|
|
149
|
+
* class MyEventHubHandler implements OnEventHubTrigger {
|
|
150
|
+
* async handle(
|
|
151
|
+
* @RawMessages() messages: unknown[],
|
|
152
|
+
* @InvocationCtx() context: InvocationContext
|
|
153
|
+
* ): Promise<void> {
|
|
154
|
+
* for (const message of messages) {
|
|
155
|
+
* context.log(`Received raw Message: ${JSON.stringify(message)}`);
|
|
156
|
+
* }
|
|
157
|
+
* }
|
|
158
|
+
* }
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
export declare function RawMessages(): ParameterDecorator;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { EventHubFunctionOptions, EventHubTriggerOptions } from '@azure/functions';
|
|
2
|
+
import { ArgMetadata, CommonArgMetadata, TriggerHandlerClassMetadata } from '../../shared';
|
|
3
|
+
import { ZodType } from 'zod';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for an Event Hub handler.
|
|
6
|
+
* - `connection`: The name of the app setting that contains the Event Hub connection string.
|
|
7
|
+
* - `eventHubName`: The name of the Event Hub to listen to.
|
|
8
|
+
*/
|
|
9
|
+
export interface EventHubHandlerConfig {
|
|
10
|
+
connection: string;
|
|
11
|
+
eventHubName: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const EVENT_HUB_HANDLER_TYPE = "event-hub-handler";
|
|
14
|
+
export interface EventHubHandlerMetadata extends TriggerHandlerClassMetadata, EventHubHandlerConfig {
|
|
15
|
+
type: typeof EVENT_HUB_HANDLER_TYPE;
|
|
16
|
+
}
|
|
17
|
+
export type EventHubHandlerCardinality = EventHubTriggerOptions['cardinality'];
|
|
18
|
+
/**
|
|
19
|
+
* Configuration for an Event Hub handler.
|
|
20
|
+
* - `triggerId`: A unique identifier for the trigger.
|
|
21
|
+
* - `consumerGroup`: (Optional) The consumer group to use. Defaults to `$Default`.
|
|
22
|
+
* - `cardinality`: (Optional) The cardinality of the Messages, either 'one' or 'many'. Defaults to 'many'.
|
|
23
|
+
* - `extraInputs`: (Optional) Additional inputs for the function.
|
|
24
|
+
* - `extraOutputs`: (Optional) Additional outputs for the function.
|
|
25
|
+
*/
|
|
26
|
+
export type OnEventHubTriggerConfig = {
|
|
27
|
+
triggerId?: string;
|
|
28
|
+
consumerGroup?: string;
|
|
29
|
+
cardinality?: EventHubHandlerCardinality;
|
|
30
|
+
} & Pick<EventHubFunctionOptions, 'extraInputs' | 'extraOutputs'>;
|
|
31
|
+
/**
|
|
32
|
+
* Configuration for an Event Hub trigger message argument.
|
|
33
|
+
* - `withPayload`: (Optional) A Zod schema for the payload of the message. If not provided, the payload will be of type `unknown`.
|
|
34
|
+
* - `withSystemProperties`: (Optional) A Zod schema for the system properties of the message. If not provided, the system properties won't be included in the message argument.
|
|
35
|
+
* - `withProperties`: (Optional) A Zod schema for the custom properties of the message. If not provided, the properties won't be included in the message argument.
|
|
36
|
+
* - `withEventData`: (Optional) If true, includes the raw EventData in the message argument.
|
|
37
|
+
*/
|
|
38
|
+
export interface EventHubTriggerMessageArgConfig {
|
|
39
|
+
withPayload?: ZodType<unknown>;
|
|
40
|
+
withSystemProperties?: ZodType<unknown>;
|
|
41
|
+
withProperties?: ZodType<unknown>;
|
|
42
|
+
withEventData?: true;
|
|
43
|
+
}
|
|
44
|
+
export interface EventHubHandlerMessageArgMetadata {
|
|
45
|
+
payloadSchema?: ZodType<unknown>;
|
|
46
|
+
systemPropertiesSchema?: ZodType<unknown>;
|
|
47
|
+
propertiesSchema?: ZodType<unknown>;
|
|
48
|
+
isEventData?: true;
|
|
49
|
+
}
|
|
50
|
+
export interface EventHubHandlerDataArgMetadata extends EventHubHandlerMessageArgMetadata, ArgMetadata {
|
|
51
|
+
type: 'message' | 'messages';
|
|
52
|
+
}
|
|
53
|
+
export interface EventHubHandlerRawDataArgMetadata extends ArgMetadata {
|
|
54
|
+
type: 'rawMessage' | 'rawMessages';
|
|
55
|
+
}
|
|
56
|
+
export type EventHubHandlerArgMetadata = CommonArgMetadata | EventHubHandlerRawDataArgMetadata | EventHubHandlerDataArgMetadata;
|
|
57
|
+
export interface OnEventHubTriggerArgsMetadata {
|
|
58
|
+
args: EventHubHandlerArgMetadata[];
|
|
59
|
+
}
|
|
60
|
+
export type EventHubTriggerMetadata = {
|
|
61
|
+
type: typeof EVENT_HUB_HANDLER_TYPE;
|
|
62
|
+
} & OnEventHubTriggerConfig & OnEventHubTriggerArgsMetadata;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TriggerHandlerClass, TriggerHandlerMetadataReader } from '../shared';
|
|
2
|
+
import { EventHubHandlerMetadata, EventHubTriggerMetadata } from './decorators';
|
|
3
|
+
export declare class EventHubHandlerMetadataReader {
|
|
4
|
+
private readonly metadataReader;
|
|
5
|
+
constructor(metadataReader: TriggerHandlerMetadataReader);
|
|
6
|
+
getHandlerClassMetadata(azureFunction: TriggerHandlerClass): EventHubHandlerMetadata;
|
|
7
|
+
getTriggerMetadata(azureFunction: TriggerHandlerClass, operation: string): EventHubTriggerMetadata;
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Container } from 'inversify';
|
|
2
|
+
import { TriggerHandlerClass, TriggerHandlerRegistrationService } from '../shared';
|
|
3
|
+
import { EventHubHandlerFactory } from './event-hub-handler.factory';
|
|
4
|
+
import { EventHubTriggersRegistrationService } from './event-hub-triggers-registration.service';
|
|
5
|
+
export declare class EventHubHandlerRegistrationService implements TriggerHandlerRegistrationService {
|
|
6
|
+
private readonly platformContainer;
|
|
7
|
+
private readonly eventHubHandlerProvider;
|
|
8
|
+
private readonly triggersRegistrationService;
|
|
9
|
+
constructor(platformContainer: Container, eventHubHandlerProvider: EventHubHandlerFactory, triggersRegistrationService: EventHubTriggersRegistrationService);
|
|
10
|
+
register(eventHubHandlerClass: TriggerHandlerClass): void;
|
|
11
|
+
private registerTrigger;
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InvocationContext } from '@azure/functions';
|
|
2
|
+
import { Container } from 'inversify';
|
|
3
|
+
import { LoggerFactory } from '../logger';
|
|
4
|
+
import { EventHubTriggerSupportFactory } from './event-hub-trigger-support.factory';
|
|
5
|
+
import { EventhubTriggerRegistration } from './event-hub-triggers-registration.service';
|
|
6
|
+
export type EventHubTriggerHandler = (messages: unknown, invocationContext: InvocationContext) => Promise<void>;
|
|
7
|
+
export declare class EventHubHandlerFactory {
|
|
8
|
+
private readonly platformContainer;
|
|
9
|
+
private readonly eventHubTriggerService;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
constructor(loggerFactory: LoggerFactory, platformContainer: Container, eventHubTriggerService: EventHubTriggerSupportFactory);
|
|
12
|
+
createHandler(registrationData: EventhubTriggerRegistration, method: (...args: unknown[]) => Promise<unknown>): EventHubTriggerHandler;
|
|
13
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { InvocationContext } from '@azure/functions';
|
|
2
|
+
import { AzFunctionsSystemError } from '../shared';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
export declare class EventHubTriggerDefinitionError extends AzFunctionsSystemError {
|
|
5
|
+
}
|
|
6
|
+
export interface EventHubArgProviderInput {
|
|
7
|
+
context: InvocationContext;
|
|
8
|
+
messages: unknown;
|
|
9
|
+
}
|
|
10
|
+
export type EventHubArgProvider = (input: EventHubArgProviderInput) => unknown;
|
|
11
|
+
export type EventHubAsyncArgsProvider = (messages: unknown, context: InvocationContext) => Promise<unknown[]>;
|
|
12
|
+
export declare const EventHubEventDataSchema: z.ZodObject<{
|
|
13
|
+
partitionContext: z.ZodObject<{
|
|
14
|
+
fullyQualifiedNamespace: z.ZodString;
|
|
15
|
+
consumerGroup: z.ZodString;
|
|
16
|
+
eventHubName: z.ZodString;
|
|
17
|
+
partitionId: z.ZodString;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
enqueuedTimeUtc: z.ZodISODateTime;
|
|
20
|
+
offset: z.ZodInt;
|
|
21
|
+
partitionKey: z.ZodOptional<z.ZodString>;
|
|
22
|
+
sequenceNumber: z.ZodInt;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
/**
|
|
25
|
+
* Schema representing the raw Event Hub event data.
|
|
26
|
+
* Includes metadata such as partition InvocationCtx, enqueue time, offset, partition key, and sequence number.
|
|
27
|
+
* Can be used to strongly type the raw event data in handler methods.
|
|
28
|
+
*
|
|
29
|
+
* ```ts
|
|
30
|
+
* type EventHubEventData = {
|
|
31
|
+
* partitionContext: {
|
|
32
|
+
* consumerGroupName: string;
|
|
33
|
+
* eventHubPath: string;
|
|
34
|
+
* }
|
|
35
|
+
* enqueuedTimeUtc: string;
|
|
36
|
+
* offset: string;
|
|
37
|
+
* partitionKey: string;
|
|
38
|
+
* sequenceNumber: number;
|
|
39
|
+
* };
|
|
40
|
+
* ```
|
|
41
|
+
* properties:
|
|
42
|
+
* - `partitionContext`: Metadata about the partition, including consumer group name and Event Hub path.
|
|
43
|
+
* - `consumerGroupName`: The name of the consumer group.
|
|
44
|
+
* - `eventHubPath`: The path of the Event Hub.
|
|
45
|
+
* - `enqueuedTimeUtc`: The UTC time when the event was enqueued, in ISO string format.
|
|
46
|
+
* - `offset`: The offset of the event in the partition.
|
|
47
|
+
* - `partitionKey`: The partition key of the event.
|
|
48
|
+
* - `sequenceNumber`: The sequence number of the event in the partition.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* const eventData: EventHubEventData = {
|
|
53
|
+
* partitionContext: {
|
|
54
|
+
* consumerGroupName: 'my-consumer-group',
|
|
55
|
+
* eventHubPath: 'my-event-hub',
|
|
56
|
+
* },
|
|
57
|
+
* enqueuedTimeUtc: '2023-10-01T12:00:00Z',
|
|
58
|
+
* offset: '12345',
|
|
59
|
+
* partitionKey: 'my-partition-key',
|
|
60
|
+
* sequenceNumber: 67890,
|
|
61
|
+
* };
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export type EventHubEventData = z.infer<typeof EventHubEventDataSchema>;
|
|
65
|
+
export type EventHubMessageBaseWrapper<PAYLOAD = unknown, PROPERTIES = undefined, SYSTEM_PROPERTIES = undefined> = {
|
|
66
|
+
payload: PAYLOAD;
|
|
67
|
+
} & (PROPERTIES extends undefined ? object : {
|
|
68
|
+
properties: PROPERTIES;
|
|
69
|
+
}) & (SYSTEM_PROPERTIES extends undefined ? object : {
|
|
70
|
+
systemProperties: SYSTEM_PROPERTIES;
|
|
71
|
+
});
|
|
72
|
+
export type SafeWrapper<T, P> = ({
|
|
73
|
+
valid: true;
|
|
74
|
+
} & T) | ({
|
|
75
|
+
valid: false;
|
|
76
|
+
error: unknown;
|
|
77
|
+
} & P);
|
|
78
|
+
export type SafeEventHubMessageWrapper<PAYLOAD = unknown, PROPERTIES = undefined, SYSTEM_PROPERTIES = undefined> = SafeWrapper<EventHubMessageBaseWrapper<PAYLOAD, PROPERTIES, SYSTEM_PROPERTIES>, EventHubMessageBaseWrapper<unknown, unknown, unknown>>;
|
|
79
|
+
/**
|
|
80
|
+
* Wrapper for Event Hub Messages, including payload, properties, system properties, and optionally the raw event data.
|
|
81
|
+
* It allows for flexible typing of the Message components. Can be used to strongly type the Message structure in handler methods.
|
|
82
|
+
*
|
|
83
|
+
* Type Parameters:
|
|
84
|
+
* - `PAYLOAD`: The type of the Message payload.
|
|
85
|
+
* - `PROPERTIES`: The type of the custom properties of the Message. If not provided, properties will be omitted.
|
|
86
|
+
* - `SYSTEM_PROPERTIES`: The type of the system properties of the Message. If not provided, system properties will be omitted.
|
|
87
|
+
* - `EVENT_DATA`: If set to true, includes the raw Event Hub event data in the wrapper.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```ts
|
|
91
|
+
* const eventPayloadSchema = z.object({ id: z.string(), value: z.number() });
|
|
92
|
+
* type EventPayload = z.infer<typeof eventPayloadSchema>;
|
|
93
|
+
*
|
|
94
|
+
* const eventPropertiesSchema = z.object({ source: z.string() });
|
|
95
|
+
* type EventProperties = z.infer<typeof eventPropertiesSchema>;
|
|
96
|
+
*
|
|
97
|
+
* type MyEventHubMessage = EventHubMessageWrapper<EventPayload, EventProperties, undefined, true>;
|
|
98
|
+
*/
|
|
99
|
+
export type EventHubMessageWrapper<PAYLOAD = unknown, PROPERTIES = undefined, SYSTEM_PROPERTIES = undefined, EVENT_DATA extends true | undefined = undefined> = SafeEventHubMessageWrapper<PAYLOAD, PROPERTIES, SYSTEM_PROPERTIES> & (EVENT_DATA extends undefined ? object : {
|
|
100
|
+
eventData: EventHubEventData;
|
|
101
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EventHubHandlerArgMetadata, EventHubHandlerCardinality } from './decorators';
|
|
2
|
+
import { EventHubAsyncArgsProvider } from './event-hub-handler.model';
|
|
3
|
+
export declare class EventHubTriggerSupportFactory {
|
|
4
|
+
buildArgProviders(args: EventHubHandlerArgMetadata[], cardinality?: EventHubHandlerCardinality): EventHubAsyncArgsProvider;
|
|
5
|
+
private getArgsProvider;
|
|
6
|
+
private getMessageProvider;
|
|
7
|
+
private validateMessage;
|
|
8
|
+
private getMessagesProvider;
|
|
9
|
+
private provideExtendedMessageSchema;
|
|
10
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
declare const partitionContextSchema: z.ZodObject<{
|
|
3
|
+
fullyQualifiedNamespace: z.ZodString;
|
|
4
|
+
consumerGroup: z.ZodString;
|
|
5
|
+
eventHubName: z.ZodString;
|
|
6
|
+
partitionId: z.ZodString;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export type PartitionContext = z.infer<typeof partitionContextSchema>;
|
|
9
|
+
export declare const triggerMetadataOneSchema: z.ZodObject<{
|
|
10
|
+
enqueuedTimeUtc: z.ZodISODateTime;
|
|
11
|
+
offset: z.ZodInt;
|
|
12
|
+
partitionKey: z.ZodString;
|
|
13
|
+
sequenceNumber: z.ZodInt;
|
|
14
|
+
properties: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
15
|
+
systemProperties: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
16
|
+
partitionContext: z.ZodObject<{
|
|
17
|
+
fullyQualifiedNamespace: z.ZodString;
|
|
18
|
+
consumerGroup: z.ZodString;
|
|
19
|
+
eventHubName: z.ZodString;
|
|
20
|
+
partitionId: z.ZodString;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
export type TriggerMetadataOne = z.infer<typeof triggerMetadataOneSchema>;
|
|
24
|
+
export declare const triggerMetadataManySchema: z.ZodObject<{
|
|
25
|
+
enqueuedTimeUtcArray: z.ZodArray<z.ZodISODateTime>;
|
|
26
|
+
offsetArray: z.ZodArray<z.ZodInt>;
|
|
27
|
+
partitionKeyArray: z.ZodArray<z.ZodString>;
|
|
28
|
+
sequenceNumberArray: z.ZodArray<z.ZodInt>;
|
|
29
|
+
propertiesArray: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
30
|
+
systemPropertiesArray: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
31
|
+
partitionContext: z.ZodObject<{
|
|
32
|
+
fullyQualifiedNamespace: z.ZodString;
|
|
33
|
+
consumerGroup: z.ZodString;
|
|
34
|
+
eventHubName: z.ZodString;
|
|
35
|
+
partitionId: z.ZodString;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export type TriggerMetadataMany = z.infer<typeof triggerMetadataManySchema>;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LoggerFactory } from '../logger';
|
|
2
|
+
import { TriggerHandlerClass } from '../shared';
|
|
3
|
+
import { EventHubHandlerMetadata, EventHubTriggerMetadata } from './decorators/index';
|
|
4
|
+
import { EventHubHandlerMetadataReader } from './event-hub-handler-metadata.reader';
|
|
5
|
+
export interface EventhubTriggerRegistration {
|
|
6
|
+
triggerId: string;
|
|
7
|
+
triggerMethod: string;
|
|
8
|
+
handlerMetadata: EventHubHandlerMetadata;
|
|
9
|
+
triggerMetadata: EventHubTriggerMetadata;
|
|
10
|
+
}
|
|
11
|
+
export type RegisterCallback = (triggerRegistration: EventhubTriggerRegistration) => void;
|
|
12
|
+
export declare class EventHubTriggersRegistrationService {
|
|
13
|
+
private readonly metadataReader;
|
|
14
|
+
private readonly logger;
|
|
15
|
+
constructor(loggerFactory: LoggerFactory, metadataReader: EventHubHandlerMetadataReader);
|
|
16
|
+
registerTriggers(handlerClass: TriggerHandlerClass, registerCallback: RegisterCallback): void;
|
|
17
|
+
private getOperationMetadata;
|
|
18
|
+
}
|