@bitblit/ratchet-epsilon-common 4.0.85-alpha
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/CHANGELOG.md +177 -0
- package/License.txt +13 -0
- package/README.md +242 -0
- package/dist/cjs/background/background-dynamo-log-table-handler.js +38 -0
- package/dist/cjs/background/background-entry.js +2 -0
- package/dist/cjs/background/background-execution-event-type.js +11 -0
- package/dist/cjs/background/background-execution-event.js +2 -0
- package/dist/cjs/background/background-execution-listener.js +2 -0
- package/dist/cjs/background/background-handler.js +269 -0
- package/dist/cjs/background/background-http-adapter-handler.js +127 -0
- package/dist/cjs/background/background-meta-response-internal.js +2 -0
- package/dist/cjs/background/background-process-handling.js +8 -0
- package/dist/cjs/background/background-process-log-table-entry.js +2 -0
- package/dist/cjs/background/background-queue-response-internal.js +2 -0
- package/dist/cjs/background/background-validator.js +88 -0
- package/dist/cjs/background/epsilon-background-process-error.js +93 -0
- package/dist/cjs/background/internal-background-entry.js +2 -0
- package/dist/cjs/background/manager/abstract-background-manager.js +92 -0
- package/dist/cjs/background/manager/aws-sqs-sns-background-manager.js +153 -0
- package/dist/cjs/background/manager/background-manager-like.js +2 -0
- package/dist/cjs/background/manager/single-thread-local-background-manager.js +49 -0
- package/dist/cjs/background/s3-background-transaction-logger.js +54 -0
- package/dist/cjs/build/ratchet-epsilon-common-info.js +18 -0
- package/dist/cjs/built-in/background/echo-processor.js +18 -0
- package/dist/cjs/built-in/background/log-and-enqueue-echo-processor.js +16 -0
- package/dist/cjs/built-in/background/log-message-background-error-processor.js +10 -0
- package/dist/cjs/built-in/background/no-op-processor.js +13 -0
- package/dist/cjs/built-in/background/retry-processor.js +41 -0
- package/dist/cjs/built-in/background/sample-delay-processor.js +16 -0
- package/dist/cjs/built-in/background/sample-input-validated-processor-data.js +2 -0
- package/dist/cjs/built-in/background/sample-input-validated-processor.js +16 -0
- package/dist/cjs/built-in/built-in-trace-id-generators.js +25 -0
- package/dist/cjs/built-in/daemon/daemon-authorizer-function.js +2 -0
- package/dist/cjs/built-in/daemon/daemon-config.js +2 -0
- package/dist/cjs/built-in/daemon/daemon-group-selection-function.js +2 -0
- package/dist/cjs/built-in/daemon/daemon-handler.js +62 -0
- package/dist/cjs/built-in/daemon/daemon-process-state-list.js +2 -0
- package/dist/cjs/built-in/http/apollo-filter.js +63 -0
- package/dist/cjs/built-in/http/built-in-auth-filters.js +115 -0
- package/dist/cjs/built-in/http/built-in-authorizers.js +43 -0
- package/dist/cjs/built-in/http/built-in-filters.js +222 -0
- package/dist/cjs/built-in/http/built-in-handlers.js +73 -0
- package/dist/cjs/built-in/http/log-level-manipulation-filter.js +20 -0
- package/dist/cjs/built-in/http/run-handler-as-filter.js +64 -0
- package/dist/cjs/cli-bootstrap/epsilon-run-background-process-from-command-line-dry-run.js +20 -0
- package/dist/cjs/config/background/background-aws-config.js +2 -0
- package/dist/cjs/config/background/background-config.js +2 -0
- package/dist/cjs/config/background/background-error-processor.js +2 -0
- package/dist/cjs/config/background/background-processor.js +2 -0
- package/dist/cjs/config/background/background-transaction-log.js +2 -0
- package/dist/cjs/config/background/background-transaction-logger.js +2 -0
- package/dist/cjs/config/cron/abstract-cron-entry.js +2 -0
- package/dist/cjs/config/cron/cron-background-entry.js +2 -0
- package/dist/cjs/config/cron/cron-config.js +2 -0
- package/dist/cjs/config/dynamo-db-config.js +2 -0
- package/dist/cjs/config/epsilon-config.js +2 -0
- package/dist/cjs/config/epsilon-lambda-event-handler.js +2 -0
- package/dist/cjs/config/epsilon-logger-config.js +2 -0
- package/dist/cjs/config/generic-aws-event-handler-function.js +2 -0
- package/dist/cjs/config/http/authorizer-function.js +2 -0
- package/dist/cjs/config/http/epsilon-authorization-context.js +2 -0
- package/dist/cjs/config/http/extended-api-gateway-event.js +2 -0
- package/dist/cjs/config/http/filter-chain-context.js +2 -0
- package/dist/cjs/config/http/filter-function.js +2 -0
- package/dist/cjs/config/http/handler-function.js +2 -0
- package/dist/cjs/config/http/http-config.js +2 -0
- package/dist/cjs/config/http/http-processing-config.js +2 -0
- package/dist/cjs/config/http/mapped-http-processing-config.js +2 -0
- package/dist/cjs/config/http/null-returned-object-handling.js +9 -0
- package/dist/cjs/config/inter-api/inter-api-aws-config.js +2 -0
- package/dist/cjs/config/inter-api/inter-api-config.js +2 -0
- package/dist/cjs/config/inter-api/inter-api-process-mapping.js +2 -0
- package/dist/cjs/config/logging-trace-id-generator.js +2 -0
- package/dist/cjs/config/open-api/open-api-document-components.js +2 -0
- package/dist/cjs/config/open-api/open-api-document-path.js +2 -0
- package/dist/cjs/config/open-api/open-api-document.js +2 -0
- package/dist/cjs/config/s3-config.js +2 -0
- package/dist/cjs/config/sns-config.js +2 -0
- package/dist/cjs/epsilon-build-properties.js +28 -0
- package/dist/cjs/epsilon-constants.js +49 -0
- package/dist/cjs/epsilon-global-handler.js +155 -0
- package/dist/cjs/epsilon-instance.js +2 -0
- package/dist/cjs/epsilon-logging-extension-processor.js +19 -0
- package/dist/cjs/http/auth/api-gateway-adapter-authentication-handler.js +75 -0
- package/dist/cjs/http/auth/auth0-web-token-manipulator.js +62 -0
- package/dist/cjs/http/auth/basic-auth-token.js +2 -0
- package/dist/cjs/http/auth/google-web-token-manipulator.js +72 -0
- package/dist/cjs/http/auth/jwt-ratchet-local-web-token-manipulator.js +29 -0
- package/dist/cjs/http/auth/local-web-token-manipulator.js +74 -0
- package/dist/cjs/http/auth/web-token-manipulator.js +2 -0
- package/dist/cjs/http/error/bad-gateway.js +12 -0
- package/dist/cjs/http/error/bad-request-error.js +12 -0
- package/dist/cjs/http/error/conflict-error.js +12 -0
- package/dist/cjs/http/error/epsilon-http-error.js +132 -0
- package/dist/cjs/http/error/forbidden-error.js +12 -0
- package/dist/cjs/http/error/gateway-timeout.js +12 -0
- package/dist/cjs/http/error/method-not-allowed-error.js +12 -0
- package/dist/cjs/http/error/misconfigured-error.js +12 -0
- package/dist/cjs/http/error/not-found-error.js +12 -0
- package/dist/cjs/http/error/not-implemented.js +12 -0
- package/dist/cjs/http/error/request-timeout-error.js +12 -0
- package/dist/cjs/http/error/service-unavailable.js +12 -0
- package/dist/cjs/http/error/too-many-requests-error.js +12 -0
- package/dist/cjs/http/error/unauthorized-error.js +12 -0
- package/dist/cjs/http/event-util.js +180 -0
- package/dist/cjs/http/response-util.js +146 -0
- package/dist/cjs/http/route/epsilon-router.js +2 -0
- package/dist/cjs/http/route/extended-auth-response-context.js +2 -0
- package/dist/cjs/http/route/route-mapping.js +2 -0
- package/dist/cjs/http/route/route-validator-config.js +2 -0
- package/dist/cjs/http/route/router-util.js +238 -0
- package/dist/cjs/http/web-handler.js +122 -0
- package/dist/cjs/http/web-v2-handler.js +25 -0
- package/dist/cjs/index.js +136 -0
- package/dist/cjs/inter-api/inter-api-entry.js +2 -0
- package/dist/cjs/inter-api/inter-api-util.js +62 -0
- package/dist/cjs/inter-api-manager.js +67 -0
- package/dist/cjs/lambda-event-handler/cron-epsilon-lambda-event-handler.js +76 -0
- package/dist/cjs/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js +36 -0
- package/dist/cjs/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js +32 -0
- package/dist/cjs/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js +26 -0
- package/dist/cjs/lambda-event-handler/s3-epsilon-lambda-event-handler.js +44 -0
- package/dist/cjs/local-container-server.js +79 -0
- package/dist/cjs/local-server-cert.js +71 -0
- package/dist/cjs/local-server.js +145 -0
- package/dist/cjs/open-api-util/open-api-doc-modifications.js +2 -0
- package/dist/cjs/open-api-util/open-api-doc-modifier.js +83 -0
- package/dist/cjs/open-api-util/yaml-combiner.js +32 -0
- package/dist/cjs/run-background-process-from-command-line.js +37 -0
- package/dist/cjs/sample/sample-batch-only-local-server.js +19 -0
- package/dist/cjs/sample/sample-local-server.js +30 -0
- package/dist/cjs/sample/sample-server-components.js +197 -0
- package/dist/cjs/test-error-server.js +48 -0
- package/dist/cjs/util/aws-util.js +69 -0
- package/dist/cjs/util/context-util.js +104 -0
- package/dist/cjs/util/cron-util.js +72 -0
- package/dist/cjs/util/epsilon-config-parser.js +70 -0
- package/dist/es/background/background-dynamo-log-table-handler.js +33 -0
- package/dist/es/background/background-entry.js +1 -0
- package/dist/es/background/background-execution-event-type.js +8 -0
- package/dist/es/background/background-execution-event.js +1 -0
- package/dist/es/background/background-execution-listener.js +1 -0
- package/dist/es/background/background-handler.js +265 -0
- package/dist/es/background/background-http-adapter-handler.js +123 -0
- package/dist/es/background/background-meta-response-internal.js +1 -0
- package/dist/es/background/background-process-handling.js +5 -0
- package/dist/es/background/background-process-log-table-entry.js +1 -0
- package/dist/es/background/background-queue-response-internal.js +1 -0
- package/dist/es/background/background-validator.js +84 -0
- package/dist/es/background/epsilon-background-process-error.js +88 -0
- package/dist/es/background/internal-background-entry.js +1 -0
- package/dist/es/background/manager/abstract-background-manager.js +88 -0
- package/dist/es/background/manager/aws-sqs-sns-background-manager.js +149 -0
- package/dist/es/background/manager/background-manager-like.js +1 -0
- package/dist/es/background/manager/single-thread-local-background-manager.js +45 -0
- package/dist/es/background/s3-background-transaction-logger.js +49 -0
- package/dist/es/build/ratchet-epsilon-common-info.js +14 -0
- package/dist/es/built-in/background/echo-processor.js +14 -0
- package/dist/es/built-in/background/log-and-enqueue-echo-processor.js +12 -0
- package/dist/es/built-in/background/log-message-background-error-processor.js +6 -0
- package/dist/es/built-in/background/no-op-processor.js +9 -0
- package/dist/es/built-in/background/retry-processor.js +36 -0
- package/dist/es/built-in/background/sample-delay-processor.js +12 -0
- package/dist/es/built-in/background/sample-input-validated-processor-data.js +1 -0
- package/dist/es/built-in/background/sample-input-validated-processor.js +12 -0
- package/dist/es/built-in/built-in-trace-id-generators.js +21 -0
- package/dist/es/built-in/daemon/daemon-authorizer-function.js +1 -0
- package/dist/es/built-in/daemon/daemon-config.js +1 -0
- package/dist/es/built-in/daemon/daemon-group-selection-function.js +1 -0
- package/dist/es/built-in/daemon/daemon-handler.js +58 -0
- package/dist/es/built-in/daemon/daemon-process-state-list.js +1 -0
- package/dist/es/built-in/http/apollo-filter.js +58 -0
- package/dist/es/built-in/http/built-in-auth-filters.js +107 -0
- package/dist/es/built-in/http/built-in-authorizers.js +39 -0
- package/dist/es/built-in/http/built-in-filters.js +208 -0
- package/dist/es/built-in/http/built-in-handlers.js +69 -0
- package/dist/es/built-in/http/log-level-manipulation-filter.js +16 -0
- package/dist/es/built-in/http/run-handler-as-filter.js +60 -0
- package/dist/es/cli-bootstrap/epsilon-run-background-process-from-command-line-dry-run.js +17 -0
- package/dist/es/config/background/background-aws-config.js +1 -0
- package/dist/es/config/background/background-config.js +1 -0
- package/dist/es/config/background/background-error-processor.js +1 -0
- package/dist/es/config/background/background-processor.js +1 -0
- package/dist/es/config/background/background-transaction-log.js +1 -0
- package/dist/es/config/background/background-transaction-logger.js +1 -0
- package/dist/es/config/cron/abstract-cron-entry.js +1 -0
- package/dist/es/config/cron/cron-background-entry.js +1 -0
- package/dist/es/config/cron/cron-config.js +1 -0
- package/dist/es/config/dynamo-db-config.js +1 -0
- package/dist/es/config/epsilon-config.js +1 -0
- package/dist/es/config/epsilon-lambda-event-handler.js +1 -0
- package/dist/es/config/epsilon-logger-config.js +1 -0
- package/dist/es/config/generic-aws-event-handler-function.js +1 -0
- package/dist/es/config/http/authorizer-function.js +1 -0
- package/dist/es/config/http/epsilon-authorization-context.js +1 -0
- package/dist/es/config/http/extended-api-gateway-event.js +1 -0
- package/dist/es/config/http/filter-chain-context.js +1 -0
- package/dist/es/config/http/filter-function.js +1 -0
- package/dist/es/config/http/handler-function.js +1 -0
- package/dist/es/config/http/http-config.js +1 -0
- package/dist/es/config/http/http-processing-config.js +1 -0
- package/dist/es/config/http/mapped-http-processing-config.js +1 -0
- package/dist/es/config/http/null-returned-object-handling.js +6 -0
- package/dist/es/config/inter-api/inter-api-aws-config.js +1 -0
- package/dist/es/config/inter-api/inter-api-config.js +1 -0
- package/dist/es/config/inter-api/inter-api-process-mapping.js +1 -0
- package/dist/es/config/logging-trace-id-generator.js +1 -0
- package/dist/es/config/open-api/open-api-document-components.js +1 -0
- package/dist/es/config/open-api/open-api-document-path.js +1 -0
- package/dist/es/config/open-api/open-api-document.js +1 -0
- package/dist/es/config/s3-config.js +1 -0
- package/dist/es/config/sns-config.js +1 -0
- package/dist/es/epsilon-build-properties.js +24 -0
- package/dist/es/epsilon-constants.js +45 -0
- package/dist/es/epsilon-global-handler.js +149 -0
- package/dist/es/epsilon-instance.js +1 -0
- package/dist/es/epsilon-logging-extension-processor.js +15 -0
- package/dist/es/http/auth/api-gateway-adapter-authentication-handler.js +71 -0
- package/dist/es/http/auth/auth0-web-token-manipulator.js +56 -0
- package/dist/es/http/auth/basic-auth-token.js +1 -0
- package/dist/es/http/auth/google-web-token-manipulator.js +67 -0
- package/dist/es/http/auth/jwt-ratchet-local-web-token-manipulator.js +25 -0
- package/dist/es/http/auth/local-web-token-manipulator.js +70 -0
- package/dist/es/http/auth/web-token-manipulator.js +1 -0
- package/dist/es/http/error/bad-gateway.js +8 -0
- package/dist/es/http/error/bad-request-error.js +8 -0
- package/dist/es/http/error/conflict-error.js +8 -0
- package/dist/es/http/error/epsilon-http-error.js +127 -0
- package/dist/es/http/error/forbidden-error.js +8 -0
- package/dist/es/http/error/gateway-timeout.js +8 -0
- package/dist/es/http/error/method-not-allowed-error.js +8 -0
- package/dist/es/http/error/misconfigured-error.js +8 -0
- package/dist/es/http/error/not-found-error.js +8 -0
- package/dist/es/http/error/not-implemented.js +8 -0
- package/dist/es/http/error/request-timeout-error.js +8 -0
- package/dist/es/http/error/service-unavailable.js +8 -0
- package/dist/es/http/error/too-many-requests-error.js +8 -0
- package/dist/es/http/error/unauthorized-error.js +8 -0
- package/dist/es/http/event-util.js +175 -0
- package/dist/es/http/response-util.js +141 -0
- package/dist/es/http/route/epsilon-router.js +1 -0
- package/dist/es/http/route/extended-auth-response-context.js +1 -0
- package/dist/es/http/route/route-mapping.js +1 -0
- package/dist/es/http/route/route-validator-config.js +1 -0
- package/dist/es/http/route/router-util.js +233 -0
- package/dist/es/http/web-handler.js +116 -0
- package/dist/es/http/web-v2-handler.js +21 -0
- package/dist/es/index.js +133 -0
- package/dist/es/inter-api/inter-api-entry.js +1 -0
- package/dist/es/inter-api/inter-api-util.js +58 -0
- package/dist/es/inter-api-manager.js +63 -0
- package/dist/es/lambda-event-handler/cron-epsilon-lambda-event-handler.js +72 -0
- package/dist/es/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js +32 -0
- package/dist/es/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js +28 -0
- package/dist/es/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js +22 -0
- package/dist/es/lambda-event-handler/s3-epsilon-lambda-event-handler.js +40 -0
- package/dist/es/local-container-server.js +74 -0
- package/dist/es/local-server-cert.js +67 -0
- package/dist/es/local-server.js +140 -0
- package/dist/es/open-api-util/open-api-doc-modifications.js +1 -0
- package/dist/es/open-api-util/open-api-doc-modifier.js +78 -0
- package/dist/es/open-api-util/yaml-combiner.js +27 -0
- package/dist/es/run-background-process-from-command-line.js +32 -0
- package/dist/es/sample/sample-batch-only-local-server.js +17 -0
- package/dist/es/sample/sample-local-server.js +28 -0
- package/dist/es/sample/sample-server-components.js +192 -0
- package/dist/es/test-error-server.js +43 -0
- package/dist/es/util/aws-util.js +65 -0
- package/dist/es/util/context-util.js +95 -0
- package/dist/es/util/cron-util.js +68 -0
- package/dist/es/util/epsilon-config-parser.js +64 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.es.tsbuildinfo +1 -0
- package/dist/tsconfig.types.tsbuildinfo +1 -0
- package/dist/types/background/background-dynamo-log-table-handler.d.ts +11 -0
- package/dist/types/background/background-entry.d.ts +4 -0
- package/dist/types/background/background-execution-event-type.d.ts +7 -0
- package/dist/types/background/background-execution-event.d.ts +8 -0
- package/dist/types/background/background-execution-listener.d.ts +5 -0
- package/dist/types/background/background-handler.d.ts +33 -0
- package/dist/types/background/background-http-adapter-handler.d.ts +26 -0
- package/dist/types/background/background-meta-response-internal.d.ts +5 -0
- package/dist/types/background/background-process-handling.d.ts +4 -0
- package/dist/types/background/background-process-log-table-entry.d.ts +11 -0
- package/dist/types/background/background-queue-response-internal.d.ts +8 -0
- package/dist/types/background/background-validator.d.ts +20 -0
- package/dist/types/background/epsilon-background-process-error.d.ts +30 -0
- package/dist/types/background/internal-background-entry.d.ts +7 -0
- package/dist/types/background/manager/abstract-background-manager.d.ts +26 -0
- package/dist/types/background/manager/aws-sqs-sns-background-manager.d.ts +30 -0
- package/dist/types/background/manager/background-manager-like.d.ts +24 -0
- package/dist/types/background/manager/single-thread-local-background-manager.d.ts +22 -0
- package/dist/types/background/s3-background-transaction-logger.d.ts +17 -0
- package/dist/types/build/ratchet-epsilon-common-info.d.ts +5 -0
- package/dist/types/built-in/background/echo-processor.d.ts +7 -0
- package/dist/types/built-in/background/log-and-enqueue-echo-processor.d.ts +6 -0
- package/dist/types/built-in/background/log-message-background-error-processor.d.ts +5 -0
- package/dist/types/built-in/background/no-op-processor.d.ts +6 -0
- package/dist/types/built-in/background/retry-processor.d.ts +16 -0
- package/dist/types/built-in/background/sample-delay-processor.d.ts +6 -0
- package/dist/types/built-in/background/sample-input-validated-processor-data.d.ts +4 -0
- package/dist/types/built-in/background/sample-input-validated-processor.d.ts +8 -0
- package/dist/types/built-in/built-in-trace-id-generators.d.ts +5 -0
- package/dist/types/built-in/daemon/daemon-authorizer-function.d.ts +5 -0
- package/dist/types/built-in/daemon/daemon-config.d.ts +8 -0
- package/dist/types/built-in/daemon/daemon-group-selection-function.d.ts +4 -0
- package/dist/types/built-in/daemon/daemon-handler.d.ts +22 -0
- package/dist/types/built-in/daemon/daemon-process-state-list.d.ts +8 -0
- package/dist/types/built-in/http/apollo-filter.d.ts +10 -0
- package/dist/types/built-in/http/built-in-auth-filters.d.ts +9 -0
- package/dist/types/built-in/http/built-in-authorizers.d.ts +8 -0
- package/dist/types/built-in/http/built-in-filters.d.ts +25 -0
- package/dist/types/built-in/http/built-in-handlers.d.ts +9 -0
- package/dist/types/built-in/http/log-level-manipulation-filter.d.ts +9 -0
- package/dist/types/built-in/http/run-handler-as-filter.d.ts +12 -0
- package/dist/types/cli-bootstrap/epsilon-run-background-process-from-command-line-dry-run.d.ts +2 -0
- package/dist/types/config/background/background-aws-config.d.ts +7 -0
- package/dist/types/config/background/background-config.d.ts +14 -0
- package/dist/types/config/background/background-error-processor.d.ts +4 -0
- package/dist/types/config/background/background-processor.d.ts +6 -0
- package/dist/types/config/background/background-transaction-log.d.ts +8 -0
- package/dist/types/config/background/background-transaction-logger.d.ts +5 -0
- package/dist/types/config/cron/abstract-cron-entry.d.ts +12 -0
- package/dist/types/config/cron/cron-background-entry.d.ts +15 -0
- package/dist/types/config/cron/cron-config.d.ts +6 -0
- package/dist/types/config/dynamo-db-config.d.ts +5 -0
- package/dist/types/config/epsilon-config.d.ts +20 -0
- package/dist/types/config/epsilon-lambda-event-handler.d.ts +7 -0
- package/dist/types/config/epsilon-logger-config.d.ts +12 -0
- package/dist/types/config/generic-aws-event-handler-function.d.ts +3 -0
- package/dist/types/config/http/authorizer-function.d.ts +6 -0
- package/dist/types/config/http/epsilon-authorization-context.d.ts +5 -0
- package/dist/types/config/http/extended-api-gateway-event.d.ts +7 -0
- package/dist/types/config/http/filter-chain-context.d.ts +14 -0
- package/dist/types/config/http/filter-function.d.ts +4 -0
- package/dist/types/config/http/handler-function.d.ts +5 -0
- package/dist/types/config/http/http-config.d.ts +15 -0
- package/dist/types/config/http/http-processing-config.d.ts +11 -0
- package/dist/types/config/http/mapped-http-processing-config.d.ts +7 -0
- package/dist/types/config/http/null-returned-object-handling.d.ts +5 -0
- package/dist/types/config/inter-api/inter-api-aws-config.d.ts +5 -0
- package/dist/types/config/inter-api/inter-api-config.d.ts +6 -0
- package/dist/types/config/inter-api/inter-api-process-mapping.d.ts +11 -0
- package/dist/types/config/logging-trace-id-generator.d.ts +4 -0
- package/dist/types/config/open-api/open-api-document-components.d.ts +4 -0
- package/dist/types/config/open-api/open-api-document-path.d.ts +2 -0
- package/dist/types/config/open-api/open-api-document.d.ts +6 -0
- package/dist/types/config/s3-config.d.ts +6 -0
- package/dist/types/config/sns-config.d.ts +5 -0
- package/dist/types/epsilon-build-properties.d.ts +9 -0
- package/dist/types/epsilon-constants.d.ts +16 -0
- package/dist/types/epsilon-global-handler.d.ts +23 -0
- package/dist/types/epsilon-instance.d.ts +19 -0
- package/dist/types/epsilon-logging-extension-processor.d.ts +5 -0
- package/dist/types/http/auth/api-gateway-adapter-authentication-handler.d.ts +18 -0
- package/dist/types/http/auth/auth0-web-token-manipulator.d.ts +13 -0
- package/dist/types/http/auth/basic-auth-token.d.ts +7 -0
- package/dist/types/http/auth/google-web-token-manipulator.d.ts +14 -0
- package/dist/types/http/auth/jwt-ratchet-local-web-token-manipulator.d.ts +13 -0
- package/dist/types/http/auth/local-web-token-manipulator.d.ts +20 -0
- package/dist/types/http/auth/web-token-manipulator.d.ts +7 -0
- package/dist/types/http/error/bad-gateway.d.ts +5 -0
- package/dist/types/http/error/bad-request-error.d.ts +5 -0
- package/dist/types/http/error/conflict-error.d.ts +5 -0
- package/dist/types/http/error/epsilon-http-error.d.ts +41 -0
- package/dist/types/http/error/forbidden-error.d.ts +5 -0
- package/dist/types/http/error/gateway-timeout.d.ts +5 -0
- package/dist/types/http/error/method-not-allowed-error.d.ts +5 -0
- package/dist/types/http/error/misconfigured-error.d.ts +5 -0
- package/dist/types/http/error/not-found-error.d.ts +5 -0
- package/dist/types/http/error/not-implemented.d.ts +5 -0
- package/dist/types/http/error/request-timeout-error.d.ts +5 -0
- package/dist/types/http/error/service-unavailable.d.ts +5 -0
- package/dist/types/http/error/too-many-requests-error.d.ts +5 -0
- package/dist/types/http/error/unauthorized-error.d.ts +5 -0
- package/dist/types/http/event-util.d.ts +47 -0
- package/dist/types/http/response-util.d.ts +11 -0
- package/dist/types/http/route/epsilon-router.d.ts +8 -0
- package/dist/types/http/route/extended-auth-response-context.d.ts +6 -0
- package/dist/types/http/route/route-mapping.d.ts +12 -0
- package/dist/types/http/route/route-validator-config.d.ts +5 -0
- package/dist/types/http/route/router-util.d.ts +26 -0
- package/dist/types/http/web-handler.d.ts +26 -0
- package/dist/types/http/web-v2-handler.d.ts +13 -0
- package/dist/types/index.d.ts +136 -0
- package/dist/types/inter-api/inter-api-entry.d.ts +7 -0
- package/dist/types/inter-api/inter-api-util.d.ts +10 -0
- package/dist/types/inter-api-manager.d.ts +17 -0
- package/dist/types/lambda-event-handler/cron-epsilon-lambda-event-handler.d.ts +14 -0
- package/dist/types/lambda-event-handler/dynamo-epsilon-lambda-event-handler.d.ts +11 -0
- package/dist/types/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.d.ts +10 -0
- package/dist/types/lambda-event-handler/inter-api-epsilon-lambda-event-handler.d.ts +10 -0
- package/dist/types/lambda-event-handler/s3-epsilon-lambda-event-handler.d.ts +10 -0
- package/dist/types/local-container-server.d.ts +13 -0
- package/dist/types/local-server-cert.d.ts +5 -0
- package/dist/types/local-server.d.ts +19 -0
- package/dist/types/open-api-util/open-api-doc-modifications.d.ts +8 -0
- package/dist/types/open-api-util/open-api-doc-modifier.d.ts +10 -0
- package/dist/types/open-api-util/yaml-combiner.d.ts +3 -0
- package/dist/types/run-background-process-from-command-line.d.ts +13 -0
- package/dist/types/sample/sample-batch-only-local-server.d.ts +1 -0
- package/dist/types/sample/sample-local-server.d.ts +1 -0
- package/dist/types/sample/sample-server-components.d.ts +12 -0
- package/dist/types/test-error-server.d.ts +13 -0
- package/dist/types/util/aws-util.d.ts +8 -0
- package/dist/types/util/context-util.d.ts +33 -0
- package/dist/types/util/cron-util.d.ts +11 -0
- package/dist/types/util/epsilon-config-parser.d.ts +14 -0
- package/package.json +132 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractBackgroundManager = void 0;
|
|
4
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
5
|
+
const ratchet_common_2 = require("@bitblit/ratchet-common");
|
|
6
|
+
const luxon_1 = require("luxon");
|
|
7
|
+
const ratchet_common_3 = require("@bitblit/ratchet-common");
|
|
8
|
+
const context_util_1 = require("../../util/context-util");
|
|
9
|
+
class AbstractBackgroundManager {
|
|
10
|
+
createEntry(type, data) {
|
|
11
|
+
const rval = {
|
|
12
|
+
type: type,
|
|
13
|
+
data: data,
|
|
14
|
+
};
|
|
15
|
+
return rval;
|
|
16
|
+
}
|
|
17
|
+
wrapEntryForInternal(entry, overrideTraceId, overrideTraceDepth) {
|
|
18
|
+
const rval = Object.assign({}, entry, {
|
|
19
|
+
createdEpochMS: new Date().getTime(),
|
|
20
|
+
guid: AbstractBackgroundManager.generateBackgroundGuid(),
|
|
21
|
+
traceId: overrideTraceId || context_util_1.ContextUtil.currentTraceId(),
|
|
22
|
+
traceDepth: overrideTraceDepth || context_util_1.ContextUtil.currentTraceDepth() + 1,
|
|
23
|
+
});
|
|
24
|
+
return rval;
|
|
25
|
+
}
|
|
26
|
+
async addEntryToQueueByParts(type, data, fireStartMessage) {
|
|
27
|
+
let rval = null;
|
|
28
|
+
const entry = this.createEntry(type, data);
|
|
29
|
+
if (entry) {
|
|
30
|
+
rval = await this.addEntryToQueue(entry, fireStartMessage);
|
|
31
|
+
}
|
|
32
|
+
return rval;
|
|
33
|
+
}
|
|
34
|
+
async addEntriesToQueue(entries, fireStartMessage) {
|
|
35
|
+
const rval = [];
|
|
36
|
+
for (let i = 0; i < entries.length; i++) {
|
|
37
|
+
try {
|
|
38
|
+
const tmp = await this.addEntryToQueue(entries[i], false);
|
|
39
|
+
rval.push(tmp);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
ratchet_common_1.Logger.error('Error processing %j : %s', entries[i], err);
|
|
43
|
+
rval.push(err['message']);
|
|
44
|
+
}
|
|
45
|
+
if (fireStartMessage) {
|
|
46
|
+
const fireResult = await this.fireStartProcessingRequest();
|
|
47
|
+
ratchet_common_1.Logger.silly('FireResult : %s', fireResult);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return rval;
|
|
51
|
+
}
|
|
52
|
+
async fireImmediateProcessRequestByParts(type, data) {
|
|
53
|
+
let rval = null;
|
|
54
|
+
const entry = this.createEntry(type, data);
|
|
55
|
+
if (entry) {
|
|
56
|
+
rval = await this.fireImmediateProcessRequest(entry);
|
|
57
|
+
}
|
|
58
|
+
return rval;
|
|
59
|
+
}
|
|
60
|
+
static generateBackgroundGuid(targetEpochMS = new Date().getTime()) {
|
|
61
|
+
const dt = luxon_1.DateTime.fromMillis(targetEpochMS);
|
|
62
|
+
return dt.toFormat('yyyy-MM-dd-HH-mm-ss-') + ratchet_common_2.StringRatchet.createType4Guid();
|
|
63
|
+
}
|
|
64
|
+
static backgroundGuidToPath(prefix, guid) {
|
|
65
|
+
let path = ratchet_common_2.StringRatchet.trimToEmpty(prefix);
|
|
66
|
+
if (path.length && !path.endsWith('/')) {
|
|
67
|
+
path += '/';
|
|
68
|
+
}
|
|
69
|
+
path += guid.substring(0, 4) + '/' + guid.substring(5, 7) + '/' + guid.substring(8, 10) + '/';
|
|
70
|
+
path += guid + '.json';
|
|
71
|
+
return path;
|
|
72
|
+
}
|
|
73
|
+
static pathToBackgroundGuid(prefix, path) {
|
|
74
|
+
ratchet_common_3.RequireRatchet.notNullOrUndefined(path, 'path');
|
|
75
|
+
let start = 0;
|
|
76
|
+
if (!path.endsWith('.json')) {
|
|
77
|
+
ratchet_common_1.ErrorRatchet.throwFormattedErr('Cannot extract guid, does not end with .json : %s : %s', path, prefix);
|
|
78
|
+
}
|
|
79
|
+
if (ratchet_common_2.StringRatchet.trimToNull(prefix)) {
|
|
80
|
+
if (!path.startsWith(prefix)) {
|
|
81
|
+
ratchet_common_1.ErrorRatchet.throwFormattedErr('Cannot extract guid, does not start with prefix : %s : %s', path, prefix);
|
|
82
|
+
}
|
|
83
|
+
start = prefix.length;
|
|
84
|
+
if (!prefix.endsWith('/')) {
|
|
85
|
+
start++;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
start += 11;
|
|
89
|
+
return path.substring(start, path.length - 5);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.AbstractBackgroundManager = AbstractBackgroundManager;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AwsSqsSnsBackgroundManager = void 0;
|
|
4
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
5
|
+
const client_sqs_1 = require("@aws-sdk/client-sqs");
|
|
6
|
+
const epsilon_constants_1 = require("../../epsilon-constants");
|
|
7
|
+
const abstract_background_manager_1 = require("./abstract-background-manager");
|
|
8
|
+
const background_validator_1 = require("../background-validator");
|
|
9
|
+
const ratchet_common_2 = require("@bitblit/ratchet-common");
|
|
10
|
+
const client_sns_1 = require("@aws-sdk/client-sns");
|
|
11
|
+
class AwsSqsSnsBackgroundManager extends abstract_background_manager_1.AbstractBackgroundManager {
|
|
12
|
+
constructor(_awsConfig, _sqs, _sns) {
|
|
13
|
+
super();
|
|
14
|
+
this._awsConfig = _awsConfig;
|
|
15
|
+
this._sqs = _sqs;
|
|
16
|
+
this._sns = _sns;
|
|
17
|
+
const cfgErrors = background_validator_1.BackgroundValidator.validateAwsConfig(_awsConfig);
|
|
18
|
+
if (cfgErrors.length) {
|
|
19
|
+
ratchet_common_2.ErrorRatchet.throwFormattedErr('Cannot start - invalid AWS config : %j', cfgErrors);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
get backgroundManagerName() {
|
|
23
|
+
return 'AwsSqsSnsBackgroundManager';
|
|
24
|
+
}
|
|
25
|
+
get awsConfig() {
|
|
26
|
+
return this._awsConfig;
|
|
27
|
+
}
|
|
28
|
+
get sqs() {
|
|
29
|
+
return this._sqs;
|
|
30
|
+
}
|
|
31
|
+
get sns() {
|
|
32
|
+
return this._sns;
|
|
33
|
+
}
|
|
34
|
+
async addEntryToQueue(entry, fireStartMessage) {
|
|
35
|
+
try {
|
|
36
|
+
const wrapped = this.wrapEntryForInternal(entry);
|
|
37
|
+
const rval = wrapped.guid;
|
|
38
|
+
const params = {
|
|
39
|
+
DelaySeconds: 0,
|
|
40
|
+
MessageBody: JSON.stringify(wrapped),
|
|
41
|
+
MessageGroupId: entry.type,
|
|
42
|
+
QueueUrl: this.awsConfig.queueUrl,
|
|
43
|
+
};
|
|
44
|
+
ratchet_common_1.Logger.info('Add entry to queue (remote) : %j : Start : %s', params, fireStartMessage);
|
|
45
|
+
const result = await this.sqs.send(new client_sqs_1.SendMessageCommand(params));
|
|
46
|
+
if (fireStartMessage) {
|
|
47
|
+
const fireResult = await this.fireStartProcessingRequest();
|
|
48
|
+
ratchet_common_1.Logger.silly('FireResult : %s', fireResult);
|
|
49
|
+
}
|
|
50
|
+
ratchet_common_1.Logger.info('Background process %s using message id %s', rval, result.MessageId);
|
|
51
|
+
return rval;
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
ratchet_common_1.Logger.error('Error inserting background entry into SQS queue : %j', error);
|
|
55
|
+
throw new Error('Error inserting background entry into SQS queue : ' + error['code'] + ' : ' + error['name']);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async fireImmediateProcessRequest(entry) {
|
|
59
|
+
let rval = null;
|
|
60
|
+
const wrapped = this.wrapEntryForInternal(entry);
|
|
61
|
+
rval = wrapped.guid;
|
|
62
|
+
try {
|
|
63
|
+
ratchet_common_1.Logger.info('Fire immediately (remote) : %j ', entry);
|
|
64
|
+
const toWrite = {
|
|
65
|
+
type: epsilon_constants_1.EpsilonConstants.BACKGROUND_SNS_IMMEDIATE_RUN_FLAG,
|
|
66
|
+
backgroundEntry: wrapped,
|
|
67
|
+
};
|
|
68
|
+
const msg = JSON.stringify(toWrite);
|
|
69
|
+
const snsId = await this.writeMessageToSnsTopic(msg);
|
|
70
|
+
ratchet_common_1.Logger.debug('Background guid %s Wrote message : %s to SNS : %s', rval, msg, snsId);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
ratchet_common_1.Logger.error('Failed to fireImmediateProcessRequest : %s', err, err);
|
|
74
|
+
}
|
|
75
|
+
return rval;
|
|
76
|
+
}
|
|
77
|
+
async fireStartProcessingRequest() {
|
|
78
|
+
let rval = null;
|
|
79
|
+
try {
|
|
80
|
+
ratchet_common_1.Logger.info('Fire start processing request (remote)');
|
|
81
|
+
rval = await this.writeMessageToSnsTopic(epsilon_constants_1.EpsilonConstants.BACKGROUND_SNS_START_MARKER);
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
ratchet_common_1.Logger.error('Failed to fireStartProcessingRequest : %s', err, err);
|
|
85
|
+
}
|
|
86
|
+
return rval;
|
|
87
|
+
}
|
|
88
|
+
async fetchApproximateNumberOfQueueEntries() {
|
|
89
|
+
let rval = null;
|
|
90
|
+
const all = await this.fetchCurrentQueueAttributes();
|
|
91
|
+
rval = ratchet_common_1.NumberRatchet.safeNumber(all.Attributes['ApproximateNumberOfMessages']);
|
|
92
|
+
return rval;
|
|
93
|
+
}
|
|
94
|
+
async fetchCurrentQueueAttributes() {
|
|
95
|
+
let rval = null;
|
|
96
|
+
const req = {
|
|
97
|
+
AttributeNames: ['All'],
|
|
98
|
+
QueueUrl: this.awsConfig.queueUrl,
|
|
99
|
+
};
|
|
100
|
+
rval = await this.sqs.send(new client_sqs_1.GetQueueAttributesCommand(req));
|
|
101
|
+
return rval;
|
|
102
|
+
}
|
|
103
|
+
async writeMessageToSnsTopic(message) {
|
|
104
|
+
let rval = null;
|
|
105
|
+
const params = {
|
|
106
|
+
Message: message,
|
|
107
|
+
TopicArn: this.awsConfig.notificationArn,
|
|
108
|
+
};
|
|
109
|
+
ratchet_common_1.Logger.debug('Writing message to SNS topic : j', params);
|
|
110
|
+
const result = await this.sns.send(new client_sns_1.PublishCommand(params));
|
|
111
|
+
rval = result.MessageId;
|
|
112
|
+
return rval;
|
|
113
|
+
}
|
|
114
|
+
async takeEntryFromBackgroundQueue() {
|
|
115
|
+
const rval = [];
|
|
116
|
+
const params = {
|
|
117
|
+
MaxNumberOfMessages: 1,
|
|
118
|
+
QueueUrl: this.awsConfig.queueUrl,
|
|
119
|
+
VisibilityTimeout: 300,
|
|
120
|
+
WaitTimeSeconds: 0,
|
|
121
|
+
};
|
|
122
|
+
const message = await this.sqs.send(new client_sqs_1.ReceiveMessageCommand(params));
|
|
123
|
+
if (message && message.Messages && message.Messages.length > 0) {
|
|
124
|
+
for (let i = 0; i < message.Messages.length; i++) {
|
|
125
|
+
const m = message.Messages[i];
|
|
126
|
+
try {
|
|
127
|
+
const parsedBody = JSON.parse(m.Body);
|
|
128
|
+
if (!parsedBody.type) {
|
|
129
|
+
ratchet_common_1.Logger.warn('Dropping invalid background entry : %j', parsedBody);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
rval.push(parsedBody);
|
|
133
|
+
}
|
|
134
|
+
ratchet_common_1.Logger.debug('Removing message from queue');
|
|
135
|
+
const delParams = {
|
|
136
|
+
QueueUrl: this.awsConfig.queueUrl,
|
|
137
|
+
ReceiptHandle: m.ReceiptHandle,
|
|
138
|
+
};
|
|
139
|
+
const delResult = await this.sqs.send(new client_sqs_1.DeleteMessageCommand(delParams));
|
|
140
|
+
ratchet_common_1.Logger.silly('Delete result : %j', delResult);
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
ratchet_common_1.Logger.warn('Error parsing message, dropping : %j', m);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
ratchet_common_1.Logger.debug('No messages found (likely end of recursion)');
|
|
149
|
+
}
|
|
150
|
+
return rval;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
exports.AwsSqsSnsBackgroundManager = AwsSqsSnsBackgroundManager;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SingleThreadLocalBackgroundManager = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
6
|
+
const abstract_background_manager_1 = require("./abstract-background-manager");
|
|
7
|
+
class SingleThreadLocalBackgroundManager extends abstract_background_manager_1.AbstractBackgroundManager {
|
|
8
|
+
get backgroundManagerName() {
|
|
9
|
+
return 'SingleThreadLocalBackgroundManager';
|
|
10
|
+
}
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
this._localBus = new rxjs_1.Subject();
|
|
14
|
+
}
|
|
15
|
+
immediateProcessQueue() {
|
|
16
|
+
return this._localBus;
|
|
17
|
+
}
|
|
18
|
+
async addEntryToQueue(entry, fireStartMessage) {
|
|
19
|
+
const wrapped = this.wrapEntryForInternal(entry);
|
|
20
|
+
const rval = wrapped.guid;
|
|
21
|
+
ratchet_common_1.Logger.info('Add entry to queue (local) : %j : Start : %s', entry, fireStartMessage);
|
|
22
|
+
this._localBus.next(wrapped);
|
|
23
|
+
return rval;
|
|
24
|
+
}
|
|
25
|
+
async fireImmediateProcessRequest(entry) {
|
|
26
|
+
let rval = null;
|
|
27
|
+
const wrapped = this.wrapEntryForInternal(entry);
|
|
28
|
+
rval = wrapped.guid;
|
|
29
|
+
ratchet_common_1.Logger.info('Fire immediately (local) : %j ', entry);
|
|
30
|
+
this._localBus.next(wrapped);
|
|
31
|
+
return rval;
|
|
32
|
+
}
|
|
33
|
+
async fireStartProcessingRequest() {
|
|
34
|
+
let rval = null;
|
|
35
|
+
ratchet_common_1.Logger.info('Fire start processing request (local, ignored)');
|
|
36
|
+
rval = 'NO-OP';
|
|
37
|
+
return rval;
|
|
38
|
+
}
|
|
39
|
+
async fetchApproximateNumberOfQueueEntries() {
|
|
40
|
+
let rval = null;
|
|
41
|
+
rval = 0;
|
|
42
|
+
return rval;
|
|
43
|
+
}
|
|
44
|
+
async takeEntryFromBackgroundQueue() {
|
|
45
|
+
ratchet_common_1.Logger.info('Called takeEntryFromBackgroundQueue on SingleThreadedLocal - returning empty');
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.SingleThreadLocalBackgroundManager = SingleThreadLocalBackgroundManager;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.S3BackgroundTransactionLogger = void 0;
|
|
4
|
+
const ratchet_aws_1 = require("@bitblit/ratchet-aws");
|
|
5
|
+
const abstract_background_manager_1 = require("./manager/abstract-background-manager");
|
|
6
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
7
|
+
class S3BackgroundTransactionLogger {
|
|
8
|
+
constructor(cfg) {
|
|
9
|
+
this.cfg = cfg;
|
|
10
|
+
const err = S3BackgroundTransactionLogger.validateConfig(cfg);
|
|
11
|
+
if (err.length) {
|
|
12
|
+
ratchet_common_1.ErrorRatchet.throwFormattedErr('Invalid S3BackgroundTransactionLogger config : %j', err);
|
|
13
|
+
}
|
|
14
|
+
this.s3TransactionLogCacheRatchet = new ratchet_aws_1.S3CacheRatchet(this.cfg.s3, this.cfg.bucket);
|
|
15
|
+
}
|
|
16
|
+
async logTransaction(txLog) {
|
|
17
|
+
var _a;
|
|
18
|
+
if (txLog) {
|
|
19
|
+
if ((_a = txLog.request) === null || _a === void 0 ? void 0 : _a.guid) {
|
|
20
|
+
await this.s3TransactionLogCacheRatchet.writeObjectToCacheFile(abstract_background_manager_1.AbstractBackgroundManager.backgroundGuidToPath(this.cfg.prefix, txLog.request.guid), txLog);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
ratchet_common_1.Logger.warn('Could not write transaction record - no guid defined : %j', txLog);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
ratchet_common_1.Logger.silly('Skipping write of null log');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async readTransactionLog(txGuid) {
|
|
31
|
+
const path = abstract_background_manager_1.AbstractBackgroundManager.backgroundGuidToPath(this.cfg.prefix, txGuid);
|
|
32
|
+
const log = await this.s3TransactionLogCacheRatchet.fetchCacheFileAsObject(path);
|
|
33
|
+
return log;
|
|
34
|
+
}
|
|
35
|
+
static validateConfig(cfg) {
|
|
36
|
+
const rval = [];
|
|
37
|
+
if (cfg) {
|
|
38
|
+
if (!cfg.s3) {
|
|
39
|
+
rval.push('You must supply an S3 object');
|
|
40
|
+
}
|
|
41
|
+
if (!cfg.bucket) {
|
|
42
|
+
rval.push('You must supply a bucket');
|
|
43
|
+
}
|
|
44
|
+
if (!cfg.timeToLiveDays) {
|
|
45
|
+
rval.push('You must supply a timeToLiveDays');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
rval.push('No config defined');
|
|
50
|
+
}
|
|
51
|
+
return rval;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.S3BackgroundTransactionLogger = S3BackgroundTransactionLogger;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RatchetEpsilonCommonInfo = void 0;
|
|
4
|
+
class RatchetEpsilonCommonInfo {
|
|
5
|
+
constructor() { }
|
|
6
|
+
static buildInformation() {
|
|
7
|
+
const val = {
|
|
8
|
+
version: '85',
|
|
9
|
+
hash: '7b2bd151314408f02450300b0d5fb0e008d38deb',
|
|
10
|
+
branch: 'alpha-2023-03-14-1',
|
|
11
|
+
tag: 'alpha-2023-03-14-1',
|
|
12
|
+
timeBuiltISO: '2023-03-14T20:58:46-0700',
|
|
13
|
+
notes: '',
|
|
14
|
+
};
|
|
15
|
+
return val;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.RatchetEpsilonCommonInfo = RatchetEpsilonCommonInfo;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EchoProcessor = void 0;
|
|
4
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
5
|
+
const ratchet_common_2 = require("@bitblit/ratchet-common");
|
|
6
|
+
class EchoProcessor {
|
|
7
|
+
get typeName() {
|
|
8
|
+
return EchoProcessor.TYPE_NAME;
|
|
9
|
+
}
|
|
10
|
+
async handleEvent(data, mgr) {
|
|
11
|
+
ratchet_common_1.Logger.info('Echo processing : %j', data);
|
|
12
|
+
if (data && ratchet_common_2.StringRatchet.trimToNull(data['error'])) {
|
|
13
|
+
ratchet_common_1.ErrorRatchet.throwFormattedErr('Forced error : %s', data['error']);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.EchoProcessor = EchoProcessor;
|
|
18
|
+
EchoProcessor.TYPE_NAME = 'EpsilonEcho';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogAndEnqueueEchoProcessor = void 0;
|
|
4
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
5
|
+
const echo_processor_1 = require("./echo-processor");
|
|
6
|
+
class LogAndEnqueueEchoProcessor {
|
|
7
|
+
get typeName() {
|
|
8
|
+
return 'EpsilonLogAndEnqueueEcho';
|
|
9
|
+
}
|
|
10
|
+
async handleEvent(data, cfg) {
|
|
11
|
+
ratchet_common_1.Logger.info('LogAndEnqueueEchoProcessor : %j', data);
|
|
12
|
+
await cfg.fireImmediateProcessRequestByParts(echo_processor_1.EchoProcessor.TYPE_NAME, { upstream: data });
|
|
13
|
+
ratchet_common_1.Logger.info('Completed : LogAndEnqueueEchoProcessor');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.LogAndEnqueueEchoProcessor = LogAndEnqueueEchoProcessor;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogMessageBackgroundErrorProcessor = void 0;
|
|
4
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
5
|
+
class LogMessageBackgroundErrorProcessor {
|
|
6
|
+
async handleError(submission, error) {
|
|
7
|
+
ratchet_common_1.Logger.error('-------- ERROR PROCESSED : %j : %s----', submission, error);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.LogMessageBackgroundErrorProcessor = LogMessageBackgroundErrorProcessor;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NoOpProcessor = void 0;
|
|
4
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
5
|
+
class NoOpProcessor {
|
|
6
|
+
get typeName() {
|
|
7
|
+
return 'EpsilonNoOp';
|
|
8
|
+
}
|
|
9
|
+
async handleEvent(data, mgr) {
|
|
10
|
+
ratchet_common_1.Logger.silly('Hit the no-op proc');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.NoOpProcessor = NoOpProcessor;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RetryProcessor = void 0;
|
|
4
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
5
|
+
const ratchet_common_2 = require("@bitblit/ratchet-common");
|
|
6
|
+
const ratchet_common_3 = require("@bitblit/ratchet-common");
|
|
7
|
+
class RetryProcessor {
|
|
8
|
+
constructor(delegate, opts) {
|
|
9
|
+
this.delegate = delegate;
|
|
10
|
+
this.opts = opts;
|
|
11
|
+
}
|
|
12
|
+
get typeName() {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
return ratchet_common_2.StringRatchet.trimToEmpty((_a = this.opts) === null || _a === void 0 ? void 0 : _a.typePrefix) + this.delegate.typeName + ratchet_common_2.StringRatchet.trimToEmpty((_b = this.opts) === null || _b === void 0 ? void 0 : _b.typeSuffix);
|
|
15
|
+
}
|
|
16
|
+
async handleEvent(data, mgr) {
|
|
17
|
+
const tryNumber = data && data[RetryProcessor.RETRY_FIELD_NAME] ? ratchet_common_3.NumberRatchet.safeNumber(data[RetryProcessor.RETRY_FIELD_NAME]) : 1;
|
|
18
|
+
const dataCopy = data ? Object.assign({}, data) : null;
|
|
19
|
+
delete dataCopy[RetryProcessor.RETRY_FIELD_NAME];
|
|
20
|
+
ratchet_common_1.Logger.info('RetryProcessor : %s : Try %d of %d', this.delegate.typeName, tryNumber, this.opts.retryCount);
|
|
21
|
+
try {
|
|
22
|
+
await this.delegate.handleEvent(dataCopy, mgr);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
ratchet_common_1.Logger.error('Failed to process : %s', err, err);
|
|
26
|
+
if (tryNumber < this.opts.retryCount) {
|
|
27
|
+
const waitTimeMS = tryNumber * this.opts.baseDelayMS;
|
|
28
|
+
ratchet_common_1.Logger.info('Firing automatic retry after a wait of %s', ratchet_common_1.DurationRatchet.formatMsDuration(waitTimeMS));
|
|
29
|
+
await ratchet_common_1.PromiseRatchet.wait(waitTimeMS);
|
|
30
|
+
const wrapped = dataCopy || {};
|
|
31
|
+
wrapped[RetryProcessor.RETRY_FIELD_NAME] = tryNumber + 1;
|
|
32
|
+
await mgr.fireImmediateProcessRequestByParts(this.typeName, wrapped);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
ratchet_common_1.Logger.error('That was the last try - giving up');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.RetryProcessor = RetryProcessor;
|
|
41
|
+
RetryProcessor.RETRY_FIELD_NAME = '___RetryProcessorTryNumber';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SampleDelayProcessor = void 0;
|
|
4
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
5
|
+
class SampleDelayProcessor {
|
|
6
|
+
get typeName() {
|
|
7
|
+
return 'EpsilonSampleDelay';
|
|
8
|
+
}
|
|
9
|
+
async handleEvent(data, mgr) {
|
|
10
|
+
const delayMS = Math.floor(Math.random() * 5000);
|
|
11
|
+
ratchet_common_1.Logger.info('Running sample processor for %d', delayMS);
|
|
12
|
+
await ratchet_common_1.PromiseRatchet.wait(delayMS);
|
|
13
|
+
ratchet_common_1.Logger.info('Sample processor complete');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.SampleDelayProcessor = SampleDelayProcessor;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SampleInputValidatedProcessor = void 0;
|
|
4
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
5
|
+
class SampleInputValidatedProcessor {
|
|
6
|
+
get typeName() {
|
|
7
|
+
return 'EpsilonSampleInputValidated';
|
|
8
|
+
}
|
|
9
|
+
async handleEvent(data, mgr) {
|
|
10
|
+
ratchet_common_1.Logger.info('Running SampleInputValidatedProcessor, data was : %j', data);
|
|
11
|
+
}
|
|
12
|
+
get dataSchemaName() {
|
|
13
|
+
return 'BackgroundSampleInputValidatedProcessorData';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.SampleInputValidatedProcessor = SampleInputValidatedProcessor;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BuiltInTraceIdGenerators = void 0;
|
|
4
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
5
|
+
const context_util_1 = require("../util/context-util");
|
|
6
|
+
class BuiltInTraceIdGenerators {
|
|
7
|
+
static fullAwsRequestId() {
|
|
8
|
+
let rval = context_util_1.ContextUtil.currentRequestId();
|
|
9
|
+
rval = rval !== null && rval !== void 0 ? rval : ratchet_common_1.StringRatchet.createType4Guid();
|
|
10
|
+
return rval;
|
|
11
|
+
}
|
|
12
|
+
static shortAwsRequestId() {
|
|
13
|
+
let rval = BuiltInTraceIdGenerators.fullAwsRequestId();
|
|
14
|
+
if (rval.length > 10) {
|
|
15
|
+
let idx = rval.lastIndexOf('-');
|
|
16
|
+
idx = idx === -1 ? rval.length - 10 : idx;
|
|
17
|
+
rval = rval.substring(idx);
|
|
18
|
+
}
|
|
19
|
+
return rval;
|
|
20
|
+
}
|
|
21
|
+
static fixedLengthHex(length = 10) {
|
|
22
|
+
return ratchet_common_1.StringRatchet.createRandomHexString(length);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.BuiltInTraceIdGenerators = BuiltInTraceIdGenerators;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DaemonHandler = void 0;
|
|
5
|
+
const ratchet_common_1 = require("@bitblit/ratchet-common");
|
|
6
|
+
const not_found_error_1 = require("../../http/error/not-found-error");
|
|
7
|
+
const ratchet_common_2 = require("@bitblit/ratchet-common");
|
|
8
|
+
class DaemonHandler {
|
|
9
|
+
constructor(daemon, inConfig) {
|
|
10
|
+
this.daemon = daemon;
|
|
11
|
+
this.inConfig = inConfig;
|
|
12
|
+
this.config = inConfig || {};
|
|
13
|
+
this.config.authorizer = this.config.authorizer || DaemonHandler.ALLOW_EVERYTHING_AUTHORIZER;
|
|
14
|
+
this.config.groupSelector = this.config.groupSelector || ((evt) => Promise.resolve(daemon.defaultGroup));
|
|
15
|
+
this.config.fetchDaemonStatusByPublicTokenPathParameter =
|
|
16
|
+
ratchet_common_2.StringRatchet.trimToNull(this.config.fetchDaemonStatusByPublicTokenPathParameter) || 'publicToken';
|
|
17
|
+
this.config.fetchDaemonStatusPathParameter = ratchet_common_2.StringRatchet.trimToNull(this.config.fetchDaemonStatusPathParameter) || 'key';
|
|
18
|
+
}
|
|
19
|
+
async fetchDaemonStatusByPublicToken(evt) {
|
|
20
|
+
const publicToken = evt.pathParameters[this.config.fetchDaemonStatusByPublicTokenPathParameter];
|
|
21
|
+
ratchet_common_1.Logger.info('Fetching daemon status for token: %s', publicToken);
|
|
22
|
+
let rval = await this.daemon.statFromPublicToken(publicToken);
|
|
23
|
+
const canRead = rval ? await this.config.authorizer(evt, rval) : false;
|
|
24
|
+
rval = canRead ? rval : null;
|
|
25
|
+
if (rval === null) {
|
|
26
|
+
throw new not_found_error_1.NotFoundError('No such token : ' + publicToken);
|
|
27
|
+
}
|
|
28
|
+
return rval;
|
|
29
|
+
}
|
|
30
|
+
async fetchDaemonStatus(evt) {
|
|
31
|
+
const daemonKey = evt.pathParameters[this.config.fetchDaemonStatusPathParameter];
|
|
32
|
+
ratchet_common_1.Logger.info('Fetching daemon status for : %s', daemonKey);
|
|
33
|
+
let rval = await this.daemon.stat(daemonKey);
|
|
34
|
+
const canRead = rval ? await this.config.authorizer(evt, rval) : false;
|
|
35
|
+
rval = canRead ? rval : null;
|
|
36
|
+
if (rval === null) {
|
|
37
|
+
throw new not_found_error_1.NotFoundError('No such key : ' + daemonKey);
|
|
38
|
+
}
|
|
39
|
+
return rval;
|
|
40
|
+
}
|
|
41
|
+
async listDaemonStatus(evt) {
|
|
42
|
+
const group = await this.config.groupSelector(evt);
|
|
43
|
+
const keys = await this.daemon.list(group);
|
|
44
|
+
const allowed = [];
|
|
45
|
+
for (let i = 0; i < keys.length; i++) {
|
|
46
|
+
const canRead = await this.config.authorizer(evt, keys[i]);
|
|
47
|
+
if (canRead) {
|
|
48
|
+
allowed.push(keys[i]);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const rval = {
|
|
52
|
+
results: allowed,
|
|
53
|
+
nextToken: null,
|
|
54
|
+
};
|
|
55
|
+
return rval;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.DaemonHandler = DaemonHandler;
|
|
59
|
+
_a = DaemonHandler;
|
|
60
|
+
DaemonHandler.ALLOW_EVERYTHING_AUTHORIZER = async (evt, proc) => {
|
|
61
|
+
return true;
|
|
62
|
+
};
|