@bett3r-dev/pv3 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/adapters/cache/index.d.ts +2 -0
- package/build/adapters/cache/index.d.ts.map +1 -0
- package/build/adapters/cache/index.js +18 -0
- package/build/adapters/cache/index.js.map +1 -0
- package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts +1 -0
- package/build/adapters/cache/memory/__tests__/memoryCache.test.d.ts.map +1 -0
- package/build/adapters/cache/memory/__tests__/memoryCache.test.js +6 -0
- package/build/adapters/cache/memory/__tests__/memoryCache.test.js.map +1 -0
- package/build/adapters/cache/memory/index.d.ts +3 -0
- package/build/adapters/cache/memory/index.d.ts.map +1 -0
- package/build/adapters/cache/memory/index.js +119 -0
- package/build/adapters/cache/memory/index.js.map +1 -0
- package/build/adapters/configuration/__tests__/dotEnv.test.d.ts +2 -0
- package/build/adapters/configuration/__tests__/dotEnv.test.d.ts.map +1 -0
- package/build/adapters/configuration/__tests__/dotEnv.test.js +43 -0
- package/build/adapters/configuration/__tests__/dotEnv.test.js.map +1 -0
- package/build/adapters/configuration/dotEnv.d.ts +3 -0
- package/build/adapters/configuration/dotEnv.d.ts.map +1 -0
- package/build/adapters/configuration/dotEnv.js +35 -0
- package/build/adapters/configuration/dotEnv.js.map +1 -0
- package/build/adapters/configuration/index.d.ts +2 -0
- package/build/adapters/configuration/index.d.ts.map +1 -0
- package/build/adapters/configuration/index.js +18 -0
- package/build/adapters/configuration/index.js.map +1 -0
- package/build/adapters/database/index.d.ts +2 -0
- package/build/adapters/database/index.d.ts.map +1 -0
- package/build/adapters/database/index.js +18 -0
- package/build/adapters/database/index.js.map +1 -0
- package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts +1 -0
- package/build/adapters/database/memory/__tests__/memoryDb.test.d.ts.map +1 -0
- package/build/adapters/database/memory/__tests__/memoryDb.test.js +36 -0
- package/build/adapters/database/memory/__tests__/memoryDb.test.js.map +1 -0
- package/build/adapters/database/memory/index.d.ts +3 -0
- package/build/adapters/database/memory/index.d.ts.map +1 -0
- package/build/adapters/database/memory/index.js +241 -0
- package/build/adapters/database/memory/index.js.map +1 -0
- package/build/adapters/endpoints/addAuthUser/index.d.ts +8 -0
- package/build/adapters/endpoints/addAuthUser/index.d.ts.map +1 -0
- package/build/adapters/endpoints/addAuthUser/index.js +57 -0
- package/build/adapters/endpoints/addAuthUser/index.js.map +1 -0
- package/build/adapters/endpoints/endpointValidation/index.d.ts +4 -0
- package/build/adapters/endpoints/endpointValidation/index.d.ts.map +1 -0
- package/build/adapters/endpoints/endpointValidation/index.js +27 -0
- package/build/adapters/endpoints/endpointValidation/index.js.map +1 -0
- package/build/adapters/endpoints/index.d.ts +4 -0
- package/build/adapters/endpoints/index.d.ts.map +1 -0
- package/build/adapters/endpoints/index.js +21 -0
- package/build/adapters/endpoints/index.js.map +1 -0
- package/build/adapters/endpoints/localAuthorization/index.d.ts +1 -0
- package/build/adapters/endpoints/localAuthorization/index.d.ts.map +1 -0
- package/build/adapters/endpoints/localAuthorization/index.js +68 -0
- package/build/adapters/endpoints/localAuthorization/index.js.map +1 -0
- package/build/adapters/endpoints/tcpConsumer/index.d.ts +3 -0
- package/build/adapters/endpoints/tcpConsumer/index.d.ts.map +1 -0
- package/build/adapters/endpoints/tcpConsumer/index.js +64 -0
- package/build/adapters/endpoints/tcpConsumer/index.js.map +1 -0
- package/build/adapters/endpoints/userSession/index.d.ts +8 -0
- package/build/adapters/endpoints/userSession/index.d.ts.map +1 -0
- package/build/adapters/endpoints/userSession/index.js +43 -0
- package/build/adapters/endpoints/userSession/index.js.map +1 -0
- package/build/adapters/eventstore/database.d.ts +3 -0
- package/build/adapters/eventstore/database.d.ts.map +1 -0
- package/build/adapters/eventstore/database.js +156 -0
- package/build/adapters/eventstore/database.js.map +1 -0
- package/build/adapters/eventstore/index.d.ts +2 -0
- package/build/adapters/eventstore/index.d.ts.map +1 -0
- package/build/adapters/eventstore/index.js +18 -0
- package/build/adapters/eventstore/index.js.map +1 -0
- package/build/adapters/infrastructure/index.d.ts +2 -0
- package/build/adapters/infrastructure/index.d.ts.map +1 -0
- package/build/adapters/infrastructure/index.js +18 -0
- package/build/adapters/infrastructure/index.js.map +1 -0
- package/build/adapters/infrastructure/local/index.d.ts +4 -0
- package/build/adapters/infrastructure/local/index.d.ts.map +1 -0
- package/build/adapters/infrastructure/local/index.js +37 -0
- package/build/adapters/infrastructure/local/index.js.map +1 -0
- package/build/adapters/logger/console.d.ts +3 -0
- package/build/adapters/logger/console.d.ts.map +1 -0
- package/build/adapters/logger/console.js +38 -0
- package/build/adapters/logger/console.js.map +1 -0
- package/build/adapters/logger/index.d.ts +2 -0
- package/build/adapters/logger/index.d.ts.map +1 -0
- package/build/adapters/logger/index.js +18 -0
- package/build/adapters/logger/index.js.map +1 -0
- package/build/index.d.ts +23 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +39 -0
- package/build/index.js.map +1 -0
- package/build/libraries/modules/fs.d.ts +12 -0
- package/build/libraries/modules/fs.d.ts.map +1 -0
- package/build/libraries/modules/fs.js +103 -0
- package/build/libraries/modules/fs.js.map +1 -0
- package/build/libraries/modules/index.d.ts +2 -0
- package/build/libraries/modules/index.d.ts.map +1 -0
- package/build/libraries/modules/index.js +18 -0
- package/build/libraries/modules/index.js.map +1 -0
- package/build/libraries/openApi/index.d.ts +2 -0
- package/build/libraries/openApi/index.d.ts.map +1 -0
- package/build/libraries/openApi/index.js +18 -0
- package/build/libraries/openApi/index.js.map +1 -0
- package/build/libraries/openApi/pruneUnusedRef.d.ts +3 -0
- package/build/libraries/openApi/pruneUnusedRef.d.ts.map +1 -0
- package/build/libraries/openApi/pruneUnusedRef.js +30 -0
- package/build/libraries/openApi/pruneUnusedRef.js.map +1 -0
- package/build/libraries/tcp/index.d.ts +8 -0
- package/build/libraries/tcp/index.d.ts.map +1 -0
- package/build/libraries/tcp/index.js +108 -0
- package/build/libraries/tcp/index.js.map +1 -0
- package/build/libraries/tcp/types.d.ts +45 -0
- package/build/libraries/tcp/types.d.ts.map +1 -0
- package/build/libraries/tcp/types.js +3 -0
- package/build/libraries/tcp/types.js.map +1 -0
- package/build/libraries/validation/__tests__/validation.test.d.ts +2 -0
- package/build/libraries/validation/__tests__/validation.test.d.ts.map +1 -0
- package/build/libraries/validation/__tests__/validation.test.js +53 -0
- package/build/libraries/validation/__tests__/validation.test.js.map +1 -0
- package/build/libraries/validation/index.d.ts +8 -0
- package/build/libraries/validation/index.d.ts.map +1 -0
- package/build/libraries/validation/index.js +51 -0
- package/build/libraries/validation/index.js.map +1 -0
- package/build/ports/authentication/index.d.ts +12 -0
- package/build/ports/authentication/index.d.ts.map +1 -0
- package/build/ports/authentication/index.js +23 -0
- package/build/ports/authentication/index.js.map +1 -0
- package/build/ports/base.d.ts +7 -0
- package/build/ports/base.d.ts.map +1 -0
- package/build/ports/base.js +25 -0
- package/build/ports/base.js.map +1 -0
- package/build/ports/cache/index.d.ts +3 -0
- package/build/ports/cache/index.d.ts.map +1 -0
- package/build/ports/cache/index.js +19 -0
- package/build/ports/cache/index.js.map +1 -0
- package/build/ports/configuration/__tests__/configurationPort.test.d.ts +2 -0
- package/build/ports/configuration/__tests__/configurationPort.test.d.ts.map +1 -0
- package/build/ports/configuration/__tests__/configurationPort.test.js +51 -0
- package/build/ports/configuration/__tests__/configurationPort.test.js.map +1 -0
- package/build/ports/configuration/args.d.ts +57 -0
- package/build/ports/configuration/args.d.ts.map +1 -0
- package/build/ports/configuration/args.js +44 -0
- package/build/ports/configuration/args.js.map +1 -0
- package/build/ports/configuration/common.d.ts +2 -0
- package/build/ports/configuration/common.d.ts.map +1 -0
- package/build/ports/configuration/common.js +19 -0
- package/build/ports/configuration/common.js.map +1 -0
- package/build/ports/configuration/index.d.ts +10 -0
- package/build/ports/configuration/index.d.ts.map +1 -0
- package/build/ports/configuration/index.js +96 -0
- package/build/ports/configuration/index.js.map +1 -0
- package/build/ports/configuration/localConfig.d.ts +3 -0
- package/build/ports/configuration/localConfig.d.ts.map +1 -0
- package/build/ports/configuration/localConfig.js +108 -0
- package/build/ports/configuration/localConfig.js.map +1 -0
- package/build/ports/database/index.d.ts +4 -0
- package/build/ports/database/index.d.ts.map +1 -0
- package/build/ports/database/index.js +27 -0
- package/build/ports/database/index.js.map +1 -0
- package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts +2 -0
- package/build/ports/endpoints/__tests__/endpointsCall.test.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/endpointsCall.test.js +21 -0
- package/build/ports/endpoints/__tests__/endpointsCall.test.js.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/base.d.ts +77 -0
- package/build/ports/endpoints/__tests__/test-client-library/base.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/base.js +91 -0
- package/build/ports/endpoints/__tests__/test-client-library/base.js.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/index.d.ts +29 -0
- package/build/ports/endpoints/__tests__/test-client-library/index.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/index.js +43 -0
- package/build/ports/endpoints/__tests__/test-client-library/index.js.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts +106 -0
- package/build/ports/endpoints/__tests__/test-client-library/services/service.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/test-client-library/services/service.js +62 -0
- package/build/ports/endpoints/__tests__/test-client-library/services/service.js.map +1 -0
- package/build/ports/endpoints/__tests__/utils.test.d.ts +1 -0
- package/build/ports/endpoints/__tests__/utils.test.d.ts.map +1 -0
- package/build/ports/endpoints/__tests__/utils.test.js +53 -0
- package/build/ports/endpoints/__tests__/utils.test.js.map +1 -0
- package/build/ports/endpoints/index.d.ts +29 -0
- package/build/ports/endpoints/index.d.ts.map +1 -0
- package/build/ports/endpoints/index.js +263 -0
- package/build/ports/endpoints/index.js.map +1 -0
- package/build/ports/endpoints/openApi.d.ts +16 -0
- package/build/ports/endpoints/openApi.d.ts.map +1 -0
- package/build/ports/endpoints/openApi.js +187 -0
- package/build/ports/endpoints/openApi.js.map +1 -0
- package/build/ports/endpoints/utils.d.ts +17 -0
- package/build/ports/endpoints/utils.d.ts.map +1 -0
- package/build/ports/endpoints/utils.js +31 -0
- package/build/ports/endpoints/utils.js.map +1 -0
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts +2 -0
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.d.ts.map +1 -0
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.js +35 -0
- package/build/ports/eventsourcing/__tests__/eventhandlers.test.js.map +1 -0
- package/build/ports/eventsourcing/__tests__/invariants.test.d.ts +2 -0
- package/build/ports/eventsourcing/__tests__/invariants.test.d.ts.map +1 -0
- package/build/ports/eventsourcing/__tests__/invariants.test.js +210 -0
- package/build/ports/eventsourcing/__tests__/invariants.test.js.map +1 -0
- package/build/ports/eventsourcing/commandHandlers/index.d.ts +25 -0
- package/build/ports/eventsourcing/commandHandlers/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/commandHandlers/index.js +392 -0
- package/build/ports/eventsourcing/commandHandlers/index.js.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/index.d.ts +3 -0
- package/build/ports/eventsourcing/commandTemplates/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/index.js +19 -0
- package/build/ports/eventsourcing/commandTemplates/index.js.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts +4 -0
- package/build/ports/eventsourcing/commandTemplates/multiStream.d.ts.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/multiStream.js +73 -0
- package/build/ports/eventsourcing/commandTemplates/multiStream.js.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts +9 -0
- package/build/ports/eventsourcing/commandTemplates/snapshot.d.ts.map +1 -0
- package/build/ports/eventsourcing/commandTemplates/snapshot.js +39 -0
- package/build/ports/eventsourcing/commandTemplates/snapshot.js.map +1 -0
- package/build/ports/eventsourcing/eventHandlers/index.d.ts +33 -0
- package/build/ports/eventsourcing/eventHandlers/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/eventHandlers/index.js +276 -0
- package/build/ports/eventsourcing/eventHandlers/index.js.map +1 -0
- package/build/ports/eventsourcing/index.d.ts +9 -0
- package/build/ports/eventsourcing/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/index.js +101 -0
- package/build/ports/eventsourcing/index.js.map +1 -0
- package/build/ports/eventsourcing/invariants/combinators.d.ts +4 -0
- package/build/ports/eventsourcing/invariants/combinators.d.ts.map +1 -0
- package/build/ports/eventsourcing/invariants/combinators.js +20 -0
- package/build/ports/eventsourcing/invariants/combinators.js.map +1 -0
- package/build/ports/eventsourcing/invariants/common.d.ts +10 -0
- package/build/ports/eventsourcing/invariants/common.d.ts.map +1 -0
- package/build/ports/eventsourcing/invariants/common.js +37 -0
- package/build/ports/eventsourcing/invariants/common.js.map +1 -0
- package/build/ports/eventsourcing/invariants/comparisons.d.ts +19 -0
- package/build/ports/eventsourcing/invariants/comparisons.d.ts.map +1 -0
- package/build/ports/eventsourcing/invariants/comparisons.js +83 -0
- package/build/ports/eventsourcing/invariants/comparisons.js.map +1 -0
- package/build/ports/eventsourcing/invariants/index.d.ts +5 -0
- package/build/ports/eventsourcing/invariants/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/invariants/index.js +21 -0
- package/build/ports/eventsourcing/invariants/index.js.map +1 -0
- package/build/ports/eventsourcing/invariants/stateExistance.d.ts +4 -0
- package/build/ports/eventsourcing/invariants/stateExistance.d.ts.map +1 -0
- package/build/ports/eventsourcing/invariants/stateExistance.js +33 -0
- package/build/ports/eventsourcing/invariants/stateExistance.js.map +1 -0
- package/build/ports/eventsourcing/subscriptions/index.d.ts +2 -0
- package/build/ports/eventsourcing/subscriptions/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/subscriptions/index.js +18 -0
- package/build/ports/eventsourcing/subscriptions/index.js.map +1 -0
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts +3 -0
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.d.ts.map +1 -0
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js +81 -0
- package/build/ports/eventsourcing/subscriptions/sseSubscriptions.js.map +1 -0
- package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts +4 -0
- package/build/ports/eventsourcing/utils/aggregateBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/aggregateBuilder.js +45 -0
- package/build/ports/eventsourcing/utils/aggregateBuilder.js.map +1 -0
- package/build/ports/eventsourcing/utils/commandBuilder.d.ts +3 -0
- package/build/ports/eventsourcing/utils/commandBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/commandBuilder.js +102 -0
- package/build/ports/eventsourcing/utils/commandBuilder.js.map +1 -0
- package/build/ports/eventsourcing/utils/eventHandlerBuilder.d.ts +3 -0
- package/build/ports/eventsourcing/utils/eventHandlerBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/eventHandlerBuilder.js +19 -0
- package/build/ports/eventsourcing/utils/eventHandlerBuilder.js.map +1 -0
- package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts +4 -0
- package/build/ports/eventsourcing/utils/externalSystemBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/externalSystemBuilder.js +34 -0
- package/build/ports/eventsourcing/utils/externalSystemBuilder.js.map +1 -0
- package/build/ports/eventsourcing/utils/index.d.ts +13 -0
- package/build/ports/eventsourcing/utils/index.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/index.js +45 -0
- package/build/ports/eventsourcing/utils/index.js.map +1 -0
- package/build/ports/eventsourcing/utils/policyBuilder.d.ts +3 -0
- package/build/ports/eventsourcing/utils/policyBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/policyBuilder.js +29 -0
- package/build/ports/eventsourcing/utils/policyBuilder.js.map +1 -0
- package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts +5 -0
- package/build/ports/eventsourcing/utils/readmodelBuilder.d.ts.map +1 -0
- package/build/ports/eventsourcing/utils/readmodelBuilder.js +45 -0
- package/build/ports/eventsourcing/utils/readmodelBuilder.js.map +1 -0
- package/build/ports/eventstore/index.d.ts +3 -0
- package/build/ports/eventstore/index.d.ts.map +1 -0
- package/build/ports/eventstore/index.js +13 -0
- package/build/ports/eventstore/index.js.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/index.d.ts +3 -0
- package/build/ports/infrastructure/__tests__/fixture/index.d.ts.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/index.js +19 -0
- package/build/ports/infrastructure/__tests__/fixture/index.js.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts +19 -0
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.d.ts.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js +76 -0
- package/build/ports/infrastructure/__tests__/fixture/infrastructureServices.js.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts +177 -0
- package/build/ports/infrastructure/__tests__/fixture/structureState.d.ts.map +1 -0
- package/build/ports/infrastructure/__tests__/fixture/structureState.js +258 -0
- package/build/ports/infrastructure/__tests__/fixture/structureState.js.map +1 -0
- package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts +2 -0
- package/build/ports/infrastructure/__tests__/infrastructure.test.d.ts.map +1 -0
- package/build/ports/infrastructure/__tests__/infrastructure.test.js +11 -0
- package/build/ports/infrastructure/__tests__/infrastructure.test.js.map +1 -0
- package/build/ports/infrastructure/index.d.ts +53 -0
- package/build/ports/infrastructure/index.d.ts.map +1 -0
- package/build/ports/infrastructure/index.js +149 -0
- package/build/ports/infrastructure/index.js.map +1 -0
- package/build/ports/infrastructure/utils.d.ts +14 -0
- package/build/ports/infrastructure/utils.d.ts.map +1 -0
- package/build/ports/infrastructure/utils.js +126 -0
- package/build/ports/infrastructure/utils.js.map +1 -0
- package/build/ports/logger/index.d.ts +3 -0
- package/build/ports/logger/index.d.ts.map +1 -0
- package/build/ports/logger/index.js +32 -0
- package/build/ports/logger/index.js.map +1 -0
- package/build/utils/index.d.ts +35 -0
- package/build/utils/index.d.ts.map +1 -0
- package/build/utils/index.js +190 -0
- package/build/utils/index.js.map +1 -0
- package/package.json +28 -0
- package/src/adapters/cache/index.ts +1 -0
- package/src/adapters/cache/memory/__tests__/memoryCache.test.ts +6 -0
- package/src/adapters/cache/memory/index.ts +142 -0
- package/src/adapters/configuration/__tests__/.env +4 -0
- package/src/adapters/configuration/__tests__/dotEnv.test.ts +38 -0
- package/src/adapters/configuration/dotEnv.ts +33 -0
- package/src/adapters/configuration/index.ts +1 -0
- package/src/adapters/database/index.ts +1 -0
- package/src/adapters/database/memory/__tests__/memoryDb.test.ts +37 -0
- package/src/adapters/database/memory/index.ts +279 -0
- package/src/adapters/endpoints/addAuthUser/index.ts +55 -0
- package/src/adapters/endpoints/endpointValidation/index.ts +26 -0
- package/src/adapters/endpoints/index.ts +4 -0
- package/src/adapters/endpoints/localAuthorization/index.ts +75 -0
- package/src/adapters/endpoints/tcpConsumer/index.ts +69 -0
- package/src/adapters/endpoints/userSession/index.ts +40 -0
- package/src/adapters/eventstore/database.ts +178 -0
- package/src/adapters/eventstore/index.ts +1 -0
- package/src/adapters/infrastructure/index.ts +1 -0
- package/src/adapters/infrastructure/local/index.ts +40 -0
- package/src/adapters/logger/console.ts +42 -0
- package/src/adapters/logger/index.ts +1 -0
- package/src/index.ts +25 -0
- package/src/libraries/modules/fs.ts +88 -0
- package/src/libraries/modules/index.ts +1 -0
- package/src/libraries/openApi/index.ts +1 -0
- package/src/libraries/openApi/pruneUnusedRef.ts +35 -0
- package/src/libraries/tcp/index.ts +98 -0
- package/src/libraries/tcp/types.ts +43 -0
- package/src/libraries/validation/__tests__/validation.test.ts +25 -0
- package/src/libraries/validation/index.ts +48 -0
- package/src/ports/authentication/index.ts +25 -0
- package/src/ports/base.ts +20 -0
- package/src/ports/cache/index.ts +17 -0
- package/src/ports/configuration/__tests__/configurationPort.test.ts +47 -0
- package/src/ports/configuration/args.ts +39 -0
- package/src/ports/configuration/common.ts +12 -0
- package/src/ports/configuration/index.ts +110 -0
- package/src/ports/configuration/localConfig.ts +117 -0
- package/src/ports/database/index.ts +25 -0
- package/src/ports/endpoints/__tests__/endpointsCall.test.ts +20 -0
- package/src/ports/endpoints/__tests__/test-client-library/base.ts +167 -0
- package/src/ports/endpoints/__tests__/test-client-library/index.ts +23 -0
- package/src/ports/endpoints/__tests__/test-client-library/services/service.ts +181 -0
- package/src/ports/endpoints/__tests__/utils.test.ts +54 -0
- package/src/ports/endpoints/index.ts +272 -0
- package/src/ports/endpoints/openApi.ts +191 -0
- package/src/ports/endpoints/utils.ts +31 -0
- package/src/ports/eventsourcing/__tests__/eventhandlers.test.ts +30 -0
- package/src/ports/eventsourcing/__tests__/invariants.test.ts +213 -0
- package/src/ports/eventsourcing/commandHandlers/index.ts +625 -0
- package/src/ports/eventsourcing/commandTemplates/index.ts +2 -0
- package/src/ports/eventsourcing/commandTemplates/multiStream.ts +70 -0
- package/src/ports/eventsourcing/commandTemplates/snapshot.ts +43 -0
- package/src/ports/eventsourcing/eventHandlers/index.ts +429 -0
- package/src/ports/eventsourcing/index.ts +98 -0
- package/src/ports/eventsourcing/invariants/combinators.ts +25 -0
- package/src/ports/eventsourcing/invariants/common.ts +42 -0
- package/src/ports/eventsourcing/invariants/comparisons.ts +90 -0
- package/src/ports/eventsourcing/invariants/index.ts +4 -0
- package/src/ports/eventsourcing/invariants/stateExistance.ts +34 -0
- package/src/ports/eventsourcing/subscriptions/index.ts +1 -0
- package/src/ports/eventsourcing/subscriptions/sseSubscriptions.ts +103 -0
- package/src/ports/eventsourcing/utils/aggregateBuilder.ts +49 -0
- package/src/ports/eventsourcing/utils/commandBuilder.ts +113 -0
- package/src/ports/eventsourcing/utils/eventHandlerBuilder.ts +22 -0
- package/src/ports/eventsourcing/utils/externalSystemBuilder.ts +42 -0
- package/src/ports/eventsourcing/utils/index.ts +25 -0
- package/src/ports/eventsourcing/utils/policyBuilder.ts +31 -0
- package/src/ports/eventsourcing/utils/readmodelBuilder.ts +52 -0
- package/src/ports/eventstore/index.ts +11 -0
- package/src/ports/infrastructure/__tests__/fixture/index.ts +2 -0
- package/src/ports/infrastructure/__tests__/fixture/infrastructureServices.ts +72 -0
- package/src/ports/infrastructure/__tests__/fixture/structureState.ts +254 -0
- package/src/ports/infrastructure/__tests__/infrastructure.test.ts +11 -0
- package/src/ports/infrastructure/index.ts +162 -0
- package/src/ports/infrastructure/utils.ts +130 -0
- package/src/ports/logger/index.ts +34 -0
- package/src/utils/index.ts +186 -0
- package/tsconfig.json +19 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ObjectSchema } from '@bett3r-dev/jsonschema-definer';
|
|
2
|
+
import { CollectionFilter, CollectionQueryParams, CollectionSort, CommittedEvent, Document, EndpointActionParams, EndpointsPort, EventHandler, ExecuteCommandFunction, LoggerType } from '@bett3r-dev/pv3-types';
|
|
3
|
+
export declare const coerceFilterType: (value: string[], targetType: string, op: string) => string | number | boolean | string[] | number[] | boolean[] | undefined;
|
|
4
|
+
export declare const formatFilter: <Model extends Document>(filters: string[], schema: ObjectSchema<Model, true>) => Partial<import("@bett3r-dev/pv3-types").CollectionFilterOR<Model> & import("@bett3r-dev/pv3-types").CollectionFilterAND<Model> & import("@bett3r-dev/pv3-types").CollectionFilterInstance<Model>>[];
|
|
5
|
+
export declare const formatSort: <Model extends Document>(sorts: string[]) => CollectionSort<Model>[];
|
|
6
|
+
export declare const formatSelect: <Model extends Document>(select: string[], schema: ObjectSchema<Model, true>) => string[];
|
|
7
|
+
export declare const defaultQueryParamsTranslator: <Model extends Document = any, Query_1 extends {
|
|
8
|
+
limit?: string | undefined;
|
|
9
|
+
after?: string | undefined;
|
|
10
|
+
sort?: string | string[] | undefined;
|
|
11
|
+
filter?: string | string[] | undefined;
|
|
12
|
+
select?: string[] | undefined;
|
|
13
|
+
access_token?: string | undefined;
|
|
14
|
+
apikey?: string | undefined;
|
|
15
|
+
} = {
|
|
16
|
+
limit?: string | undefined;
|
|
17
|
+
after?: string | undefined;
|
|
18
|
+
sort?: string | string[] | undefined;
|
|
19
|
+
filter?: string | string[] | undefined;
|
|
20
|
+
select?: string[] | undefined;
|
|
21
|
+
access_token?: string | undefined;
|
|
22
|
+
apikey?: string | undefined;
|
|
23
|
+
}, Params extends {
|
|
24
|
+
id?: string | undefined;
|
|
25
|
+
} = {
|
|
26
|
+
id?: string | undefined;
|
|
27
|
+
}>(schema: ObjectSchema<Model, true>, { params, query, }: Pick<EndpointActionParams<Model, Query_1, Params>, "query" | "params">) => CollectionQueryParams<Model>;
|
|
28
|
+
export declare const createEventHandlers: (logger: LoggerType, endpoints: EndpointsPort) => {
|
|
29
|
+
handleEvent: (eventHandler: EventHandler, executeCommand: ExecuteCommandFunction) => (event: CommittedEvent) => Promise<unknown>;
|
|
30
|
+
pauseQueue: (eventHandlerName: string, value: boolean) => void;
|
|
31
|
+
registerEventHandler: (eventHandler: EventHandler, executeCommand: ExecuteCommandFunction) => string;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/eventHandlers/index.ts"],"names":[],"mappings":"AACA,OAAU,EAAc,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAGL,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EAEd,cAAc,EAEd,QAAQ,EACR,oBAAoB,EAEpB,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,UAAU,EAYX,MAAM,uBAAuB,CAAC;AAM/B,eAAO,MAAM,gBAAgB,UACpB,MAAM,EAAE,cACH,MAAM,MACd,MAAM,4EASX,CAAC;AAEF,eAAO,MAAM,YAAY,oCACd,MAAM,EAAE,2OAoBlB,CAAC;AAEF,eAAO,MAAM,UAAU,kCAAoC,MAAM,EAAE,4BAYlE,CAAC;AAEF,eAAO,MAAM,YAAY,mCACf,MAAM,EAAE,gDAWjB,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;iKAuBxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,WAAa,UAAU,aAAa,aAAa;gCAwC7D,YAAY,kBAAkB,sBAAsB,aACzD,cAAc;mCAbY,MAAM,SAAS,OAAO;yCA+O7C,YAAY,kBACV,sBAAsB,KACrC,MAAM;CAkCV,CAAC"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createEventHandlers = exports.defaultQueryParamsTranslator = exports.formatSelect = exports.formatSort = exports.formatFilter = exports.coerceFilterType = void 0;
|
|
7
|
+
const bett3r_utils_1 = require("@bett3r-dev/bett3r-utils");
|
|
8
|
+
const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
|
|
9
|
+
const pv3_types_1 = require("@bett3r-dev/pv3-types");
|
|
10
|
+
const async_1 = require("async");
|
|
11
|
+
const change_case_1 = require("change-case");
|
|
12
|
+
const validation_1 = require("../../../libraries/validation");
|
|
13
|
+
//TODO: Consider Objects
|
|
14
|
+
const coerceFilterType = (value, targetType, op) => {
|
|
15
|
+
const inOrNin = op === 'in' || op === 'nin';
|
|
16
|
+
if (!value.length || ['exists', 'notExists'].includes(op))
|
|
17
|
+
return undefined;
|
|
18
|
+
if (targetType === 'string')
|
|
19
|
+
return !inOrNin ? value[0] : value;
|
|
20
|
+
else if (targetType === 'number')
|
|
21
|
+
return !inOrNin ? Number(value[0]) : value.map((v) => Number(v));
|
|
22
|
+
else if (targetType === 'boolean')
|
|
23
|
+
return !inOrNin ? value[0] === 'true' : value.map((v) => v === 'true');
|
|
24
|
+
};
|
|
25
|
+
exports.coerceFilterType = coerceFilterType;
|
|
26
|
+
const formatFilter = (filters, schema) => {
|
|
27
|
+
return (filters &&
|
|
28
|
+
(0, bett3r_utils_1.ensureArray)(filters).map((f) => {
|
|
29
|
+
const operands = f.split(',');
|
|
30
|
+
const [field, op, ...value] = operands;
|
|
31
|
+
return {
|
|
32
|
+
field,
|
|
33
|
+
op,
|
|
34
|
+
value: (0, exports.coerceFilterType)(value, (schema.plain.properties[field] || {}).type ||
|
|
35
|
+
'string', op),
|
|
36
|
+
};
|
|
37
|
+
}));
|
|
38
|
+
};
|
|
39
|
+
exports.formatFilter = formatFilter;
|
|
40
|
+
const formatSort = (sorts) => {
|
|
41
|
+
return (sorts &&
|
|
42
|
+
(0, bett3r_utils_1.ensureArray)(sorts).map((s) => {
|
|
43
|
+
const operands = s.split(',');
|
|
44
|
+
const [field, direction] = operands;
|
|
45
|
+
return {
|
|
46
|
+
field,
|
|
47
|
+
direction: direction || 'asc',
|
|
48
|
+
};
|
|
49
|
+
}));
|
|
50
|
+
};
|
|
51
|
+
exports.formatSort = formatSort;
|
|
52
|
+
const formatSelect = (select, schema) => {
|
|
53
|
+
select = (0, bett3r_utils_1.ensureArray)(select);
|
|
54
|
+
const omit = select.filter((s) => s[0] === '!').map((s) => s.slice(1));
|
|
55
|
+
if (omit?.length) {
|
|
56
|
+
return Object.keys(schema.plain.properties).filter((key) => !omit.includes(key));
|
|
57
|
+
}
|
|
58
|
+
return select;
|
|
59
|
+
};
|
|
60
|
+
exports.formatSelect = formatSelect;
|
|
61
|
+
const defaultQueryParamsTranslator = (schema, { params, query, }) => {
|
|
62
|
+
return {
|
|
63
|
+
id: params?.id,
|
|
64
|
+
limit: query?.limit ? Number(query.limit) : undefined,
|
|
65
|
+
after: query?.after,
|
|
66
|
+
select: query?.select
|
|
67
|
+
? (0, exports.formatSelect)(query?.select, schema)
|
|
68
|
+
: undefined,
|
|
69
|
+
filter: query?.filter
|
|
70
|
+
? (0, exports.formatFilter)(query?.filter, schema)
|
|
71
|
+
: undefined,
|
|
72
|
+
sort: query?.sort ? (0, exports.formatSort)(query?.sort) : undefined,
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
exports.defaultQueryParamsTranslator = defaultQueryParamsTranslator;
|
|
76
|
+
const createEventHandlers = (logger, endpoints) => {
|
|
77
|
+
const activeSubscriptions = {};
|
|
78
|
+
const eventHandlerMap = {};
|
|
79
|
+
const processEvent = (eventHandlerName) => (event) => {
|
|
80
|
+
return new Promise((resolve, reject) => {
|
|
81
|
+
eventHandlerMap[eventHandlerName].queue.push(event, (err, result) => {
|
|
82
|
+
if (err) {
|
|
83
|
+
logger.error(err);
|
|
84
|
+
return reject(err);
|
|
85
|
+
}
|
|
86
|
+
return resolve(result);
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
const pauseQueue = (eventHandlerName, value) => value
|
|
91
|
+
? eventHandlerMap[eventHandlerName].queue.pause()
|
|
92
|
+
: eventHandlerMap[eventHandlerName].queue.resume();
|
|
93
|
+
const getEventHandlerLabel = (eventHandler) => `${eventHandler.eventHandlers ? 'Policy' : 'Projector'}`;
|
|
94
|
+
const isReadModel = (eventHandler) => !!eventHandler.isReadModel;
|
|
95
|
+
const handleEvent = (eventHandler, executeCommand) => (event) => {
|
|
96
|
+
const _isReadModel = isReadModel(eventHandler);
|
|
97
|
+
return Promise.resolve(event)
|
|
98
|
+
.then((0, validation_1.validateSchema)(getEventSchema(eventHandler)(event.name)))
|
|
99
|
+
.then(_isReadModel
|
|
100
|
+
? (eventHandler.eventProjectors || {})[event.name]
|
|
101
|
+
: eventHandler.eventHandlers[event.name])
|
|
102
|
+
.then((response) => {
|
|
103
|
+
if (!response || _isReadModel)
|
|
104
|
+
return Promise.resolve();
|
|
105
|
+
const policy = eventHandler;
|
|
106
|
+
if (policy.commandHandler && response.name) {
|
|
107
|
+
return executeCommand(policy.commandHandler, response.name)({
|
|
108
|
+
context: {
|
|
109
|
+
user: event.metadata.user,
|
|
110
|
+
},
|
|
111
|
+
body: response.data,
|
|
112
|
+
params: { id: response.id },
|
|
113
|
+
query: {
|
|
114
|
+
correlationId: event.metadata.correlationId,
|
|
115
|
+
causationId: event.id.toString(),
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
})
|
|
120
|
+
.catch((error) => {
|
|
121
|
+
logger.debug('Handling error for event', event.name);
|
|
122
|
+
if (eventHandler.errorHandlers &&
|
|
123
|
+
eventHandler.errorHandlers[event.name] &&
|
|
124
|
+
typeof eventHandler.errorHandlers[event.name] === 'function')
|
|
125
|
+
return eventHandler.errorHandlers[event.name](error, event);
|
|
126
|
+
return Promise.reject(error);
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
const addEventHandlerToMap = (eventHandler, q) => {
|
|
130
|
+
eventHandlerMap[eventHandler.name] = {
|
|
131
|
+
eventHandler: {
|
|
132
|
+
...eventHandler,
|
|
133
|
+
},
|
|
134
|
+
events: Object.keys(eventHandler.events),
|
|
135
|
+
queue: q,
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
const EventHandlerQueueFunction = (executeCommand, eventHandler, label) => (event, callback) => {
|
|
139
|
+
return Promise.resolve(event)
|
|
140
|
+
.then((event) => {
|
|
141
|
+
if (!eventHandler.events[event.name || ''])
|
|
142
|
+
return Promise.reject(Error(`Event ${event.name} Not recognized for ${label} ${eventHandler.name}`));
|
|
143
|
+
logger.log('Handling Event', event.name, 'in', label, eventHandler.name);
|
|
144
|
+
logger.debug('with payload:', event);
|
|
145
|
+
return event;
|
|
146
|
+
})
|
|
147
|
+
.then(handleEvent(eventHandler, executeCommand))
|
|
148
|
+
.then(() => callback(), callback);
|
|
149
|
+
};
|
|
150
|
+
const getEventSchema = (eventHandler) => (eventName) => {
|
|
151
|
+
return (0, pv3_types_1.CommittedEventSchema)(eventHandler.events[eventName]().schema?.copyWith({
|
|
152
|
+
plain: { $id: eventName },
|
|
153
|
+
}), eventName).required('name', 'data');
|
|
154
|
+
};
|
|
155
|
+
const registerEventHandlerEndpoint = (eventHandler, label, tags) => {
|
|
156
|
+
const route = `/${(0, change_case_1.paramCase)(eventHandler.name)}`;
|
|
157
|
+
endpoints.registerEndpoint({
|
|
158
|
+
module: eventHandler.name,
|
|
159
|
+
name: `Subscription endpoint for ${eventHandler.name}`,
|
|
160
|
+
description: `Process events sent to the ${label}`,
|
|
161
|
+
tags,
|
|
162
|
+
schemas: {
|
|
163
|
+
body: jsonschema_definer_1.default.anyOf(...Object.keys(eventHandler.events).map(getEventSchema(eventHandler))),
|
|
164
|
+
},
|
|
165
|
+
shouldValidate: false,
|
|
166
|
+
route,
|
|
167
|
+
method: 'POST',
|
|
168
|
+
action: ({ body }) => processEvent(eventHandler.name)(body),
|
|
169
|
+
});
|
|
170
|
+
return route;
|
|
171
|
+
};
|
|
172
|
+
const defaultQueryHandler = (repository, { id, limit, after, filter, sort, select }) => {
|
|
173
|
+
if (id)
|
|
174
|
+
return repository.readById(id);
|
|
175
|
+
return repository.query({
|
|
176
|
+
limit,
|
|
177
|
+
after,
|
|
178
|
+
filter,
|
|
179
|
+
sort,
|
|
180
|
+
select,
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
const registerReadModelQueryEndpoint = (query, readModel) => {
|
|
184
|
+
const route = query.route || `/${(0, change_case_1.paramCase)(readModel.name)}-readmodel`;
|
|
185
|
+
const schema = readModel.schema.id(readModel.name);
|
|
186
|
+
const schemas = {
|
|
187
|
+
...pv3_types_1.defaultParamsSchemas,
|
|
188
|
+
...pv3_types_1.defaultQuerySchemas,
|
|
189
|
+
...(query.schemas ? query.schemas : {}),
|
|
190
|
+
responses: {
|
|
191
|
+
200: [
|
|
192
|
+
{
|
|
193
|
+
name: 'OK',
|
|
194
|
+
schema: jsonschema_definer_1.default.oneOf(schema, jsonschema_definer_1.default.array().items(schema)),
|
|
195
|
+
},
|
|
196
|
+
],
|
|
197
|
+
},
|
|
198
|
+
};
|
|
199
|
+
if (readModel.database && query.subscriptions) {
|
|
200
|
+
const subscriptions = query.subscriptions?.map((s) => {
|
|
201
|
+
// FIXME: Esto esta pasando por cada request de subscription
|
|
202
|
+
s.readModelSubscriptionCloseEmitter.on('close', (id) => {
|
|
203
|
+
logger.debug('Subscription Closed for id', id, 'in subscription');
|
|
204
|
+
delete activeSubscriptions[id];
|
|
205
|
+
if (Object.keys(activeSubscriptions).length === 0)
|
|
206
|
+
endpoints.callEventConnectionsInactive();
|
|
207
|
+
});
|
|
208
|
+
return s.notifySubscriptions(logger, readModel.collection);
|
|
209
|
+
});
|
|
210
|
+
readModel.database.onStarted(() => {
|
|
211
|
+
readModel
|
|
212
|
+
.database.getCollection(readModel.collection)
|
|
213
|
+
.watch(['delete', 'insert', 'update'], (data) => {
|
|
214
|
+
subscriptions?.forEach((s) => {
|
|
215
|
+
s(data);
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
endpoints.registerEndpoint({
|
|
221
|
+
method: 'GET',
|
|
222
|
+
module: readModel.name,
|
|
223
|
+
name: `Readmodel Query endpoint for ${readModel.name}`,
|
|
224
|
+
description: query.description,
|
|
225
|
+
schemas,
|
|
226
|
+
tags: ['readmodel'],
|
|
227
|
+
route: `${route}/:id?`,
|
|
228
|
+
action: async (params) => {
|
|
229
|
+
const projectionParams = (query.translator || exports.defaultQueryParamsTranslator)(readModel.schema, params);
|
|
230
|
+
const transformedProjectionParams = !query.transformers
|
|
231
|
+
? projectionParams
|
|
232
|
+
: await query.transformers.reduce((promise, transformer) => {
|
|
233
|
+
return promise.then((projectionParams) => transformer(projectionParams, params));
|
|
234
|
+
}, Promise.resolve(projectionParams));
|
|
235
|
+
const data = await (query.queryHandler || defaultQueryHandler)(readModel.database?.getCollection(readModel.name), { ...transformedProjectionParams, params });
|
|
236
|
+
readModel.database &&
|
|
237
|
+
query.subscriptions?.forEach((s) => {
|
|
238
|
+
const id = s.startSubscription(transformedProjectionParams, params.context?.req, params.context?.res);
|
|
239
|
+
if (id) {
|
|
240
|
+
activeSubscriptions[id] = s.type;
|
|
241
|
+
endpoints.callEventConnectionsActive();
|
|
242
|
+
(0, bett3r_utils_1.ensureArray)(data).forEach((data) => {
|
|
243
|
+
s.notifySubscriptions(logger, readModel.collection)({ changeType: 'update', data }, id);
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
return data;
|
|
248
|
+
},
|
|
249
|
+
});
|
|
250
|
+
return route;
|
|
251
|
+
};
|
|
252
|
+
const registerEventHandler = (eventHandler, executeCommand) => {
|
|
253
|
+
const isReadmodel = isReadModel(eventHandler);
|
|
254
|
+
if (eventHandlerMap[eventHandler.name]) {
|
|
255
|
+
(0, validation_1.dieOnError)(logger)(`A policy or projector with the name ${eventHandler.name} already exists on this instance.`);
|
|
256
|
+
}
|
|
257
|
+
const label = getEventHandlerLabel(eventHandler);
|
|
258
|
+
const q = (0, async_1.queue)(EventHandlerQueueFunction(executeCommand, eventHandler, label), eventHandler.concurrency || 1);
|
|
259
|
+
addEventHandlerToMap(eventHandler, q);
|
|
260
|
+
const eventHandlerRoute = registerEventHandlerEndpoint(eventHandler, label, isReadmodel ? ['readmodel'] : ['policy']);
|
|
261
|
+
if (isReadmodel) {
|
|
262
|
+
const qs = eventHandler.queries || [{}];
|
|
263
|
+
qs.forEach((q) => {
|
|
264
|
+
registerReadModelQueryEndpoint(q, eventHandler);
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
return eventHandlerRoute;
|
|
268
|
+
};
|
|
269
|
+
return {
|
|
270
|
+
handleEvent,
|
|
271
|
+
pauseQueue,
|
|
272
|
+
registerEventHandler,
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
exports.createEventHandlers = createEventHandlers;
|
|
276
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/eventHandlers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EndpointsPort, EventSourcingPort, EventStorePort, LoggerPort } from '@bett3r-dev/pv3-types';
|
|
2
|
+
export * from './commandHandlers';
|
|
3
|
+
export * from './commandTemplates';
|
|
4
|
+
export * from './eventHandlers';
|
|
5
|
+
export * from './invariants';
|
|
6
|
+
export * from './subscriptions';
|
|
7
|
+
export * from './utils';
|
|
8
|
+
export declare const EventSourcing: (loggerPort: LoggerPort, eventstore: EventStorePort, endpoints: EndpointsPort) => EventSourcingPort;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/eventsourcing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,aAAa,EAAgB,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAqB,MAAM,uBAAuB,CAAC;AAK1J,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,aAAa,eAAiB,UAAU,cAAc,cAAc,aAAa,aAAa,KAAI,iBAoF9G,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.EventSourcing = void 0;
|
|
21
|
+
const bett3r_utils_1 = require("@bett3r-dev/bett3r-utils");
|
|
22
|
+
const ansi_colors_1 = __importDefault(require("ansi-colors"));
|
|
23
|
+
const base_1 = require("../base");
|
|
24
|
+
const commandHandlers_1 = require("./commandHandlers");
|
|
25
|
+
const eventHandlers_1 = require("./eventHandlers");
|
|
26
|
+
__exportStar(require("./commandHandlers"), exports);
|
|
27
|
+
__exportStar(require("./commandTemplates"), exports);
|
|
28
|
+
__exportStar(require("./eventHandlers"), exports);
|
|
29
|
+
__exportStar(require("./invariants"), exports);
|
|
30
|
+
__exportStar(require("./subscriptions"), exports);
|
|
31
|
+
__exportStar(require("./utils"), exports);
|
|
32
|
+
const EventSourcing = (loggerPort, eventstore, endpoints) => {
|
|
33
|
+
const logger = loggerPort.createLoggerInstance('eventsourcing');
|
|
34
|
+
const commandHandlersManager = (0, commandHandlers_1.createCommandHandlers)(logger, endpoints, eventstore);
|
|
35
|
+
const eventHandlersManager = (0, eventHandlers_1.createEventHandlers)(logger, endpoints);
|
|
36
|
+
const registeredEndpoints = {
|
|
37
|
+
aggregates: {},
|
|
38
|
+
systems: {},
|
|
39
|
+
policies: {},
|
|
40
|
+
projectors: {},
|
|
41
|
+
};
|
|
42
|
+
const logRoute = (name, { route, events }, inverse = false) => {
|
|
43
|
+
logger.log(name, ansi_colors_1.default.underline(route), inverse ? '<=' : '=>', events.join(', '));
|
|
44
|
+
};
|
|
45
|
+
const logEventsourcingRoutes = () => {
|
|
46
|
+
Object.keys(registeredEndpoints.aggregates).forEach((aggregate) => {
|
|
47
|
+
logger.log(ansi_colors_1.default.bgYellowBright(ansi_colors_1.default.bold.blackBright(aggregate)));
|
|
48
|
+
Object.keys(registeredEndpoints.aggregates[aggregate].commands).forEach((command) => {
|
|
49
|
+
logRoute(`\t${ansi_colors_1.default.bold(command)}`, registeredEndpoints.aggregates[aggregate].commands[command]);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
Object.keys(registeredEndpoints.systems).forEach((system) => {
|
|
53
|
+
logger.log(ansi_colors_1.default.bgMagentaBright(ansi_colors_1.default.bold.whiteBright(system)));
|
|
54
|
+
Object.keys(registeredEndpoints.systems[system].commands).forEach((command) => {
|
|
55
|
+
logRoute(`\t${ansi_colors_1.default.bold(command)}`, registeredEndpoints.systems[system].commands[command]);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
Object.keys(registeredEndpoints.policies).forEach((policy) => {
|
|
59
|
+
logger.log(ansi_colors_1.default.bgMagenta(ansi_colors_1.default.bold.whiteBright(policy)));
|
|
60
|
+
logRoute(`\t${ansi_colors_1.default.bold(policy)}`, registeredEndpoints.policies[policy], true);
|
|
61
|
+
});
|
|
62
|
+
Object.keys(registeredEndpoints.projectors).forEach((projector) => {
|
|
63
|
+
logger.log(ansi_colors_1.default.bgGreenBright(ansi_colors_1.default.bold.whiteBright(projector)));
|
|
64
|
+
logRoute(`\t${ansi_colors_1.default.bold(projector)}`, registeredEndpoints.projectors[projector], true);
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
const routeCommandHandler = (commandHandler) => {
|
|
68
|
+
const commands = commandHandler.commands;
|
|
69
|
+
const getEndpoints = commandHandlersManager.registerCommandHandlerGetEndpoints(commandHandler);
|
|
70
|
+
const commandEndpoints = commandHandlersManager.registerCommandHandlerPostEndpoints(commandHandler);
|
|
71
|
+
const c = (0, bett3r_utils_1.map)((route, command) => ({
|
|
72
|
+
route,
|
|
73
|
+
events: (commands[command].build ? commands[command].build() : commands[command]).events
|
|
74
|
+
}), commandEndpoints);
|
|
75
|
+
if (commandHandler.isAggregate)
|
|
76
|
+
registeredEndpoints.aggregates[commandHandler.name] = { getEndpoints, commands: c };
|
|
77
|
+
else
|
|
78
|
+
registeredEndpoints.systems[commandHandler.name] = { getEndpoints, commands: c };
|
|
79
|
+
};
|
|
80
|
+
const routeEventHandler = (eventHandler) => {
|
|
81
|
+
const eh = eventHandler.build ? eventHandler.build() : eventHandler;
|
|
82
|
+
const route = eventHandlersManager.registerEventHandler(eh, commandHandlersManager.executeCommand);
|
|
83
|
+
if (eh.isReadModel)
|
|
84
|
+
registeredEndpoints.projectors[eh.name] = { route, events: Object.keys(eh.events) };
|
|
85
|
+
else
|
|
86
|
+
registeredEndpoints.policies[eh.name] = { route, events: Object.keys(eh.events) };
|
|
87
|
+
};
|
|
88
|
+
const eventsourcingPort = (0, base_1.createPort)({
|
|
89
|
+
_eventstore: eventstore,
|
|
90
|
+
routeEventHandler,
|
|
91
|
+
routeCommandHandler,
|
|
92
|
+
loadStream: commandHandlersManager.loadStream,
|
|
93
|
+
loadAggregateState: commandHandlersManager.loadAggregateState,
|
|
94
|
+
handleEvent: eventHandlersManager.handleEvent,
|
|
95
|
+
executeCommand: commandHandlersManager.executeCommand,
|
|
96
|
+
logEventsourcingRoutes
|
|
97
|
+
});
|
|
98
|
+
return eventsourcingPort;
|
|
99
|
+
};
|
|
100
|
+
exports.EventSourcing = EventSourcing;
|
|
101
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/eventsourcing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/combinators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,eAAO,MAAM,GAAG,kBAAoB,aAAa,EAAE,KAAG,aASrD,CAAC;AAEF,eAAO,MAAM,EAAE,kBAAoB,aAAa,EAAE,KAAG,aASpD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.or = exports.and = void 0;
|
|
4
|
+
const bett3r_utils_1 = require("@bett3r-dev/bett3r-utils");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
const and = (...invariants) => {
|
|
7
|
+
return (0, _1.createInvariant)(async (handlerState) => {
|
|
8
|
+
return Promise.all(invariants.map(i => i.check(handlerState)))
|
|
9
|
+
.then(bett3r_utils_1.noop);
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
exports.and = and;
|
|
13
|
+
const or = (...invariants) => {
|
|
14
|
+
return (0, _1.createInvariant)(async (handlerState) => {
|
|
15
|
+
return Promise.any(invariants.map(i => i.check(handlerState)))
|
|
16
|
+
.then(bett3r_utils_1.noop);
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
exports.or = or;
|
|
20
|
+
//# sourceMappingURL=combinators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combinators.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/combinators.ts"],"names":[],"mappings":";;;AAAA,2DAAgD;AAEhD,wBAAoC;AAE7B,MAAM,GAAG,GAAG,CAAE,GAAG,UAA2B,EAAiB,EAAE;IACpE,OAAO,IAAA,kBAAe,EACpB,KAAK,EAAG,YAAY,EAAG,EAAE;QACvB,OAAO,OAAO,CAAC,GAAG,CAChB,UAAU,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAE,YAAY,CAAE,CAAC,CAC9C;aACE,IAAI,CAAE,mBAAI,CAAE,CAAC;IAClB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,GAAG,OASd;AAEK,MAAM,EAAE,GAAG,CAAE,GAAG,UAA2B,EAAiB,EAAE;IACnE,OAAO,IAAA,kBAAe,EACpB,KAAK,EAAG,YAAY,EAAG,EAAE;QACvB,OAAO,OAAO,CAAC,GAAG,CAChB,UAAU,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAE,YAAY,CAAE,CAAC,CAC9C;aACE,IAAI,CAAE,mBAAI,CAAE,CAAC;IAClB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,EAAE,MASb"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseSchema } from '@bett3r-dev/jsonschema-definer';
|
|
2
|
+
import { CommandHandlerState, ErrorTypes, InvariantType } from '@bett3r-dev/pv3-types';
|
|
3
|
+
export declare function createInvariant<Model, Payload, Error = any>(check: (handlerState: CommandHandlerState<any, Payload, Model>) => Promise<void>, error?: {
|
|
4
|
+
name?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
type?: ErrorTypes;
|
|
7
|
+
details?: Error;
|
|
8
|
+
schema?: BaseSchema<Error>;
|
|
9
|
+
}): InvariantType<Model, Payload>;
|
|
10
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/common.ts"],"names":[],"mappings":"AAAA,OAAU,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIvF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,GAAG,EACzD,KAAK,EAAE,CAAE,YAAY,EAAE,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,KAAM,OAAO,CAAC,IAAI,CAAC,EAClF,KAAK,GAAE;IACL,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;CAO3B,GACA,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAqB/B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createInvariant = void 0;
|
|
7
|
+
const jsonschema_definer_1 = __importDefault(require("@bett3r-dev/jsonschema-definer"));
|
|
8
|
+
const ramda_1 = require("ramda");
|
|
9
|
+
const utils_1 = require("../../../utils");
|
|
10
|
+
function createInvariant(check, error = {
|
|
11
|
+
name: 'Invariant Error',
|
|
12
|
+
description: 'Invariant Validation Failed',
|
|
13
|
+
details: null,
|
|
14
|
+
type: 'BadRequestError',
|
|
15
|
+
schema: jsonschema_definer_1.default.shape({})
|
|
16
|
+
}) {
|
|
17
|
+
const GenericError = (0, utils_1.AppError)({
|
|
18
|
+
schema: error.schema,
|
|
19
|
+
error: error.name,
|
|
20
|
+
type: error.type || 'BadRequestError'
|
|
21
|
+
});
|
|
22
|
+
return {
|
|
23
|
+
rejects: [GenericError],
|
|
24
|
+
check: async (handlerState) => {
|
|
25
|
+
return check(handlerState)
|
|
26
|
+
.then((0, ramda_1.always)(handlerState))
|
|
27
|
+
.catch((err) => {
|
|
28
|
+
return Promise.reject((0, utils_1.createError)(GenericError, {
|
|
29
|
+
...error,
|
|
30
|
+
...err
|
|
31
|
+
}));
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
exports.createInvariant = createInvariant;
|
|
37
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/common.ts"],"names":[],"mappings":";;;;;;AAAA,wFAA+D;AAE/D,iCAA+B;AAC/B,0CAAuD;AAEvD,SAAgB,eAAe,CAC7B,KAAkF,EAClF,QAMI;IACF,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,6BAA6B;IAC1C,OAAO,EAAE,IAAa;IACtB,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,4BAAC,CAAC,KAAK,CAAM,EAAE,CAAC;CACzB;IAED,MAAM,YAAY,GAAG,IAAA,gBAAQ,EAAC;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,iBAAiB;KACtC,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,KAAK,EAAE,KAAK,EAAG,YAAY,EAAG,EAAE;YAC9B,OAAO,KAAK,CAAE,YAAY,CAAE;iBACzB,IAAI,CAAE,IAAA,cAAM,EAAE,YAAY,CAAE,CAAC;iBAC7B,KAAK,CAAC,CAAE,GAAG,EAAG,EAAE;gBACf,OAAO,OAAO,CAAC,MAAM,CACnB,IAAA,mBAAW,EAAE,YAAY,EAAE;oBACzB,GAAG,KAAK;oBACR,GAAG,GAAG;iBACP,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC;KACF,CAAC;AACJ,CAAC;AApCD,0CAoCC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CommandHandlerState, DatabaseOps, EndpointsPort, InvariantParams, InvariantType, ReadmodelInvariantComparison } from '@bett3r-dev/pv3-types';
|
|
2
|
+
import { path } from 'ramda';
|
|
3
|
+
export declare const comparePaths: (params: InvariantParams & {
|
|
4
|
+
path1: string | ((state: CommandHandlerState) => any);
|
|
5
|
+
path2?: string | ((data: CommandHandlerState) => any) | undefined;
|
|
6
|
+
op: DatabaseOps;
|
|
7
|
+
}) => InvariantType;
|
|
8
|
+
export declare const compareWithValue: (params: InvariantParams & {
|
|
9
|
+
path: string;
|
|
10
|
+
value: any;
|
|
11
|
+
op: DatabaseOps;
|
|
12
|
+
}) => InvariantType;
|
|
13
|
+
export declare const compareWithReadmodel: (params: InvariantParams & {
|
|
14
|
+
endpoints: EndpointsPort;
|
|
15
|
+
readmodelBaseUrl: string;
|
|
16
|
+
comparisons: ReadmodelInvariantComparison[];
|
|
17
|
+
url: (handlerState: CommandHandlerState) => string;
|
|
18
|
+
}) => InvariantType;
|
|
19
|
+
//# sourceMappingURL=comparisons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comparisons.d.ts","sourceRoot":"","sources":["../../../../src/ports/eventsourcing/invariants/comparisons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,4BAA4B,EAAe,MAAM,uBAAuB,CAAC;AACnK,OAAO,EAAU,IAAI,EAAE,MAAM,OAAO,CAAC;AAOrC,eAAO,MAAM,YAAY;6BAA0D,mBAAmB,KAAM,GAAG;6BAA8B,mBAAmB,KAAM,GAAG;QAAQ,WAAW;MAAK,aAkBhM,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAa,eAAe,GAAG;IAAE,MAAM,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,KAAG,aAgB3G,CAAC;AAYF,eAAO,MAAM,oBAAoB;eACpB,aAAa;sBACN,MAAM;iBACX,4BAA4B,EAAE;wBACtB,mBAAmB,KAAM,MAAM;MAEnD,aAyBF,CAAC"}
|