@bitblit/ratchet-epsilon-common 4.0.116-alpha → 4.0.119-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/lib/background/background-handler.d.ts +1 -1
- package/lib/background/background-http-adapter-handler.d.ts +1 -1
- package/lib/background/background-validator.d.ts +1 -1
- package/lib/build/ratchet-epsilon-common-info.d.ts +1 -1
- package/lib/built-in/http/built-in-auth-filters.d.ts +1 -1
- package/lib/cli/ratchet-cli-handler.d.ts +2 -2
- package/lib/config/epsilon-logger-config.d.ts +2 -2
- package/lib/config/http/filter-chain-context.d.ts +1 -1
- package/lib/config/http/http-config.d.ts +1 -1
- package/lib/epsilon-global-handler.d.ts +1 -1
- package/lib/epsilon-instance.d.ts +1 -1
- package/lib/epsilon-logging-extension-processor.d.ts +2 -2
- package/lib/http/auth/auth0-web-token-manipulator.d.ts +1 -1
- package/lib/http/auth/google-web-token-manipulator.d.ts +1 -1
- package/lib/http/auth/jwt-ratchet-local-web-token-manipulator.d.ts +2 -2
- package/lib/http/auth/local-web-token-manipulator.d.ts +3 -3
- package/lib/http/auth/web-token-manipulator.d.ts +1 -1
- package/lib/http/event-util.d.ts +1 -1
- package/lib/http/response-util.d.ts +1 -1
- package/lib/http/route/epsilon-router.d.ts +1 -1
- package/lib/http/route/router-util.d.ts +2 -2
- package/lib/index.d.ts +132 -1
- package/lib/index.mjs +344 -0
- package/lib/index.mjs.map +1 -0
- package/lib/local-container-server.d.ts +1 -1
- package/lib/local-server.d.ts +1 -1
- package/lib/sample/test-error-server.d.ts +1 -1
- package/lib/util/epsilon-config-parser.d.ts +1 -1
- package/package.json +18 -19
- package/lib/background/background-dynamo-log-table-handler.js +0 -38
- package/lib/background/background-dynamo-log-table-handler.js.map +0 -1
- package/lib/background/background-entry.js +0 -2
- package/lib/background/background-entry.js.map +0 -1
- package/lib/background/background-execution-event-type.js +0 -9
- package/lib/background/background-execution-event-type.js.map +0 -1
- package/lib/background/background-execution-event.js +0 -2
- package/lib/background/background-execution-event.js.map +0 -1
- package/lib/background/background-execution-listener.js +0 -2
- package/lib/background/background-execution-listener.js.map +0 -1
- package/lib/background/background-handler.js +0 -274
- package/lib/background/background-handler.js.map +0 -1
- package/lib/background/background-http-adapter-handler.js +0 -129
- package/lib/background/background-http-adapter-handler.js.map +0 -1
- package/lib/background/background-meta-response-internal.js +0 -2
- package/lib/background/background-meta-response-internal.js.map +0 -1
- package/lib/background/background-process-handling.js +0 -6
- package/lib/background/background-process-handling.js.map +0 -1
- package/lib/background/background-process-log-table-entry.js +0 -2
- package/lib/background/background-process-log-table-entry.js.map +0 -1
- package/lib/background/background-queue-response-internal.js +0 -2
- package/lib/background/background-queue-response-internal.js.map +0 -1
- package/lib/background/background-validator.js +0 -87
- package/lib/background/background-validator.js.map +0 -1
- package/lib/background/epsilon-background-process-error.js +0 -95
- package/lib/background/epsilon-background-process-error.js.map +0 -1
- package/lib/background/internal-background-entry.js +0 -2
- package/lib/background/internal-background-entry.js.map +0 -1
- package/lib/background/manager/abstract-background-manager.js +0 -90
- package/lib/background/manager/abstract-background-manager.js.map +0 -1
- package/lib/background/manager/aws-sqs-sns-background-manager.js +0 -154
- package/lib/background/manager/aws-sqs-sns-background-manager.js.map +0 -1
- package/lib/background/manager/background-manager-like.js +0 -2
- package/lib/background/manager/background-manager-like.js.map +0 -1
- package/lib/background/manager/background-manager.spec.js +0 -74
- package/lib/background/manager/background-manager.spec.js.map +0 -1
- package/lib/background/manager/single-thread-local-background-manager.js +0 -46
- package/lib/background/manager/single-thread-local-background-manager.js.map +0 -1
- package/lib/background/s3-background-transaction-logger.js +0 -53
- package/lib/background/s3-background-transaction-logger.js.map +0 -1
- package/lib/build/ratchet-epsilon-common-info.js +0 -15
- package/lib/build/ratchet-epsilon-common-info.js.map +0 -1
- package/lib/built-in/background/echo-processor.js +0 -17
- package/lib/built-in/background/echo-processor.js.map +0 -1
- package/lib/built-in/background/log-and-enqueue-echo-processor.js +0 -13
- package/lib/built-in/background/log-and-enqueue-echo-processor.js.map +0 -1
- package/lib/built-in/background/log-message-background-error-processor.js +0 -7
- package/lib/built-in/background/log-message-background-error-processor.js.map +0 -1
- package/lib/built-in/background/no-op-processor.js +0 -10
- package/lib/built-in/background/no-op-processor.js.map +0 -1
- package/lib/built-in/background/retry-processor.js +0 -42
- package/lib/built-in/background/retry-processor.js.map +0 -1
- package/lib/built-in/background/sample-delay-processor.js +0 -14
- package/lib/built-in/background/sample-delay-processor.js.map +0 -1
- package/lib/built-in/background/sample-input-validated-processor-data.js +0 -2
- package/lib/built-in/background/sample-input-validated-processor-data.js.map +0 -1
- package/lib/built-in/background/sample-input-validated-processor.js +0 -13
- package/lib/built-in/background/sample-input-validated-processor.js.map +0 -1
- package/lib/built-in/built-in-trace-id-generators.js +0 -22
- package/lib/built-in/built-in-trace-id-generators.js.map +0 -1
- package/lib/built-in/daemon/daemon-authorizer-function.js +0 -2
- package/lib/built-in/daemon/daemon-authorizer-function.js.map +0 -1
- package/lib/built-in/daemon/daemon-config.js +0 -2
- package/lib/built-in/daemon/daemon-config.js.map +0 -1
- package/lib/built-in/daemon/daemon-group-selection-function.js +0 -2
- package/lib/built-in/daemon/daemon-group-selection-function.js.map +0 -1
- package/lib/built-in/daemon/daemon-handler.js +0 -61
- package/lib/built-in/daemon/daemon-handler.js.map +0 -1
- package/lib/built-in/daemon/daemon-process-state-list.js +0 -2
- package/lib/built-in/daemon/daemon-process-state-list.js.map +0 -1
- package/lib/built-in/http/apollo-filter.js +0 -60
- package/lib/built-in/http/apollo-filter.js.map +0 -1
- package/lib/built-in/http/built-in-auth-filters.js +0 -108
- package/lib/built-in/http/built-in-auth-filters.js.map +0 -1
- package/lib/built-in/http/built-in-authorizers.js +0 -40
- package/lib/built-in/http/built-in-authorizers.js.map +0 -1
- package/lib/built-in/http/built-in-filters.js +0 -210
- package/lib/built-in/http/built-in-filters.js.map +0 -1
- package/lib/built-in/http/built-in-handlers.js +0 -70
- package/lib/built-in/http/built-in-handlers.js.map +0 -1
- package/lib/built-in/http/log-level-manipulation-filter.js +0 -18
- package/lib/built-in/http/log-level-manipulation-filter.js.map +0 -1
- package/lib/built-in/http/run-handler-as-filter.js +0 -61
- package/lib/built-in/http/run-handler-as-filter.js.map +0 -1
- package/lib/built-in/http/run-handler-as-filter.spec.js +0 -41
- package/lib/built-in/http/run-handler-as-filter.spec.js.map +0 -1
- package/lib/cli/ratchet-cli-handler.js +0 -21
- package/lib/cli/ratchet-cli-handler.js.map +0 -1
- package/lib/cli/run-background-process-from-command-line.js +0 -23
- package/lib/cli/run-background-process-from-command-line.js.map +0 -1
- package/lib/config/background/background-aws-config.js +0 -2
- package/lib/config/background/background-aws-config.js.map +0 -1
- package/lib/config/background/background-config.js +0 -2
- package/lib/config/background/background-config.js.map +0 -1
- package/lib/config/background/background-error-processor.js +0 -2
- package/lib/config/background/background-error-processor.js.map +0 -1
- package/lib/config/background/background-processor.js +0 -2
- package/lib/config/background/background-processor.js.map +0 -1
- package/lib/config/background/background-transaction-log.js +0 -2
- package/lib/config/background/background-transaction-log.js.map +0 -1
- package/lib/config/background/background-transaction-logger.js +0 -2
- package/lib/config/background/background-transaction-logger.js.map +0 -1
- package/lib/config/cron/abstract-cron-entry.js +0 -2
- package/lib/config/cron/abstract-cron-entry.js.map +0 -1
- package/lib/config/cron/cron-background-entry.js +0 -2
- package/lib/config/cron/cron-background-entry.js.map +0 -1
- package/lib/config/cron/cron-config.js +0 -2
- package/lib/config/cron/cron-config.js.map +0 -1
- package/lib/config/dynamo-db-config.js +0 -2
- package/lib/config/dynamo-db-config.js.map +0 -1
- package/lib/config/epsilon-config.js +0 -2
- package/lib/config/epsilon-config.js.map +0 -1
- package/lib/config/epsilon-lambda-event-handler.js +0 -2
- package/lib/config/epsilon-lambda-event-handler.js.map +0 -1
- package/lib/config/epsilon-logger-config.js +0 -2
- package/lib/config/epsilon-logger-config.js.map +0 -1
- package/lib/config/generic-aws-event-handler-function.js +0 -2
- package/lib/config/generic-aws-event-handler-function.js.map +0 -1
- package/lib/config/http/authorizer-function.js +0 -2
- package/lib/config/http/authorizer-function.js.map +0 -1
- package/lib/config/http/epsilon-authorization-context.js +0 -2
- package/lib/config/http/epsilon-authorization-context.js.map +0 -1
- package/lib/config/http/extended-api-gateway-event.js +0 -2
- package/lib/config/http/extended-api-gateway-event.js.map +0 -1
- package/lib/config/http/filter-chain-context.js +0 -2
- package/lib/config/http/filter-chain-context.js.map +0 -1
- package/lib/config/http/filter-function.js +0 -2
- package/lib/config/http/filter-function.js.map +0 -1
- package/lib/config/http/handler-function.js +0 -2
- package/lib/config/http/handler-function.js.map +0 -1
- package/lib/config/http/http-config.js +0 -2
- package/lib/config/http/http-config.js.map +0 -1
- package/lib/config/http/http-processing-config.js +0 -2
- package/lib/config/http/http-processing-config.js.map +0 -1
- package/lib/config/http/mapped-http-processing-config.js +0 -2
- package/lib/config/http/mapped-http-processing-config.js.map +0 -1
- package/lib/config/http/null-returned-object-handling.js +0 -7
- package/lib/config/http/null-returned-object-handling.js.map +0 -1
- package/lib/config/inter-api/inter-api-aws-config.js +0 -2
- package/lib/config/inter-api/inter-api-aws-config.js.map +0 -1
- package/lib/config/inter-api/inter-api-config.js +0 -2
- package/lib/config/inter-api/inter-api-config.js.map +0 -1
- package/lib/config/inter-api/inter-api-process-mapping.js +0 -2
- package/lib/config/inter-api/inter-api-process-mapping.js.map +0 -1
- package/lib/config/logging-trace-id-generator.js +0 -2
- package/lib/config/logging-trace-id-generator.js.map +0 -1
- package/lib/config/open-api/open-api-document-components.js +0 -2
- package/lib/config/open-api/open-api-document-components.js.map +0 -1
- package/lib/config/open-api/open-api-document-path.js +0 -2
- package/lib/config/open-api/open-api-document-path.js.map +0 -1
- package/lib/config/open-api/open-api-document.js +0 -2
- package/lib/config/open-api/open-api-document.js.map +0 -1
- package/lib/config/s3-config.js +0 -2
- package/lib/config/s3-config.js.map +0 -1
- package/lib/config/sns-config.js +0 -2
- package/lib/config/sns-config.js.map +0 -1
- package/lib/epsilon-build-properties.js +0 -25
- package/lib/epsilon-build-properties.js.map +0 -1
- package/lib/epsilon-constants.js +0 -48
- package/lib/epsilon-constants.js.map +0 -1
- package/lib/epsilon-global-handler.js +0 -156
- package/lib/epsilon-global-handler.js.map +0 -1
- package/lib/epsilon-instance.js +0 -2
- package/lib/epsilon-instance.js.map +0 -1
- package/lib/epsilon-logging-extension-processor.js +0 -16
- package/lib/epsilon-logging-extension-processor.js.map +0 -1
- package/lib/http/auth/api-gateway-adapter-authentication-handler.js +0 -73
- package/lib/http/auth/api-gateway-adapter-authentication-handler.js.map +0 -1
- package/lib/http/auth/auth0-web-token-manipulator.js +0 -62
- package/lib/http/auth/auth0-web-token-manipulator.js.map +0 -1
- package/lib/http/auth/basic-auth-token.js +0 -2
- package/lib/http/auth/basic-auth-token.js.map +0 -1
- package/lib/http/auth/google-web-token-manipulator.js +0 -72
- package/lib/http/auth/google-web-token-manipulator.js.map +0 -1
- package/lib/http/auth/google-web-token-manipulator.spec.js +0 -11
- package/lib/http/auth/google-web-token-manipulator.spec.js.map +0 -1
- package/lib/http/auth/jwt-ratchet-local-web-token-manipulator.js +0 -28
- package/lib/http/auth/jwt-ratchet-local-web-token-manipulator.js.map +0 -1
- package/lib/http/auth/local-web-token-manipulator.js +0 -75
- package/lib/http/auth/local-web-token-manipulator.js.map +0 -1
- package/lib/http/auth/local-web-token-manipulator.spec.js +0 -25
- package/lib/http/auth/local-web-token-manipulator.spec.js.map +0 -1
- package/lib/http/auth/web-token-manipulator.js +0 -2
- package/lib/http/auth/web-token-manipulator.js.map +0 -1
- package/lib/http/error/bad-gateway.js +0 -10
- package/lib/http/error/bad-gateway.js.map +0 -1
- package/lib/http/error/bad-request-error.js +0 -10
- package/lib/http/error/bad-request-error.js.map +0 -1
- package/lib/http/error/conflict-error.js +0 -10
- package/lib/http/error/conflict-error.js.map +0 -1
- package/lib/http/error/epsilon-http-error.js +0 -135
- package/lib/http/error/epsilon-http-error.js.map +0 -1
- package/lib/http/error/epsilon-http-error.spec.js +0 -12
- package/lib/http/error/epsilon-http-error.spec.js.map +0 -1
- package/lib/http/error/forbidden-error.js +0 -10
- package/lib/http/error/forbidden-error.js.map +0 -1
- package/lib/http/error/gateway-timeout.js +0 -10
- package/lib/http/error/gateway-timeout.js.map +0 -1
- package/lib/http/error/method-not-allowed-error.js +0 -10
- package/lib/http/error/method-not-allowed-error.js.map +0 -1
- package/lib/http/error/misconfigured-error.js +0 -10
- package/lib/http/error/misconfigured-error.js.map +0 -1
- package/lib/http/error/not-found-error.js +0 -10
- package/lib/http/error/not-found-error.js.map +0 -1
- package/lib/http/error/not-implemented.js +0 -10
- package/lib/http/error/not-implemented.js.map +0 -1
- package/lib/http/error/request-timeout-error.js +0 -10
- package/lib/http/error/request-timeout-error.js.map +0 -1
- package/lib/http/error/service-unavailable.js +0 -10
- package/lib/http/error/service-unavailable.js.map +0 -1
- package/lib/http/error/too-many-requests-error.js +0 -10
- package/lib/http/error/too-many-requests-error.js.map +0 -1
- package/lib/http/error/unauthorized-error.js +0 -10
- package/lib/http/error/unauthorized-error.js.map +0 -1
- package/lib/http/event-util.js +0 -177
- package/lib/http/event-util.js.map +0 -1
- package/lib/http/event-util.spec.js +0 -162
- package/lib/http/event-util.spec.js.map +0 -1
- package/lib/http/response-util.js +0 -142
- package/lib/http/response-util.js.map +0 -1
- package/lib/http/response-util.spec.js +0 -93
- package/lib/http/response-util.spec.js.map +0 -1
- package/lib/http/route/epsilon-router.js +0 -2
- package/lib/http/route/epsilon-router.js.map +0 -1
- package/lib/http/route/extended-auth-response-context.js +0 -2
- package/lib/http/route/extended-auth-response-context.js.map +0 -1
- package/lib/http/route/route-mapping.js +0 -2
- package/lib/http/route/route-mapping.js.map +0 -1
- package/lib/http/route/route-validator-config.js +0 -2
- package/lib/http/route/route-validator-config.js.map +0 -1
- package/lib/http/route/router-util.js +0 -234
- package/lib/http/route/router-util.js.map +0 -1
- package/lib/http/route/router-util.spec.js +0 -24
- package/lib/http/route/router-util.spec.js.map +0 -1
- package/lib/http/web-handler.js +0 -119
- package/lib/http/web-handler.js.map +0 -1
- package/lib/http/web-handler.spec.js +0 -33
- package/lib/http/web-handler.spec.js.map +0 -1
- package/lib/http/web-v2-handler.js +0 -23
- package/lib/http/web-v2-handler.js.map +0 -1
- package/lib/index.js +0 -2
- package/lib/index.js.map +0 -1
- package/lib/inter-api/inter-api-entry.js +0 -2
- package/lib/inter-api/inter-api-entry.js.map +0 -1
- package/lib/inter-api/inter-api-util.js +0 -60
- package/lib/inter-api/inter-api-util.js.map +0 -1
- package/lib/inter-api/inter-api-util.spec.js +0 -62
- package/lib/inter-api/inter-api-util.spec.js.map +0 -1
- package/lib/inter-api-manager.js +0 -66
- package/lib/inter-api-manager.js.map +0 -1
- package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.js +0 -74
- package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.js.map +0 -1
- package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.spec.js +0 -51
- package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.spec.js.map +0 -1
- package/lib/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js +0 -34
- package/lib/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js.map +0 -1
- package/lib/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js +0 -30
- package/lib/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js.map +0 -1
- package/lib/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js +0 -24
- package/lib/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js.map +0 -1
- package/lib/lambda-event-handler/s3-epsilon-lambda-event-handler.js +0 -42
- package/lib/lambda-event-handler/s3-epsilon-lambda-event-handler.js.map +0 -1
- package/lib/local-container-server.js +0 -77
- package/lib/local-container-server.js.map +0 -1
- package/lib/local-server-cert.js +0 -69
- package/lib/local-server-cert.js.map +0 -1
- package/lib/local-server.js +0 -163
- package/lib/local-server.js.map +0 -1
- package/lib/open-api-util/open-api-doc-modifications.js +0 -2
- package/lib/open-api-util/open-api-doc-modifications.js.map +0 -1
- package/lib/open-api-util/open-api-doc-modifier.js +0 -80
- package/lib/open-api-util/open-api-doc-modifier.js.map +0 -1
- package/lib/open-api-util/open-api-doc-modifier.spec.js +0 -17
- package/lib/open-api-util/open-api-doc-modifier.spec.js.map +0 -1
- package/lib/open-api-util/yaml-combiner.js +0 -28
- package/lib/open-api-util/yaml-combiner.js.map +0 -1
- package/lib/open-api-util/yaml-combiner.spec.js +0 -23
- package/lib/open-api-util/yaml-combiner.spec.js.map +0 -1
- package/lib/sample/sample-server-components.js +0 -186
- package/lib/sample/sample-server-components.js.map +0 -1
- package/lib/sample/sample-server-static-files.js +0 -595
- package/lib/sample/sample-server-static-files.js.map +0 -1
- package/lib/sample/test-error-server.js +0 -45
- package/lib/sample/test-error-server.js.map +0 -1
- package/lib/util/aws-util.js +0 -66
- package/lib/util/aws-util.js.map +0 -1
- package/lib/util/context-util.js +0 -103
- package/lib/util/context-util.js.map +0 -1
- package/lib/util/cron-util.js +0 -69
- package/lib/util/cron-util.js.map +0 -1
- package/lib/util/cron-util.spec.js +0 -125
- package/lib/util/cron-util.spec.js.map +0 -1
- package/lib/util/epsilon-config-parser.js +0 -66
- package/lib/util/epsilon-config-parser.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"background-process-log-table-entry.js","sourceRoot":"","sources":["../../src/background/background-process-log-table-entry.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"background-queue-response-internal.js","sourceRoot":"","sources":["../../src/background/background-queue-response-internal.ts"],"names":[],"mappings":""}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { Logger } from '@bitblit/ratchet-common/lib/logger/logger.js';
|
|
2
|
-
import { ErrorRatchet } from '@bitblit/ratchet-common/lib/lang/error-ratchet.js';
|
|
3
|
-
import { StringRatchet } from '@bitblit/ratchet-common/lib/lang/string-ratchet.js';
|
|
4
|
-
export class BackgroundValidator {
|
|
5
|
-
cfg;
|
|
6
|
-
modelValidator;
|
|
7
|
-
constructor(cfg, modelValidator) {
|
|
8
|
-
this.cfg = cfg;
|
|
9
|
-
this.modelValidator = modelValidator;
|
|
10
|
-
}
|
|
11
|
-
findProcessor(typeName) {
|
|
12
|
-
const rval = this.cfg.processors.find((s) => s.typeName === typeName);
|
|
13
|
-
return rval;
|
|
14
|
-
}
|
|
15
|
-
validType(type) {
|
|
16
|
-
return !!this.findProcessor(type);
|
|
17
|
-
}
|
|
18
|
-
validateEntry(entry) {
|
|
19
|
-
const rval = [];
|
|
20
|
-
if (!entry) {
|
|
21
|
-
rval.push('Entry is null');
|
|
22
|
-
}
|
|
23
|
-
else if (!StringRatchet.trimToNull(entry.type)) {
|
|
24
|
-
rval.push('Entry type is null or empty');
|
|
25
|
-
const proc = this.findProcessor(entry.type);
|
|
26
|
-
if (!proc) {
|
|
27
|
-
rval.push('Entry type is invalid');
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return rval;
|
|
31
|
-
}
|
|
32
|
-
validateEntryAndThrowException(entry) {
|
|
33
|
-
const errors = this.validateEntry(entry);
|
|
34
|
-
if (errors.length > 0) {
|
|
35
|
-
Logger.warn('Invalid entry %j : errors : %j', entry, errors);
|
|
36
|
-
ErrorRatchet.throwFormattedErr('Invalid entry %j : errors : %j', entry, errors);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
static validateAndMapProcessors(processorInput, modelValidator) {
|
|
40
|
-
const rval = new Map();
|
|
41
|
-
processorInput.forEach((p, idx) => {
|
|
42
|
-
if (!p) {
|
|
43
|
-
ErrorRatchet.throwFormattedErr('Null processor provided at index %d', idx);
|
|
44
|
-
}
|
|
45
|
-
if (!StringRatchet.trimToNull(p.typeName)) {
|
|
46
|
-
ErrorRatchet.throwFormattedErr('Processor at index %d defines no name', idx);
|
|
47
|
-
}
|
|
48
|
-
if (rval.has(p.typeName)) {
|
|
49
|
-
ErrorRatchet.throwFormattedErr('More than one processor defined for type %s', p.typeName);
|
|
50
|
-
}
|
|
51
|
-
rval.set(p.typeName, p);
|
|
52
|
-
});
|
|
53
|
-
return rval;
|
|
54
|
-
}
|
|
55
|
-
static validateAwsConfig(cfg) {
|
|
56
|
-
const rval = [];
|
|
57
|
-
if (!cfg) {
|
|
58
|
-
rval.push('Null config');
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
if (!cfg.notificationArn) {
|
|
62
|
-
rval.push('AWS config missing notificationArn');
|
|
63
|
-
}
|
|
64
|
-
if (!cfg.queueUrl) {
|
|
65
|
-
rval.push('AWS config missing queueUrl');
|
|
66
|
-
}
|
|
67
|
-
if ((cfg.sendNotificationOnBackgroundError || cfg.sendNotificationOnBackgroundValidationFailure) &&
|
|
68
|
-
!cfg.backgroundProcessFailureSnsArn) {
|
|
69
|
-
rval.push('At least one send notification flag set to true but no sns arn set');
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return rval;
|
|
73
|
-
}
|
|
74
|
-
static validateConfig(cfg) {
|
|
75
|
-
const rval = [];
|
|
76
|
-
if (!cfg) {
|
|
77
|
-
rval.push('Null config');
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
if (!cfg.processors || cfg.processors.length === 0) {
|
|
81
|
-
rval.push('No processes specified');
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return rval;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=background-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"background-validator.js","sourceRoot":"","sources":["../../src/background/background-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import util from 'util';
|
|
2
|
-
class EpsilonBackgroundProcessError extends Error {
|
|
3
|
-
static EPSILON_BACKGROUND_PROCESS_ERROR_FLAG_KEY = '__epsilonBackgroundProcessErrorFlag';
|
|
4
|
-
_errors;
|
|
5
|
-
_detailErrorCode;
|
|
6
|
-
_details;
|
|
7
|
-
_requestId;
|
|
8
|
-
_wrappedError;
|
|
9
|
-
constructor(...errors) {
|
|
10
|
-
super(EpsilonBackgroundProcessError.combineErrorStringsWithDefault(errors));
|
|
11
|
-
Object.setPrototypeOf(this, EpsilonBackgroundProcessError.prototype);
|
|
12
|
-
this._errors = errors;
|
|
13
|
-
this[EpsilonBackgroundProcessError.EPSILON_BACKGROUND_PROCESS_ERROR_FLAG_KEY] = true;
|
|
14
|
-
}
|
|
15
|
-
static combineErrorStringsWithDefault(errors, defMessage = 'Internal Server Error') {
|
|
16
|
-
return errors && errors.length > 0 ? errors.join(',') : defMessage;
|
|
17
|
-
}
|
|
18
|
-
setFormattedErrorMessage(format, ...input) {
|
|
19
|
-
const msg = util.format(format, ...input);
|
|
20
|
-
this.errors = [msg];
|
|
21
|
-
}
|
|
22
|
-
withFormattedErrorMessage(format, ...input) {
|
|
23
|
-
this.setFormattedErrorMessage(format, ...input);
|
|
24
|
-
return this;
|
|
25
|
-
}
|
|
26
|
-
withErrors(errors) {
|
|
27
|
-
this.errors = errors;
|
|
28
|
-
return this;
|
|
29
|
-
}
|
|
30
|
-
withDetailErrorCode(detailErrorCode) {
|
|
31
|
-
this._detailErrorCode = detailErrorCode;
|
|
32
|
-
return this;
|
|
33
|
-
}
|
|
34
|
-
withDetails(details) {
|
|
35
|
-
this._details = details;
|
|
36
|
-
return this;
|
|
37
|
-
}
|
|
38
|
-
withRequestId(requestId) {
|
|
39
|
-
this._requestId = requestId;
|
|
40
|
-
return this;
|
|
41
|
-
}
|
|
42
|
-
withWrappedError(err) {
|
|
43
|
-
this._wrappedError = err;
|
|
44
|
-
return this;
|
|
45
|
-
}
|
|
46
|
-
isWrappedError() {
|
|
47
|
-
return !!this._wrappedError;
|
|
48
|
-
}
|
|
49
|
-
static wrapError(err) {
|
|
50
|
-
let rval = null;
|
|
51
|
-
if (EpsilonBackgroundProcessError.objectIsEpsilonBackgroundProcessError(err)) {
|
|
52
|
-
rval = err;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
rval = new EpsilonBackgroundProcessError(err.message).withWrappedError(err);
|
|
56
|
-
}
|
|
57
|
-
return rval;
|
|
58
|
-
}
|
|
59
|
-
static objectIsEpsilonBackgroundProcessError(obj) {
|
|
60
|
-
return obj && obj['__epsilonHttpErrorFlag'] === true;
|
|
61
|
-
}
|
|
62
|
-
set errors(value) {
|
|
63
|
-
this._errors = value || ['Internal Server Error'];
|
|
64
|
-
this.message = EpsilonBackgroundProcessError.combineErrorStringsWithDefault(this._errors);
|
|
65
|
-
}
|
|
66
|
-
get errors() {
|
|
67
|
-
return this._errors;
|
|
68
|
-
}
|
|
69
|
-
set detailErrorCode(value) {
|
|
70
|
-
this._detailErrorCode = value;
|
|
71
|
-
}
|
|
72
|
-
get detailErrorCode() {
|
|
73
|
-
return this._detailErrorCode;
|
|
74
|
-
}
|
|
75
|
-
set details(value) {
|
|
76
|
-
this._details = value;
|
|
77
|
-
}
|
|
78
|
-
get details() {
|
|
79
|
-
return this._details;
|
|
80
|
-
}
|
|
81
|
-
set requestId(value) {
|
|
82
|
-
this._requestId = value || 'MISSING';
|
|
83
|
-
}
|
|
84
|
-
get requestId() {
|
|
85
|
-
return this._requestId;
|
|
86
|
-
}
|
|
87
|
-
set wrappedError(value) {
|
|
88
|
-
this._wrappedError = value;
|
|
89
|
-
}
|
|
90
|
-
get wrappedError() {
|
|
91
|
-
return this._wrappedError;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
export { EpsilonBackgroundProcessError };
|
|
95
|
-
//# sourceMappingURL=epsilon-background-process-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"epsilon-background-process-error.js","sourceRoot":"","sources":["../../src/background/epsilon-background-process-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"internal-background-entry.js","sourceRoot":"","sources":["../../src/background/internal-background-entry.ts"],"names":[],"mappings":""}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { ErrorRatchet } from '@bitblit/ratchet-common/lib/lang/error-ratchet.js';
|
|
2
|
-
import { Logger } from '@bitblit/ratchet-common/lib/logger/logger.js';
|
|
3
|
-
import { RequireRatchet } from '@bitblit/ratchet-common/lib/lang/require-ratchet.js';
|
|
4
|
-
import { StringRatchet } from '@bitblit/ratchet-common/lib/lang/string-ratchet.js';
|
|
5
|
-
import { DateTime } from 'luxon';
|
|
6
|
-
import { ContextUtil } from '../../util/context-util.js';
|
|
7
|
-
export class AbstractBackgroundManager {
|
|
8
|
-
createEntry(type, data) {
|
|
9
|
-
const rval = {
|
|
10
|
-
type: type,
|
|
11
|
-
data: data,
|
|
12
|
-
};
|
|
13
|
-
return rval;
|
|
14
|
-
}
|
|
15
|
-
wrapEntryForInternal(entry, overrideTraceId, overrideTraceDepth) {
|
|
16
|
-
const rval = Object.assign({}, entry, {
|
|
17
|
-
createdEpochMS: new Date().getTime(),
|
|
18
|
-
guid: AbstractBackgroundManager.generateBackgroundGuid(),
|
|
19
|
-
traceId: overrideTraceId || ContextUtil.currentTraceId(),
|
|
20
|
-
traceDepth: overrideTraceDepth || ContextUtil.currentTraceDepth() + 1,
|
|
21
|
-
});
|
|
22
|
-
return rval;
|
|
23
|
-
}
|
|
24
|
-
async addEntryToQueueByParts(type, data, fireStartMessage) {
|
|
25
|
-
let rval = null;
|
|
26
|
-
const entry = this.createEntry(type, data);
|
|
27
|
-
if (entry) {
|
|
28
|
-
rval = await this.addEntryToQueue(entry, fireStartMessage);
|
|
29
|
-
}
|
|
30
|
-
return rval;
|
|
31
|
-
}
|
|
32
|
-
async addEntriesToQueue(entries, fireStartMessage) {
|
|
33
|
-
const rval = [];
|
|
34
|
-
for (let i = 0; i < entries.length; i++) {
|
|
35
|
-
try {
|
|
36
|
-
const tmp = await this.addEntryToQueue(entries[i], false);
|
|
37
|
-
rval.push(tmp);
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
Logger.error('Error processing %j : %s', entries[i], err);
|
|
41
|
-
rval.push(err['message']);
|
|
42
|
-
}
|
|
43
|
-
if (fireStartMessage) {
|
|
44
|
-
const fireResult = await this.fireStartProcessingRequest();
|
|
45
|
-
Logger.silly('FireResult : %s', fireResult);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return rval;
|
|
49
|
-
}
|
|
50
|
-
async fireImmediateProcessRequestByParts(type, data) {
|
|
51
|
-
let rval = null;
|
|
52
|
-
const entry = this.createEntry(type, data);
|
|
53
|
-
if (entry) {
|
|
54
|
-
rval = await this.fireImmediateProcessRequest(entry);
|
|
55
|
-
}
|
|
56
|
-
return rval;
|
|
57
|
-
}
|
|
58
|
-
static generateBackgroundGuid(targetEpochMS = new Date().getTime()) {
|
|
59
|
-
const dt = DateTime.fromMillis(targetEpochMS);
|
|
60
|
-
return dt.toFormat('yyyy-MM-dd-HH-mm-ss-') + StringRatchet.createType4Guid();
|
|
61
|
-
}
|
|
62
|
-
static backgroundGuidToPath(prefix, guid) {
|
|
63
|
-
let path = StringRatchet.trimToEmpty(prefix);
|
|
64
|
-
if (path.length && !path.endsWith('/')) {
|
|
65
|
-
path += '/';
|
|
66
|
-
}
|
|
67
|
-
path += guid.substring(0, 4) + '/' + guid.substring(5, 7) + '/' + guid.substring(8, 10) + '/';
|
|
68
|
-
path += guid + '.json';
|
|
69
|
-
return path;
|
|
70
|
-
}
|
|
71
|
-
static pathToBackgroundGuid(prefix, path) {
|
|
72
|
-
RequireRatchet.notNullOrUndefined(path, 'path');
|
|
73
|
-
let start = 0;
|
|
74
|
-
if (!path.endsWith('.json')) {
|
|
75
|
-
ErrorRatchet.throwFormattedErr('Cannot extract guid, does not end with .json : %s : %s', path, prefix);
|
|
76
|
-
}
|
|
77
|
-
if (StringRatchet.trimToNull(prefix)) {
|
|
78
|
-
if (!path.startsWith(prefix)) {
|
|
79
|
-
ErrorRatchet.throwFormattedErr('Cannot extract guid, does not start with prefix : %s : %s', path, prefix);
|
|
80
|
-
}
|
|
81
|
-
start = prefix.length;
|
|
82
|
-
if (!prefix.endsWith('/')) {
|
|
83
|
-
start++;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
start += 11;
|
|
87
|
-
return path.substring(start, path.length - 5);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=abstract-background-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-background-manager.js","sourceRoot":"","sources":["../../../src/background/manager/abstract-background-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { ErrorRatchet } from '@bitblit/ratchet-common/lib/lang/error-ratchet.js';
|
|
2
|
-
import { Logger } from '@bitblit/ratchet-common/lib/logger/logger.js';
|
|
3
|
-
import { NumberRatchet } from '@bitblit/ratchet-common/lib/lang/number-ratchet.js';
|
|
4
|
-
import { DeleteMessageCommand, GetQueueAttributesCommand, ReceiveMessageCommand, SendMessageCommand, } from '@aws-sdk/client-sqs';
|
|
5
|
-
import { EpsilonConstants } from '../../epsilon-constants.js';
|
|
6
|
-
import { AbstractBackgroundManager } from './abstract-background-manager.js';
|
|
7
|
-
import { BackgroundValidator } from '../background-validator.js';
|
|
8
|
-
import { PublishCommand } from '@aws-sdk/client-sns';
|
|
9
|
-
export class AwsSqsSnsBackgroundManager extends AbstractBackgroundManager {
|
|
10
|
-
_awsConfig;
|
|
11
|
-
_sqs;
|
|
12
|
-
_sns;
|
|
13
|
-
constructor(_awsConfig, _sqs, _sns) {
|
|
14
|
-
super();
|
|
15
|
-
this._awsConfig = _awsConfig;
|
|
16
|
-
this._sqs = _sqs;
|
|
17
|
-
this._sns = _sns;
|
|
18
|
-
const cfgErrors = BackgroundValidator.validateAwsConfig(_awsConfig);
|
|
19
|
-
if (cfgErrors.length) {
|
|
20
|
-
ErrorRatchet.throwFormattedErr('Cannot start - invalid AWS config : %j', cfgErrors);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
get backgroundManagerName() {
|
|
24
|
-
return 'AwsSqsSnsBackgroundManager';
|
|
25
|
-
}
|
|
26
|
-
get awsConfig() {
|
|
27
|
-
return this._awsConfig;
|
|
28
|
-
}
|
|
29
|
-
get sqs() {
|
|
30
|
-
return this._sqs;
|
|
31
|
-
}
|
|
32
|
-
get sns() {
|
|
33
|
-
return this._sns;
|
|
34
|
-
}
|
|
35
|
-
async addEntryToQueue(entry, fireStartMessage) {
|
|
36
|
-
try {
|
|
37
|
-
const wrapped = this.wrapEntryForInternal(entry);
|
|
38
|
-
const rval = wrapped.guid;
|
|
39
|
-
const params = {
|
|
40
|
-
DelaySeconds: 0,
|
|
41
|
-
MessageBody: JSON.stringify(wrapped),
|
|
42
|
-
MessageGroupId: entry.type,
|
|
43
|
-
QueueUrl: this.awsConfig.queueUrl,
|
|
44
|
-
};
|
|
45
|
-
Logger.info('Add entry to queue (remote) : %j : Start : %s', params, fireStartMessage);
|
|
46
|
-
const result = await this.sqs.send(new SendMessageCommand(params));
|
|
47
|
-
if (fireStartMessage) {
|
|
48
|
-
const fireResult = await this.fireStartProcessingRequest();
|
|
49
|
-
Logger.silly('FireResult : %s', fireResult);
|
|
50
|
-
}
|
|
51
|
-
Logger.info('Background process %s using message id %s', rval, result.MessageId);
|
|
52
|
-
return rval;
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
Logger.error('Error inserting background entry into SQS queue : %j', error);
|
|
56
|
-
throw new Error('Error inserting background entry into SQS queue : ' + error['code'] + ' : ' + error['name']);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
async fireImmediateProcessRequest(entry) {
|
|
60
|
-
let rval = null;
|
|
61
|
-
const wrapped = this.wrapEntryForInternal(entry);
|
|
62
|
-
rval = wrapped.guid;
|
|
63
|
-
try {
|
|
64
|
-
Logger.info('Fire immediately (remote) : %j ', entry);
|
|
65
|
-
const toWrite = {
|
|
66
|
-
type: EpsilonConstants.BACKGROUND_SNS_IMMEDIATE_RUN_FLAG,
|
|
67
|
-
backgroundEntry: wrapped,
|
|
68
|
-
};
|
|
69
|
-
const msg = JSON.stringify(toWrite);
|
|
70
|
-
const snsId = await this.writeMessageToSnsTopic(msg);
|
|
71
|
-
Logger.debug('Background guid %s Wrote message : %s to SNS : %s', rval, msg, snsId);
|
|
72
|
-
}
|
|
73
|
-
catch (err) {
|
|
74
|
-
Logger.error('Failed to fireImmediateProcessRequest : %s', err, err);
|
|
75
|
-
}
|
|
76
|
-
return rval;
|
|
77
|
-
}
|
|
78
|
-
async fireStartProcessingRequest() {
|
|
79
|
-
let rval = null;
|
|
80
|
-
try {
|
|
81
|
-
Logger.info('Fire start processing request (remote)');
|
|
82
|
-
rval = await this.writeMessageToSnsTopic(EpsilonConstants.BACKGROUND_SNS_START_MARKER);
|
|
83
|
-
}
|
|
84
|
-
catch (err) {
|
|
85
|
-
Logger.error('Failed to fireStartProcessingRequest : %s', err, err);
|
|
86
|
-
}
|
|
87
|
-
return rval;
|
|
88
|
-
}
|
|
89
|
-
async fetchApproximateNumberOfQueueEntries() {
|
|
90
|
-
let rval = null;
|
|
91
|
-
const all = await this.fetchCurrentQueueAttributes();
|
|
92
|
-
rval = NumberRatchet.safeNumber(all.Attributes['ApproximateNumberOfMessages']);
|
|
93
|
-
return rval;
|
|
94
|
-
}
|
|
95
|
-
async fetchCurrentQueueAttributes() {
|
|
96
|
-
let rval = null;
|
|
97
|
-
const req = {
|
|
98
|
-
AttributeNames: ['All'],
|
|
99
|
-
QueueUrl: this.awsConfig.queueUrl,
|
|
100
|
-
};
|
|
101
|
-
rval = await this.sqs.send(new GetQueueAttributesCommand(req));
|
|
102
|
-
return rval;
|
|
103
|
-
}
|
|
104
|
-
async writeMessageToSnsTopic(message) {
|
|
105
|
-
let rval = null;
|
|
106
|
-
const params = {
|
|
107
|
-
Message: message,
|
|
108
|
-
TopicArn: this.awsConfig.notificationArn,
|
|
109
|
-
};
|
|
110
|
-
Logger.debug('Writing message to SNS topic : j', params);
|
|
111
|
-
const result = await this.sns.send(new PublishCommand(params));
|
|
112
|
-
rval = result.MessageId;
|
|
113
|
-
return rval;
|
|
114
|
-
}
|
|
115
|
-
async takeEntryFromBackgroundQueue() {
|
|
116
|
-
const rval = [];
|
|
117
|
-
const params = {
|
|
118
|
-
MaxNumberOfMessages: 1,
|
|
119
|
-
QueueUrl: this.awsConfig.queueUrl,
|
|
120
|
-
VisibilityTimeout: 300,
|
|
121
|
-
WaitTimeSeconds: 0,
|
|
122
|
-
};
|
|
123
|
-
const message = await this.sqs.send(new ReceiveMessageCommand(params));
|
|
124
|
-
if (message && message.Messages && message.Messages.length > 0) {
|
|
125
|
-
for (let i = 0; i < message.Messages.length; i++) {
|
|
126
|
-
const m = message.Messages[i];
|
|
127
|
-
try {
|
|
128
|
-
const parsedBody = JSON.parse(m.Body);
|
|
129
|
-
if (!parsedBody.type) {
|
|
130
|
-
Logger.warn('Dropping invalid background entry : %j', parsedBody);
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
rval.push(parsedBody);
|
|
134
|
-
}
|
|
135
|
-
Logger.debug('Removing message from queue');
|
|
136
|
-
const delParams = {
|
|
137
|
-
QueueUrl: this.awsConfig.queueUrl,
|
|
138
|
-
ReceiptHandle: m.ReceiptHandle,
|
|
139
|
-
};
|
|
140
|
-
const delResult = await this.sqs.send(new DeleteMessageCommand(delParams));
|
|
141
|
-
Logger.silly('Delete result : %j', delResult);
|
|
142
|
-
}
|
|
143
|
-
catch (err) {
|
|
144
|
-
Logger.warn('Error parsing message, dropping : %j', m);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
Logger.debug('No messages found (likely end of recursion)');
|
|
150
|
-
}
|
|
151
|
-
return rval;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
//# sourceMappingURL=aws-sqs-sns-background-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aws-sqs-sns-background-manager.js","sourceRoot":"","sources":["../../../src/background/manager/aws-sqs-sns-background-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"background-manager-like.js","sourceRoot":"","sources":["../../../src/background/manager/background-manager-like.ts"],"names":[],"mappings":""}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { Logger } from '@bitblit/ratchet-common/lib/logger/logger.js';
|
|
2
|
-
import { GetQueueAttributesCommand, SQSClient } from '@aws-sdk/client-sqs';
|
|
3
|
-
import { ModelValidator } from '@bitblit/ratchet-misc/lib/model-validator/model-validator.js';
|
|
4
|
-
import { AwsSqsSnsBackgroundManager } from './aws-sqs-sns-background-manager.js';
|
|
5
|
-
import { EchoProcessor } from '../../built-in/background/echo-processor.js';
|
|
6
|
-
import { NoOpProcessor } from '../../built-in/background/no-op-processor.js';
|
|
7
|
-
import { SNSClient } from '@aws-sdk/client-sns';
|
|
8
|
-
import { mockClient } from 'aws-sdk-client-mock';
|
|
9
|
-
let mockSqs;
|
|
10
|
-
let mockSns;
|
|
11
|
-
describe('#createEntry', function () {
|
|
12
|
-
mockSns = mockClient(SNSClient);
|
|
13
|
-
mockSqs = mockClient(SQSClient);
|
|
14
|
-
let backgroundMgr;
|
|
15
|
-
const fakeAccountNumber = '123456789012';
|
|
16
|
-
let backgroundConfig;
|
|
17
|
-
let backgroundAwsConfig;
|
|
18
|
-
const fakeModelValidator = new ModelValidator({ BackgroundBuiltInSampleInputValidatedProcessor: {} });
|
|
19
|
-
const echoProcessor = new EchoProcessor();
|
|
20
|
-
const noOpProcessor = new NoOpProcessor();
|
|
21
|
-
beforeEach(() => {
|
|
22
|
-
mockSqs.reset();
|
|
23
|
-
mockSns.reset();
|
|
24
|
-
backgroundConfig = {
|
|
25
|
-
processors: [echoProcessor, noOpProcessor],
|
|
26
|
-
httpSubmissionPath: '/background/',
|
|
27
|
-
implyTypeFromPathSuffix: true,
|
|
28
|
-
httpMetaEndpoint: '/background-meta',
|
|
29
|
-
};
|
|
30
|
-
backgroundAwsConfig = {
|
|
31
|
-
queueUrl: 'https://fake-sqs.fake-availability-zone.test.com/' + fakeAccountNumber + '/fakeQueue.fifo',
|
|
32
|
-
notificationArn: 'arn:aws:sns:fake-availability-zone:' + fakeAccountNumber + ':fakeSnsTopicName',
|
|
33
|
-
};
|
|
34
|
-
backgroundMgr = new AwsSqsSnsBackgroundManager(backgroundAwsConfig, mockSqs, mockSns);
|
|
35
|
-
});
|
|
36
|
-
it('Should return queue attributes', async () => {
|
|
37
|
-
mockSqs.on(GetQueueAttributesCommand).resolves({
|
|
38
|
-
Attributes: {
|
|
39
|
-
ApproximateNumberOfMessages: 1,
|
|
40
|
-
},
|
|
41
|
-
});
|
|
42
|
-
const queueAttr = await backgroundMgr.fetchCurrentQueueAttributes();
|
|
43
|
-
const msgCount = await backgroundMgr.fetchApproximateNumberOfQueueEntries();
|
|
44
|
-
Logger.info('Got : %j', queueAttr);
|
|
45
|
-
Logger.info('Msg: %d', msgCount);
|
|
46
|
-
expect(queueAttr).toBeTruthy();
|
|
47
|
-
expect(msgCount).toEqual(1);
|
|
48
|
-
});
|
|
49
|
-
it('Should round-trip guids with prefix no slash', async () => {
|
|
50
|
-
const prefix = 'test';
|
|
51
|
-
const guid = AwsSqsSnsBackgroundManager.generateBackgroundGuid();
|
|
52
|
-
expect(guid).toBeTruthy();
|
|
53
|
-
const path = AwsSqsSnsBackgroundManager.backgroundGuidToPath(prefix, guid);
|
|
54
|
-
const outGuid = AwsSqsSnsBackgroundManager.pathToBackgroundGuid(prefix, path);
|
|
55
|
-
expect(outGuid).toEqual(guid);
|
|
56
|
-
});
|
|
57
|
-
it('Should round-trip guids with prefix with slash', async () => {
|
|
58
|
-
const prefix = 'test/';
|
|
59
|
-
const guid = AwsSqsSnsBackgroundManager.generateBackgroundGuid();
|
|
60
|
-
expect(guid).toBeTruthy();
|
|
61
|
-
const path = AwsSqsSnsBackgroundManager.backgroundGuidToPath(prefix, guid);
|
|
62
|
-
const outGuid = AwsSqsSnsBackgroundManager.pathToBackgroundGuid(prefix, path);
|
|
63
|
-
expect(outGuid).toEqual(guid);
|
|
64
|
-
});
|
|
65
|
-
it('Should round-trip guids with no prefix', async () => {
|
|
66
|
-
const prefix = null;
|
|
67
|
-
const guid = AwsSqsSnsBackgroundManager.generateBackgroundGuid();
|
|
68
|
-
expect(guid).toBeTruthy();
|
|
69
|
-
const path = AwsSqsSnsBackgroundManager.backgroundGuidToPath(prefix, guid);
|
|
70
|
-
const outGuid = AwsSqsSnsBackgroundManager.pathToBackgroundGuid(prefix, path);
|
|
71
|
-
expect(outGuid).toEqual(guid);
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
//# sourceMappingURL=background-manager.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"background-manager.spec.js","sourceRoot":"","sources":["../../../src/background/manager/background-manager.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
2
|
-
import { Logger } from '@bitblit/ratchet-common/lib/logger/logger.js';
|
|
3
|
-
import { AbstractBackgroundManager } from './abstract-background-manager.js';
|
|
4
|
-
export class SingleThreadLocalBackgroundManager extends AbstractBackgroundManager {
|
|
5
|
-
_localBus = new Subject();
|
|
6
|
-
get backgroundManagerName() {
|
|
7
|
-
return 'SingleThreadLocalBackgroundManager';
|
|
8
|
-
}
|
|
9
|
-
constructor() {
|
|
10
|
-
super();
|
|
11
|
-
}
|
|
12
|
-
immediateProcessQueue() {
|
|
13
|
-
return this._localBus;
|
|
14
|
-
}
|
|
15
|
-
async addEntryToQueue(entry, fireStartMessage) {
|
|
16
|
-
const wrapped = this.wrapEntryForInternal(entry);
|
|
17
|
-
const rval = wrapped.guid;
|
|
18
|
-
Logger.info('Add entry to queue (local) : %j : Start : %s', entry, fireStartMessage);
|
|
19
|
-
this._localBus.next(wrapped);
|
|
20
|
-
return rval;
|
|
21
|
-
}
|
|
22
|
-
async fireImmediateProcessRequest(entry) {
|
|
23
|
-
let rval = null;
|
|
24
|
-
const wrapped = this.wrapEntryForInternal(entry);
|
|
25
|
-
rval = wrapped.guid;
|
|
26
|
-
Logger.info('Fire immediately (local) : %j ', entry);
|
|
27
|
-
this._localBus.next(wrapped);
|
|
28
|
-
return rval;
|
|
29
|
-
}
|
|
30
|
-
async fireStartProcessingRequest() {
|
|
31
|
-
let rval = null;
|
|
32
|
-
Logger.info('Fire start processing request (local, ignored)');
|
|
33
|
-
rval = 'NO-OP';
|
|
34
|
-
return rval;
|
|
35
|
-
}
|
|
36
|
-
async fetchApproximateNumberOfQueueEntries() {
|
|
37
|
-
let rval = null;
|
|
38
|
-
rval = 0;
|
|
39
|
-
return rval;
|
|
40
|
-
}
|
|
41
|
-
async takeEntryFromBackgroundQueue() {
|
|
42
|
-
Logger.info('Called takeEntryFromBackgroundQueue on SingleThreadedLocal - returning empty');
|
|
43
|
-
return [];
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=single-thread-local-background-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"single-thread-local-background-manager.js","sourceRoot":"","sources":["../../../src/background/manager/single-thread-local-background-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAGtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAS7E,MAAM,OAAO,kCAAmC,SAAQ,yBAAyB;IACvE,SAAS,GAA0C,IAAI,OAAO,EAAgC,CAAC;IAEvG,IAAW,qBAAqB;QAC9B,OAAO,oCAAoC,CAAC;IAC9C,CAAC;IAED;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAEM,qBAAqB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,eAAe,CAAI,KAAyB,EAAE,gBAA0B;QACnF,MAAM,OAAO,GAA+B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAW,OAAO,CAAC,IAAI,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACrF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,2BAA2B,CAAI,KAAyB;QACnE,IAAI,IAAI,GAAW,IAAI,CAAC;QACxB,MAAM,OAAO,GAA+B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7E,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,0BAA0B;QACrC,IAAI,IAAI,GAAW,IAAI,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC9D,IAAI,GAAG,OAAO,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,oCAAoC;QAC/C,IAAI,IAAI,GAAW,IAAI,CAAC;QACxB,IAAI,GAAG,CAAC,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,4BAA4B;QACvC,MAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAC5F,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|