@acorex-platform/framework-server 0.0.38 → 0.0.46
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/core/src/index.d.ts +1 -0
- package/core/src/index.d.ts.map +1 -1
- package/core/src/index.js +1 -0
- package/core/src/index.js.map +1 -1
- package/core/src/lib/filters/http-exception.filter.d.ts +1 -4
- package/core/src/lib/filters/http-exception.filter.d.ts.map +1 -1
- package/core/src/lib/filters/http-exception.filter.js +6 -11
- package/core/src/lib/filters/http-exception.filter.js.map +1 -1
- package/core/src/lib/hook/axp-hook-registry.service.d.ts +10 -0
- package/core/src/lib/hook/axp-hook-registry.service.d.ts.map +1 -0
- package/core/src/lib/hook/axp-hook-registry.service.js +35 -0
- package/core/src/lib/hook/axp-hook-registry.service.js.map +1 -0
- package/core/src/lib/hook/axp-hook.module.d.ts +3 -0
- package/core/src/lib/hook/axp-hook.module.d.ts.map +1 -0
- package/core/src/lib/hook/axp-hook.module.js +21 -0
- package/core/src/lib/hook/axp-hook.module.js.map +1 -0
- package/core/src/lib/hook/index.d.ts +3 -0
- package/core/src/lib/hook/index.d.ts.map +1 -0
- package/core/src/lib/hook/index.js +6 -0
- package/core/src/lib/hook/index.js.map +1 -0
- package/core/src/lib/runtime/entity-runtime.handlers.d.ts +32 -0
- package/core/src/lib/runtime/entity-runtime.handlers.d.ts.map +1 -0
- package/core/src/lib/runtime/entity-runtime.handlers.js +124 -0
- package/core/src/lib/runtime/entity-runtime.handlers.js.map +1 -0
- package/core/src/lib/runtime/index.d.ts +1 -0
- package/core/src/lib/runtime/index.d.ts.map +1 -1
- package/core/src/lib/runtime/index.js +1 -0
- package/core/src/lib/runtime/index.js.map +1 -1
- package/core/src/lib/runtime/runtime-dispatcher.service.d.ts +4 -1
- package/core/src/lib/runtime/runtime-dispatcher.service.d.ts.map +1 -1
- package/core/src/lib/runtime/runtime-dispatcher.service.js +60 -50
- package/core/src/lib/runtime/runtime-dispatcher.service.js.map +1 -1
- package/core/src/lib/runtime/runtime.module.d.ts.map +1 -1
- package/core/src/lib/runtime/runtime.module.js +3 -0
- package/core/src/lib/runtime/runtime.module.js.map +1 -1
- package/domain/abstract/src/index.d.ts +1 -0
- package/domain/abstract/src/index.d.ts.map +1 -1
- package/domain/abstract/src/index.js +1 -0
- package/domain/abstract/src/index.js.map +1 -1
- package/domain/abstract/src/lib/definitions/entity-definition.types.d.ts +2 -0
- package/domain/abstract/src/lib/definitions/entity-definition.types.d.ts.map +1 -1
- package/domain/abstract/src/lib/queries/server-query-fallback.token.d.ts +15 -0
- package/domain/abstract/src/lib/queries/server-query-fallback.token.d.ts.map +1 -0
- package/domain/abstract/src/lib/queries/server-query-fallback.token.js +12 -0
- package/domain/abstract/src/lib/queries/server-query-fallback.token.js.map +1 -0
- package/domain/abstract/src/lib/queries/server-query-handler.decorator.d.ts +1 -0
- package/domain/abstract/src/lib/queries/server-query-handler.decorator.d.ts.map +1 -1
- package/domain/abstract/src/lib/queries/server-query-handler.decorator.js +2 -1
- package/domain/abstract/src/lib/queries/server-query-handler.decorator.js.map +1 -1
- package/domain/providers/src/lib/middlewares/child-count.middleware.d.ts.map +1 -1
- package/domain/providers/src/lib/middlewares/child-count.middleware.js +13 -2
- package/domain/providers/src/lib/middlewares/child-count.middleware.js.map +1 -1
- package/domain/providers/src/lib/middlewares/merge-detail-relation.middleware.d.ts.map +1 -1
- package/domain/providers/src/lib/middlewares/merge-detail-relation.middleware.js +4 -2
- package/domain/providers/src/lib/middlewares/merge-detail-relation.middleware.js.map +1 -1
- package/domain/providers/src/lib/server-command.registry.d.ts +3 -1
- package/domain/providers/src/lib/server-command.registry.d.ts.map +1 -1
- package/domain/providers/src/lib/server-command.registry.js +17 -7
- package/domain/providers/src/lib/server-command.registry.js.map +1 -1
- package/domain/providers/src/lib/server-query.registry.d.ts +8 -3
- package/domain/providers/src/lib/server-query.registry.d.ts.map +1 -1
- package/domain/providers/src/lib/server-query.registry.js +33 -6
- package/domain/providers/src/lib/server-query.registry.js.map +1 -1
- package/domain/providers/src/lib/utils/entity-relation-join.planner.d.ts +8 -1
- package/domain/providers/src/lib/utils/entity-relation-join.planner.d.ts.map +1 -1
- package/domain/providers/src/lib/utils/entity-relation-join.planner.js +46 -6
- package/domain/providers/src/lib/utils/entity-relation-join.planner.js.map +1 -1
- package/domain/providers/src/lib/utils/in-memory-query.util.d.ts +2 -2
- package/domain/providers/src/lib/utils/in-memory-query.util.d.ts.map +1 -1
- package/domain/providers/src/lib/utils/in-memory-query.util.js +16 -10
- package/domain/providers/src/lib/utils/in-memory-query.util.js.map +1 -1
- package/domain/providers/src/lib/utils/instrument-runtime-middleware.util.d.ts +5 -0
- package/domain/providers/src/lib/utils/instrument-runtime-middleware.util.d.ts.map +1 -0
- package/domain/providers/src/lib/utils/instrument-runtime-middleware.util.js +56 -0
- package/domain/providers/src/lib/utils/instrument-runtime-middleware.util.js.map +1 -0
- package/domain/providers/src/lib/utils/merge-detail-query.util.d.ts +1 -0
- package/domain/providers/src/lib/utils/merge-detail-query.util.d.ts.map +1 -1
- package/domain/providers/src/lib/utils/merge-detail-query.util.js +1 -1
- package/domain/providers/src/lib/utils/merge-detail-query.util.js.map +1 -1
- package/domain/seed/src/lib/axp-entity-to-definition.converter.d.ts.map +1 -1
- package/domain/seed/src/lib/axp-entity-to-definition.converter.js +20 -1
- package/domain/seed/src/lib/axp-entity-to-definition.converter.js.map +1 -1
- package/jql/abstract/src/index.d.ts +3 -0
- package/jql/abstract/src/index.d.ts.map +1 -1
- package/jql/abstract/src/index.js +3 -0
- package/jql/abstract/src/index.js.map +1 -1
- package/jql/abstract/src/lib/cli-seed-process.d.ts +3 -0
- package/jql/abstract/src/lib/cli-seed-process.d.ts.map +1 -0
- package/jql/abstract/src/lib/cli-seed-process.js +8 -0
- package/jql/abstract/src/lib/cli-seed-process.js.map +1 -0
- package/jql/abstract/src/lib/datasource/storage-binding-definition.cache.d.ts.map +1 -1
- package/jql/abstract/src/lib/datasource/storage-binding-definition.cache.js +3 -2
- package/jql/abstract/src/lib/datasource/storage-binding-definition.cache.js.map +1 -1
- package/jql/abstract/src/lib/entity-store/entity-seed-storage.adapter.d.ts +7 -0
- package/jql/abstract/src/lib/entity-store/entity-seed-storage.adapter.d.ts.map +1 -1
- package/jql/abstract/src/lib/entity-store/entity-seed-storage.adapter.js +4 -3
- package/jql/abstract/src/lib/entity-store/entity-seed-storage.adapter.js.map +1 -1
- package/jql/abstract/src/lib/entity-store/entity-store-request.util.d.ts.map +1 -1
- package/jql/abstract/src/lib/entity-store/entity-store-request.util.js +2 -0
- package/jql/abstract/src/lib/entity-store/entity-store-request.util.js.map +1 -1
- package/jql/abstract/src/lib/entity-store/identity-membership.util.d.ts +11 -0
- package/jql/abstract/src/lib/entity-store/identity-membership.util.d.ts.map +1 -0
- package/jql/abstract/src/lib/entity-store/identity-membership.util.js +138 -0
- package/jql/abstract/src/lib/entity-store/identity-membership.util.js.map +1 -0
- package/jql/abstract/src/lib/entity-store/query-sort-locale.util.d.ts +6 -0
- package/jql/abstract/src/lib/entity-store/query-sort-locale.util.d.ts.map +1 -0
- package/jql/abstract/src/lib/entity-store/query-sort-locale.util.js +23 -0
- package/jql/abstract/src/lib/entity-store/query-sort-locale.util.js.map +1 -0
- package/jql/abstract/src/lib/jql.types.d.ts +5 -0
- package/jql/abstract/src/lib/jql.types.d.ts.map +1 -1
- package/jql/abstract/src/lib/jql.types.js.map +1 -1
- package/jql/mongodb/src/lib/compile/aggregate-group-keys.util.d.ts +8 -0
- package/jql/mongodb/src/lib/compile/aggregate-group-keys.util.d.ts.map +1 -0
- package/jql/mongodb/src/lib/compile/aggregate-group-keys.util.js +57 -0
- package/jql/mongodb/src/lib/compile/aggregate-group-keys.util.js.map +1 -0
- package/jql/mongodb/src/lib/compile/multilanguage-sort.util.d.ts +14 -0
- package/jql/mongodb/src/lib/compile/multilanguage-sort.util.d.ts.map +1 -0
- package/jql/mongodb/src/lib/compile/multilanguage-sort.util.js +135 -0
- package/jql/mongodb/src/lib/compile/multilanguage-sort.util.js.map +1 -0
- package/jql/mongodb/src/lib/jql-mongodb.engine.d.ts +1 -0
- package/jql/mongodb/src/lib/jql-mongodb.engine.d.ts.map +1 -1
- package/jql/mongodb/src/lib/jql-mongodb.engine.js +32 -21
- package/jql/mongodb/src/lib/jql-mongodb.engine.js.map +1 -1
- package/jql/schema/src/lib/generated/plugin-contributions.bootstrap.d.ts.map +1 -1
- package/jql/schema/src/lib/generated/plugin-contributions.bootstrap.js +29 -0
- package/jql/schema/src/lib/generated/plugin-contributions.bootstrap.js.map +1 -1
- package/jql/schema/src/lib/resolve-storage-data-type.util.d.ts +5 -0
- package/jql/schema/src/lib/resolve-storage-data-type.util.d.ts.map +1 -1
- package/jql/schema/src/lib/resolve-storage-data-type.util.js +3 -2
- package/jql/schema/src/lib/resolve-storage-data-type.util.js.map +1 -1
- package/jql/seed/src/index.d.ts +8 -5
- package/jql/seed/src/index.d.ts.map +1 -1
- package/jql/seed/src/index.js +8 -5
- package/jql/seed/src/index.js.map +1 -1
- package/jql/seed/src/lib/jql-multi-seed-runner.service.d.ts +1 -1
- package/jql/seed/src/lib/jql-multi-seed-runner.service.d.ts.map +1 -1
- package/jql/seed/src/lib/jql-multi-seed-runner.service.js +26 -16
- package/jql/seed/src/lib/jql-multi-seed-runner.service.js.map +1 -1
- package/jql/seed/src/lib/jql-release-ledger.service.d.ts +24 -0
- package/jql/seed/src/lib/jql-release-ledger.service.d.ts.map +1 -0
- package/jql/seed/src/lib/jql-release-ledger.service.js +197 -0
- package/jql/seed/src/lib/jql-release-ledger.service.js.map +1 -0
- package/jql/seed/src/lib/jql-release-migrate.options.d.ts +4 -0
- package/jql/seed/src/lib/jql-release-migrate.options.d.ts.map +1 -0
- package/jql/seed/src/lib/jql-release-migrate.options.js +78 -0
- package/jql/seed/src/lib/jql-release-migrate.options.js.map +1 -0
- package/jql/seed/src/lib/jql-release-migrate.service.d.ts +15 -0
- package/jql/seed/src/lib/jql-release-migrate.service.d.ts.map +1 -0
- package/jql/seed/src/lib/jql-release-migrate.service.js +103 -0
- package/jql/seed/src/lib/jql-release-migrate.service.js.map +1 -0
- package/jql/seed/src/lib/jql-release-migrate.tokens.d.ts +5 -0
- package/jql/seed/src/lib/jql-release-migrate.tokens.d.ts.map +1 -0
- package/jql/seed/src/lib/jql-release-migrate.tokens.js +8 -0
- package/jql/seed/src/lib/jql-release-migrate.tokens.js.map +1 -0
- package/jql/seed/src/lib/jql-release-migrate.types.d.ts +63 -0
- package/jql/seed/src/lib/jql-release-migrate.types.d.ts.map +1 -0
- package/jql/seed/src/lib/jql-release-migrate.types.js +15 -0
- package/jql/seed/src/lib/jql-release-migrate.types.js.map +1 -0
- package/jql/seed/src/lib/jql-release-migrate.util.d.ts +35 -0
- package/jql/seed/src/lib/jql-release-migrate.util.d.ts.map +1 -0
- package/jql/seed/src/lib/jql-release-migrate.util.js +172 -0
- package/jql/seed/src/lib/jql-release-migrate.util.js.map +1 -0
- package/jql/seed/src/lib/jql-release-migration.runner.d.ts +17 -0
- package/jql/seed/src/lib/jql-release-migration.runner.d.ts.map +1 -0
- package/jql/seed/src/lib/jql-release-migration.runner.js +69 -0
- package/jql/seed/src/lib/jql-release-migration.runner.js.map +1 -0
- package/jql/seed/src/lib/jql-release-seed-reconcile.service.d.ts +19 -0
- package/jql/seed/src/lib/jql-release-seed-reconcile.service.d.ts.map +1 -0
- package/jql/seed/src/lib/jql-release-seed-reconcile.service.js +175 -0
- package/jql/seed/src/lib/jql-release-seed-reconcile.service.js.map +1 -0
- package/jql/seed/src/lib/jql-seed-api.types.d.ts +0 -6
- package/jql/seed/src/lib/jql-seed-api.types.d.ts.map +1 -1
- package/jql/seed/src/lib/jql-seed-api.types.js +0 -8
- package/jql/seed/src/lib/jql-seed-api.types.js.map +1 -1
- package/jql/seed/src/lib/jql-seed-dependency.util.js +1 -1
- package/jql/seed/src/lib/jql-seed-dependency.util.js.map +1 -1
- package/jql/seed/src/lib/jql-seed-diff.service.d.ts +9 -3
- package/jql/seed/src/lib/jql-seed-diff.service.d.ts.map +1 -1
- package/jql/seed/src/lib/jql-seed-diff.service.js +38 -18
- package/jql/seed/src/lib/jql-seed-diff.service.js.map +1 -1
- package/jql/seed/src/lib/jql-seed-options.resolve.js +2 -2
- package/jql/seed/src/lib/jql-seed-options.resolve.js.map +1 -1
- package/jql/seed/src/lib/jql-seed-plan.util.d.ts.map +1 -1
- package/jql/seed/src/lib/jql-seed-plan.util.js +5 -0
- package/jql/seed/src/lib/jql-seed-plan.util.js.map +1 -1
- package/jql/seed/src/lib/jql-seed-progress.util.d.ts +27 -0
- package/jql/seed/src/lib/jql-seed-progress.util.d.ts.map +1 -0
- package/jql/seed/src/lib/jql-seed-progress.util.js +146 -0
- package/jql/seed/src/lib/jql-seed-progress.util.js.map +1 -0
- package/jql/seed/src/lib/jql-seed-runner.service.d.ts +2 -2
- package/jql/seed/src/lib/jql-seed-runner.service.d.ts.map +1 -1
- package/jql/seed/src/lib/jql-seed-runner.service.js +2 -2
- package/jql/seed/src/lib/jql-seed-runner.service.js.map +1 -1
- package/jql/seed/src/lib/jql-seed-selection.util.js +8 -8
- package/jql/seed/src/lib/jql-seed-selection.util.js.map +1 -1
- package/jql/seed/src/lib/jql-seed.module.d.ts +3 -0
- package/jql/seed/src/lib/jql-seed.module.d.ts.map +1 -1
- package/jql/seed/src/lib/jql-seed.module.js +18 -3
- package/jql/seed/src/lib/jql-seed.module.js.map +1 -1
- package/jql/seed/src/lib/jql-seed.tokens.d.ts +0 -2
- package/jql/seed/src/lib/jql-seed.tokens.d.ts.map +1 -1
- package/jql/seed/src/lib/jql-seed.tokens.js +1 -3
- package/jql/seed/src/lib/jql-seed.tokens.js.map +1 -1
- package/observability/abstract/src/index.d.ts +1 -6
- package/observability/abstract/src/index.d.ts.map +1 -1
- package/observability/abstract/src/index.js +1 -6
- package/observability/abstract/src/index.js.map +1 -1
- package/observability/abstract/src/lib/entity-observability-skip.util.d.ts +4 -1
- package/observability/abstract/src/lib/entity-observability-skip.util.d.ts.map +1 -1
- package/observability/abstract/src/lib/entity-observability-skip.util.js +4 -1
- package/observability/abstract/src/lib/entity-observability-skip.util.js.map +1 -1
- package/observability/abstract/src/lib/execution-trace/runtime-trace-buffer.d.ts.map +1 -1
- package/observability/abstract/src/lib/execution-trace/runtime-trace-buffer.js +15 -3
- package/observability/abstract/src/lib/execution-trace/runtime-trace-buffer.js.map +1 -1
- package/observability/abstract/src/lib/observability.config.d.ts +3 -0
- package/observability/abstract/src/lib/observability.config.d.ts.map +1 -1
- package/observability/abstract/src/lib/observability.config.js.map +1 -1
- package/observability/abstract/src/lib/observability.tokens.d.ts +0 -3
- package/observability/abstract/src/lib/observability.tokens.d.ts.map +1 -1
- package/observability/abstract/src/lib/observability.tokens.js +1 -4
- package/observability/abstract/src/lib/observability.tokens.js.map +1 -1
- package/observability/abstract/src/lib/structured-log.writer.d.ts +12 -0
- package/observability/abstract/src/lib/structured-log.writer.d.ts.map +1 -0
- package/observability/abstract/src/lib/structured-log.writer.js +19 -0
- package/observability/abstract/src/lib/structured-log.writer.js.map +1 -0
- package/observability/providers/src/index.d.ts +0 -1
- package/observability/providers/src/index.d.ts.map +1 -1
- package/observability/providers/src/index.js +0 -1
- package/observability/providers/src/index.js.map +1 -1
- package/observability/providers/src/lib/config/observability-config.resolve.d.ts.map +1 -1
- package/observability/providers/src/lib/config/observability-config.resolve.js +2 -0
- package/observability/providers/src/lib/config/observability-config.resolve.js.map +1 -1
- package/observability/providers/src/lib/context/resolve-request-observability-entity.util.d.ts.map +1 -1
- package/observability/providers/src/lib/context/resolve-request-observability-entity.util.js +13 -0
- package/observability/providers/src/lib/context/resolve-request-observability-entity.util.js.map +1 -1
- package/observability/providers/src/lib/execution-trace/execution-trace-recorder.service.d.ts +4 -4
- package/observability/providers/src/lib/execution-trace/execution-trace-recorder.service.d.ts.map +1 -1
- package/observability/providers/src/lib/execution-trace/execution-trace-recorder.service.js +111 -26
- package/observability/providers/src/lib/execution-trace/execution-trace-recorder.service.js.map +1 -1
- package/observability/providers/src/lib/http/http-exception-log.util.d.ts +2 -3
- package/observability/providers/src/lib/http/http-exception-log.util.d.ts.map +1 -1
- package/observability/providers/src/lib/http/http-exception-log.util.js +6 -21
- package/observability/providers/src/lib/http/http-exception-log.util.js.map +1 -1
- package/observability/providers/src/lib/http/http-metrics.interceptor.d.ts +1 -2
- package/observability/providers/src/lib/http/http-metrics.interceptor.d.ts.map +1 -1
- package/observability/providers/src/lib/http/http-metrics.interceptor.js +10 -9
- package/observability/providers/src/lib/http/http-metrics.interceptor.js.map +1 -1
- package/observability/providers/src/lib/http/observability-context.interceptor.d.ts +4 -2
- package/observability/providers/src/lib/http/observability-context.interceptor.d.ts.map +1 -1
- package/observability/providers/src/lib/http/observability-context.interceptor.js +44 -8
- package/observability/providers/src/lib/http/observability-context.interceptor.js.map +1 -1
- package/observability/providers/src/lib/http/register-express-observability.middleware.d.ts.map +1 -1
- package/observability/providers/src/lib/http/register-express-observability.middleware.js +2 -0
- package/observability/providers/src/lib/http/register-express-observability.middleware.js.map +1 -1
- package/observability/providers/src/lib/observability.bootstrap.d.ts.map +1 -1
- package/observability/providers/src/lib/observability.bootstrap.js +12 -6
- package/observability/providers/src/lib/observability.bootstrap.js.map +1 -1
- package/observability/providers/src/lib/observability.module.d.ts.map +1 -1
- package/observability/providers/src/lib/observability.module.js +0 -23
- package/observability/providers/src/lib/observability.module.js.map +1 -1
- package/observability/providers/src/lib/pino/pino-structured-log.writer.d.ts +5 -0
- package/observability/providers/src/lib/pino/pino-structured-log.writer.d.ts.map +1 -0
- package/observability/providers/src/lib/pino/pino-structured-log.writer.js +16 -0
- package/observability/providers/src/lib/pino/pino-structured-log.writer.js.map +1 -0
- package/observability/providers/src/lib/pino/pino.factory.d.ts.map +1 -1
- package/observability/providers/src/lib/pino/pino.factory.js +69 -25
- package/observability/providers/src/lib/pino/pino.factory.js.map +1 -1
- package/package.json +2 -2
- package/realtime/src/lib/auth/auth-security-alert-realtime.listener.d.ts.map +1 -1
- package/realtime/src/lib/auth/auth-security-alert-realtime.listener.js +19 -0
- package/realtime/src/lib/auth/auth-security-alert-realtime.listener.js.map +1 -1
- package/realtime/src/lib/topics/realtime-topics.d.ts +1 -0
- package/realtime/src/lib/topics/realtime-topics.d.ts.map +1 -1
- package/realtime/src/lib/topics/realtime-topics.js +2 -1
- package/realtime/src/lib/topics/realtime-topics.js.map +1 -1
- package/realtime/src/lib/types/realtime.types.d.ts +13 -1
- package/realtime/src/lib/types/realtime.types.d.ts.map +1 -1
- package/realtime/src/lib/types/realtime.types.js.map +1 -1
- package/report/src/lib/report-definition.registry.d.ts +11 -15
- package/report/src/lib/report-definition.registry.d.ts.map +1 -1
- package/report/src/lib/report-definition.registry.js +25 -101
- package/report/src/lib/report-definition.registry.js.map +1 -1
- package/search/elasticsearch/src/lib/elasticsearch-quick-search.backend.d.ts.map +1 -1
- package/search/elasticsearch/src/lib/elasticsearch-quick-search.backend.js +56 -18
- package/search/elasticsearch/src/lib/elasticsearch-quick-search.backend.js.map +1 -1
- package/search/providers/src/lib/quick-search-index.service.d.ts.map +1 -1
- package/search/providers/src/lib/quick-search-index.service.js +29 -14
- package/search/providers/src/lib/quick-search-index.service.js.map +1 -1
- package/search/providers/src/lib/quick-search-provider.module.d.ts.map +1 -1
- package/search/providers/src/lib/quick-search-provider.module.js +19 -12
- package/search/providers/src/lib/quick-search-provider.module.js.map +1 -1
- package/search/providers/src/lib/quick-search-reindex.service.d.ts +5 -1
- package/search/providers/src/lib/quick-search-reindex.service.d.ts.map +1 -1
- package/search/providers/src/lib/quick-search-reindex.service.js +23 -9
- package/search/providers/src/lib/quick-search-reindex.service.js.map +1 -1
- package/security/src/index.d.ts +5 -0
- package/security/src/index.d.ts.map +1 -1
- package/security/src/index.js +5 -0
- package/security/src/index.js.map +1 -1
- package/security/src/lib/auth/auth-runtime.handlers.d.ts +18 -4
- package/security/src/lib/auth/auth-runtime.handlers.d.ts.map +1 -1
- package/security/src/lib/auth/auth-runtime.handlers.js +60 -1
- package/security/src/lib/auth/auth-runtime.handlers.js.map +1 -1
- package/security/src/lib/auth/auth-two-factor-gate.d.ts +38 -0
- package/security/src/lib/auth/auth-two-factor-gate.d.ts.map +1 -0
- package/security/src/lib/auth/auth-two-factor-gate.js +33 -0
- package/security/src/lib/auth/auth-two-factor-gate.js.map +1 -0
- package/security/src/lib/auth/auth.events.d.ts +1 -1
- package/security/src/lib/auth/auth.events.d.ts.map +1 -1
- package/security/src/lib/auth/auth.events.js.map +1 -1
- package/security/src/lib/auth/auth.service.d.ts.map +1 -1
- package/security/src/lib/auth/auth.service.js +2 -0
- package/security/src/lib/auth/auth.service.js.map +1 -1
- package/security/src/lib/auth/auth.types.d.ts +6 -0
- package/security/src/lib/auth/auth.types.d.ts.map +1 -1
- package/security/src/lib/auth/auth.types.js.map +1 -1
- package/security/src/lib/auth/device-session.service.d.ts +14 -3
- package/security/src/lib/auth/device-session.service.d.ts.map +1 -1
- package/security/src/lib/auth/device-session.service.js +129 -20
- package/security/src/lib/auth/device-session.service.js.map +1 -1
- package/security/src/lib/auth/token.service.d.ts.map +1 -1
- package/security/src/lib/auth/token.service.js +6 -2
- package/security/src/lib/auth/token.service.js.map +1 -1
- package/security/src/lib/entity-storage/entity-access-policy.loader.d.ts.map +1 -1
- package/security/src/lib/entity-storage/entity-access-policy.loader.js +3 -0
- package/security/src/lib/entity-storage/entity-access-policy.loader.js.map +1 -1
- package/security/src/lib/entity-storage/visibility-filter.middleware.d.ts +1 -2
- package/security/src/lib/entity-storage/visibility-filter.middleware.d.ts.map +1 -1
- package/security/src/lib/entity-storage/visibility-filter.middleware.js +2 -75
- package/security/src/lib/entity-storage/visibility-filter.middleware.js.map +1 -1
- package/security/src/lib/oauth/oidc-provider-engine.service.js +3 -3
- package/security/src/lib/oauth/oidc-provider-engine.service.js.map +1 -1
- package/security/src/lib/security.module.d.ts.map +1 -1
- package/security/src/lib/security.module.js +1 -0
- package/security/src/lib/security.module.js.map +1 -1
- package/workflow/src/index.d.ts +2 -0
- package/workflow/src/index.d.ts.map +1 -1
- package/workflow/src/index.js +8 -0
- package/workflow/src/index.js.map +1 -1
- package/workflow/src/lib/activities/workflow-request-session.adapter.d.ts +10 -4
- package/workflow/src/lib/activities/workflow-request-session.adapter.d.ts.map +1 -1
- package/workflow/src/lib/activities/workflow-request-session.adapter.js +11 -4
- package/workflow/src/lib/activities/workflow-request-session.adapter.js.map +1 -1
- package/workflow/src/lib/jobs/workflow-job-dispatcher.service.d.ts +10 -1
- package/workflow/src/lib/jobs/workflow-job-dispatcher.service.d.ts.map +1 -1
- package/workflow/src/lib/jobs/workflow-job-dispatcher.service.js +74 -9
- package/workflow/src/lib/jobs/workflow-job-dispatcher.service.js.map +1 -1
- package/workflow/src/lib/jobs/workflow-maintenance.scheduler.d.ts +3 -3
- package/workflow/src/lib/jobs/workflow-maintenance.scheduler.d.ts.map +1 -1
- package/workflow/src/lib/jobs/workflow-maintenance.scheduler.js +6 -4
- package/workflow/src/lib/jobs/workflow-maintenance.scheduler.js.map +1 -1
- package/workflow/src/lib/jobs/workflow-start-idempotency.d.ts +14 -0
- package/workflow/src/lib/jobs/workflow-start-idempotency.d.ts.map +1 -0
- package/workflow/src/lib/jobs/workflow-start-idempotency.js +33 -0
- package/workflow/src/lib/jobs/workflow-start-idempotency.js.map +1 -0
- package/workflow/src/lib/middlewares/workflow-trigger-guard.d.ts +6 -0
- package/workflow/src/lib/middlewares/workflow-trigger-guard.d.ts.map +1 -1
- package/workflow/src/lib/middlewares/workflow-trigger-guard.js +14 -0
- package/workflow/src/lib/middlewares/workflow-trigger-guard.js.map +1 -1
- package/workflow/src/lib/middlewares/workflow-trigger.middleware.d.ts.map +1 -1
- package/workflow/src/lib/middlewares/workflow-trigger.middleware.js +2 -1
- package/workflow/src/lib/middlewares/workflow-trigger.middleware.js.map +1 -1
- package/workflow/src/lib/runtime/jql-workflow-execution-store.service.d.ts +6 -1
- package/workflow/src/lib/runtime/jql-workflow-execution-store.service.d.ts.map +1 -1
- package/workflow/src/lib/runtime/jql-workflow-execution-store.service.js +15 -1
- package/workflow/src/lib/runtime/jql-workflow-execution-store.service.js.map +1 -1
- package/workflow/src/lib/runtime/sync-task-current-assignee.util.d.ts +4 -2
- package/workflow/src/lib/runtime/sync-task-current-assignee.util.d.ts.map +1 -1
- package/workflow/src/lib/runtime/sync-task-current-assignee.util.js +47 -4
- package/workflow/src/lib/runtime/sync-task-current-assignee.util.js.map +1 -1
- package/workflow/src/lib/runtime/workflow-engine.service.d.ts +19 -0
- package/workflow/src/lib/runtime/workflow-engine.service.d.ts.map +1 -1
- package/workflow/src/lib/runtime/workflow-engine.service.js +1070 -795
- package/workflow/src/lib/runtime/workflow-engine.service.js.map +1 -1
- package/workflow/src/lib/runtime/workflow-execution-store.service.d.ts +12 -2
- package/workflow/src/lib/runtime/workflow-execution-store.service.d.ts.map +1 -1
- package/workflow/src/lib/runtime/workflow-execution-store.service.js +11 -1
- package/workflow/src/lib/runtime/workflow-execution-store.service.js.map +1 -1
- package/jql/seed/src/lib/jql-seed-analyze.command.d.ts +0 -9
- package/jql/seed/src/lib/jql-seed-analyze.command.d.ts.map +0 -1
- package/jql/seed/src/lib/jql-seed-analyze.command.js +0 -40
- package/jql/seed/src/lib/jql-seed-analyze.command.js.map +0 -1
- package/jql/seed/src/lib/jql-seed-apply.command.d.ts +0 -9
- package/jql/seed/src/lib/jql-seed-apply.command.d.ts.map +0 -1
- package/jql/seed/src/lib/jql-seed-apply.command.js +0 -53
- package/jql/seed/src/lib/jql-seed-apply.command.js.map +0 -1
- package/jql/seed/src/lib/jql-seed-command.bootstrap.d.ts +0 -9
- package/jql/seed/src/lib/jql-seed-command.bootstrap.d.ts.map +0 -1
- package/jql/seed/src/lib/jql-seed-command.bootstrap.js +0 -29
- package/jql/seed/src/lib/jql-seed-command.bootstrap.js.map +0 -1
- package/jql/seed/src/lib/jql-seed-command.registrar.d.ts +0 -12
- package/jql/seed/src/lib/jql-seed-command.registrar.d.ts.map +0 -1
- package/jql/seed/src/lib/jql-seed-command.registrar.js +0 -29
- package/jql/seed/src/lib/jql-seed-command.registrar.js.map +0 -1
- package/jql/seed/src/lib/jql-seed-list-catalog.command.d.ts +0 -9
- package/jql/seed/src/lib/jql-seed-list-catalog.command.d.ts.map +0 -1
- package/jql/seed/src/lib/jql-seed-list-catalog.command.js +0 -30
- package/jql/seed/src/lib/jql-seed-list-catalog.command.js.map +0 -1
- package/jql/seed/src/lib/jql-seed-run.command.d.ts +0 -9
- package/jql/seed/src/lib/jql-seed-run.command.d.ts.map +0 -1
- package/jql/seed/src/lib/jql-seed-run.command.js +0 -43
- package/jql/seed/src/lib/jql-seed-run.command.js.map +0 -1
- package/observability/abstract/src/lib/logger/axp-logger.interface.d.ts +0 -11
- package/observability/abstract/src/lib/logger/axp-logger.interface.d.ts.map +0 -1
- package/observability/abstract/src/lib/logger/axp-logger.interface.js +0 -5
- package/observability/abstract/src/lib/logger/axp-logger.interface.js.map +0 -1
- package/observability/abstract/src/lib/metrics/axp-metrics.interface.d.ts +0 -19
- package/observability/abstract/src/lib/metrics/axp-metrics.interface.d.ts.map +0 -1
- package/observability/abstract/src/lib/metrics/axp-metrics.interface.js +0 -5
- package/observability/abstract/src/lib/metrics/axp-metrics.interface.js.map +0 -1
- package/observability/abstract/src/lib/noop/noop-logger.adapter.d.ts +0 -11
- package/observability/abstract/src/lib/noop/noop-logger.adapter.d.ts.map +0 -1
- package/observability/abstract/src/lib/noop/noop-logger.adapter.js +0 -30
- package/observability/abstract/src/lib/noop/noop-logger.adapter.js.map +0 -1
- package/observability/abstract/src/lib/noop/noop-metrics.adapter.d.ts +0 -16
- package/observability/abstract/src/lib/noop/noop-metrics.adapter.d.ts.map +0 -1
- package/observability/abstract/src/lib/noop/noop-metrics.adapter.js +0 -33
- package/observability/abstract/src/lib/noop/noop-metrics.adapter.js.map +0 -1
- package/observability/abstract/src/lib/noop/noop-tracer.adapter.d.ts +0 -7
- package/observability/abstract/src/lib/noop/noop-tracer.adapter.d.ts.map +0 -1
- package/observability/abstract/src/lib/noop/noop-tracer.adapter.js +0 -32
- package/observability/abstract/src/lib/noop/noop-tracer.adapter.js.map +0 -1
- package/observability/abstract/src/lib/tracer/axp-tracer.interface.d.ts +0 -17
- package/observability/abstract/src/lib/tracer/axp-tracer.interface.d.ts.map +0 -1
- package/observability/abstract/src/lib/tracer/axp-tracer.interface.js +0 -5
- package/observability/abstract/src/lib/tracer/axp-tracer.interface.js.map +0 -1
- package/observability/providers/src/lib/observability.service.d.ts +0 -9
- package/observability/providers/src/lib/observability.service.d.ts.map +0 -1
- package/observability/providers/src/lib/observability.service.js +0 -26
- package/observability/providers/src/lib/observability.service.js.map +0 -1
- package/observability/providers/src/lib/otel/otel-metrics.adapter.d.ts +0 -11
- package/observability/providers/src/lib/otel/otel-metrics.adapter.d.ts.map +0 -1
- package/observability/providers/src/lib/otel/otel-metrics.adapter.js +0 -83
- package/observability/providers/src/lib/otel/otel-metrics.adapter.js.map +0 -1
- package/observability/providers/src/lib/otel/otel-tracer.adapter.d.ts +0 -8
- package/observability/providers/src/lib/otel/otel-tracer.adapter.d.ts.map +0 -1
- package/observability/providers/src/lib/otel/otel-tracer.adapter.js +0 -80
- package/observability/providers/src/lib/otel/otel-tracer.adapter.js.map +0 -1
- package/observability/providers/src/lib/pino/pino-logger.adapter.d.ts +0 -19
- package/observability/providers/src/lib/pino/pino-logger.adapter.d.ts.map +0 -1
- package/observability/providers/src/lib/pino/pino-logger.adapter.js +0 -45
- package/observability/providers/src/lib/pino/pino-logger.adapter.js.map +0 -1
|
@@ -7,15 +7,18 @@ const common_1 = require("@nestjs/common");
|
|
|
7
7
|
const core_1 = require("@nestjs/core");
|
|
8
8
|
const runtime_1 = require("@acorex-platform/framework-shared/runtime");
|
|
9
9
|
const core_2 = require("@acorex-platform/framework-server/core");
|
|
10
|
-
const abstract_1 = require("@acorex-platform/framework-server/
|
|
10
|
+
const abstract_1 = require("@acorex-platform/framework-server/observability/abstract");
|
|
11
|
+
const abstract_2 = require("@acorex-platform/framework-server/domain/abstract");
|
|
11
12
|
const command_concurrency_guard_1 = require("./command-concurrency.guard");
|
|
13
|
+
const instrument_runtime_middleware_util_1 = require("./utils/instrument-runtime-middleware.util");
|
|
12
14
|
//#region ---- Server command registry ----
|
|
13
15
|
let ServerCommandRegistry = ServerCommandRegistry_1 = class ServerCommandRegistry {
|
|
14
|
-
constructor(discovery, reflector, moduleRef, concurrencyGuard) {
|
|
16
|
+
constructor(discovery, reflector, moduleRef, concurrencyGuard, executionTrace) {
|
|
15
17
|
this.discovery = discovery;
|
|
16
18
|
this.reflector = reflector;
|
|
17
19
|
this.moduleRef = moduleRef;
|
|
18
20
|
this.concurrencyGuard = concurrencyGuard;
|
|
21
|
+
this.executionTrace = executionTrace;
|
|
19
22
|
this.logger = new common_1.Logger(ServerCommandRegistry_1.name);
|
|
20
23
|
this.commands = new Map();
|
|
21
24
|
this.middlewares = [];
|
|
@@ -39,7 +42,7 @@ let ServerCommandRegistry = ServerCommandRegistry_1 = class ServerCommandRegistr
|
|
|
39
42
|
let metatype;
|
|
40
43
|
let options;
|
|
41
44
|
for (const candidate of metatypeCandidates) {
|
|
42
|
-
const found = this.reflector.get(
|
|
45
|
+
const found = this.reflector.get(abstract_2.SERVER_HANDLER_METADATA, candidate);
|
|
43
46
|
if (found?.key?.trim()) {
|
|
44
47
|
metatype = candidate;
|
|
45
48
|
options = found;
|
|
@@ -97,7 +100,12 @@ let ServerCommandRegistry = ServerCommandRegistry_1 = class ServerCommandRegistr
|
|
|
97
100
|
if (this.middlewares.length === 0) {
|
|
98
101
|
return runHandler(context);
|
|
99
102
|
}
|
|
100
|
-
const
|
|
103
|
+
const session = this.executionTrace?.getActiveSession();
|
|
104
|
+
if (!session) {
|
|
105
|
+
const composed = (0, runtime_1.composeCommandMiddlewares)(this.middlewares)(runHandler);
|
|
106
|
+
return composed(context);
|
|
107
|
+
}
|
|
108
|
+
const composed = (0, instrument_runtime_middleware_util_1.composeCommandMiddlewaresWithTrace)(this.middlewares, runHandler, session);
|
|
101
109
|
return composed(context);
|
|
102
110
|
};
|
|
103
111
|
return this.concurrencyGuard.run(entry, input, () => invoke({ key: trimmed, input, options }));
|
|
@@ -132,12 +140,12 @@ let ServerCommandRegistry = ServerCommandRegistry_1 = class ServerCommandRegistr
|
|
|
132
140
|
if (this.commands.has(key)) {
|
|
133
141
|
throw new Error(`Duplicate server command registered: "${key}"`);
|
|
134
142
|
}
|
|
135
|
-
const authz = (0,
|
|
143
|
+
const authz = (0, abstract_2.normalizeRuntimeAuthzOptions)(options);
|
|
136
144
|
this.commands.set(key, {
|
|
137
145
|
key,
|
|
138
146
|
auth: authz.auth,
|
|
139
147
|
permissions: authz.permissions,
|
|
140
|
-
concurrency: (0,
|
|
148
|
+
concurrency: (0, abstract_2.normalizeServerHandlerConcurrency)(options?.concurrency),
|
|
141
149
|
metatype,
|
|
142
150
|
instance,
|
|
143
151
|
});
|
|
@@ -147,10 +155,12 @@ let ServerCommandRegistry = ServerCommandRegistry_1 = class ServerCommandRegistr
|
|
|
147
155
|
exports.ServerCommandRegistry = ServerCommandRegistry;
|
|
148
156
|
exports.ServerCommandRegistry = ServerCommandRegistry = ServerCommandRegistry_1 = tslib_1.__decorate([
|
|
149
157
|
(0, common_1.Injectable)(),
|
|
158
|
+
tslib_1.__param(4, (0, common_1.Optional)()),
|
|
159
|
+
tslib_1.__param(4, (0, common_1.Inject)(abstract_1.AXP_EXECUTION_TRACE_RECORDER)),
|
|
150
160
|
tslib_1.__metadata("design:paramtypes", [core_1.DiscoveryService,
|
|
151
161
|
core_1.Reflector,
|
|
152
162
|
core_1.ModuleRef,
|
|
153
|
-
command_concurrency_guard_1.CommandConcurrencyGuard])
|
|
163
|
+
command_concurrency_guard_1.CommandConcurrencyGuard, Object])
|
|
154
164
|
], ServerCommandRegistry);
|
|
155
165
|
//#endregion
|
|
156
166
|
//# sourceMappingURL=server-command.registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-command.registry.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/domain/providers/src/lib/server-command.registry.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"server-command.registry.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/domain/providers/src/lib/server-command.registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { OnApplicationBootstrap } from '@nestjs/common';
|
|
2
2
|
import { DiscoveryService, ModuleRef, Reflector } from '@nestjs/core';
|
|
3
3
|
import { type AXPQueryExecuteOptions, type AXPQueryMiddleware } from '@acorex-platform/framework-shared/runtime';
|
|
4
|
-
import { type AXPServerQueryCache, type AXPServerQueryRegistry, type RegisteredServerQueryHandler } from '@acorex-platform/framework-server/domain/abstract';
|
|
4
|
+
import { type AXPServerQueryCache, type AXPServerQueryFallback, type AXPServerQueryRegistry, type RegisteredServerQueryHandler } from '@acorex-platform/framework-server/domain/abstract';
|
|
5
|
+
import { type ExecutionTraceRecorder } from '@acorex-platform/framework-server/observability/abstract';
|
|
5
6
|
export declare class ServerQueryRegistry implements OnApplicationBootstrap, AXPServerQueryRegistry {
|
|
6
7
|
private readonly discovery;
|
|
7
8
|
private readonly reflector;
|
|
8
9
|
private readonly moduleRef;
|
|
9
10
|
private readonly queryCache?;
|
|
11
|
+
private readonly executionTrace?;
|
|
12
|
+
private readonly queryFallback?;
|
|
10
13
|
private readonly logger;
|
|
11
14
|
private readonly queries;
|
|
12
15
|
private readonly middlewares;
|
|
13
|
-
constructor(discovery: DiscoveryService, reflector: Reflector, moduleRef: ModuleRef, queryCache?: (AXPServerQueryCache | null) | undefined);
|
|
16
|
+
constructor(discovery: DiscoveryService, reflector: Reflector, moduleRef: ModuleRef, queryCache?: (AXPServerQueryCache | null) | undefined, executionTrace?: (ExecutionTraceRecorder | null) | undefined, queryFallback?: (AXPServerQueryFallback | null) | undefined);
|
|
14
17
|
onApplicationBootstrap(): void;
|
|
15
18
|
has(key: string): boolean;
|
|
16
19
|
keys(): string[];
|
|
@@ -23,9 +26,11 @@ export declare class ServerQueryRegistry implements OnApplicationBootstrap, AXPS
|
|
|
23
26
|
use(middleware: AXPQueryMiddleware): void;
|
|
24
27
|
/**
|
|
25
28
|
* Executes a registered query handler and returns {@link AXPRuntimeQueryResult}.
|
|
26
|
-
*
|
|
29
|
+
* Unregistered keys are offered to {@link SERVER_QUERY_FALLBACK} before throwing.
|
|
27
30
|
*/
|
|
28
31
|
execute<TResult = unknown>(key: string, input: unknown, options?: AXPQueryExecuteOptions): Promise<TResult>;
|
|
32
|
+
private runRegistered;
|
|
33
|
+
private tryFallback;
|
|
29
34
|
private invokeHandler;
|
|
30
35
|
private resolveQuery;
|
|
31
36
|
private register;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-query.registry.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/domain/providers/src/lib/server-query.registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,sBAAsB,EAAkB,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKtE,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAExB,MAAM,2CAA2C,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"server-query.registry.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/domain/providers/src/lib/server-query.registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,sBAAsB,EAAkB,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKtE,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAExB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAKL,KAAK,mBAAmB,EAExB,KAAK,sBAAsB,EAG3B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EAElC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,0DAA0D,CAAC;AAKlE,qBACa,mBAAoB,YAAW,sBAAsB,EAAE,sBAAsB;IAMtF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAG1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAG5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAGhC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAhBjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmD;IAC3E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;gBAGrC,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EAGpB,UAAU,CAAC,GAAE,mBAAmB,GAAG,IAAI,aAAA,EAGvC,cAAc,CAAC,GAAE,sBAAsB,GAAG,IAAI,aAAA,EAG9C,aAAa,CAAC,GAAE,sBAAsB,GAAG,IAAI,aAAA;IAGhE,sBAAsB,IAAI,IAAI;IAyC9B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,IAAI,IAAI,MAAM,EAAE;IAIhB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS;IAI1D,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS;IAI/D;;;OAGG;IACH,GAAG,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI;IAIzC;;;OAGG;IACG,OAAO,CAAC,OAAO,GAAG,OAAO,EAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,OAAO,CAAC;YAeL,aAAa;YA+Bb,WAAW;YAaX,aAAa;YAQb,YAAY;IAe1B,OAAO,CAAC,QAAQ;CAqBjB"}
|
|
@@ -8,13 +8,17 @@ const core_1 = require("@nestjs/core");
|
|
|
8
8
|
const core_2 = require("@acorex-platform/framework-server/core");
|
|
9
9
|
const runtime_1 = require("@acorex-platform/framework-shared/runtime");
|
|
10
10
|
const abstract_1 = require("@acorex-platform/framework-server/domain/abstract");
|
|
11
|
+
const abstract_2 = require("@acorex-platform/framework-server/observability/abstract");
|
|
12
|
+
const instrument_runtime_middleware_util_1 = require("./utils/instrument-runtime-middleware.util");
|
|
11
13
|
//#region ---- Server query registry ----
|
|
12
14
|
let ServerQueryRegistry = ServerQueryRegistry_1 = class ServerQueryRegistry {
|
|
13
|
-
constructor(discovery, reflector, moduleRef, queryCache) {
|
|
15
|
+
constructor(discovery, reflector, moduleRef, queryCache, executionTrace, queryFallback) {
|
|
14
16
|
this.discovery = discovery;
|
|
15
17
|
this.reflector = reflector;
|
|
16
18
|
this.moduleRef = moduleRef;
|
|
17
19
|
this.queryCache = queryCache;
|
|
20
|
+
this.executionTrace = executionTrace;
|
|
21
|
+
this.queryFallback = queryFallback;
|
|
18
22
|
this.logger = new common_1.Logger(ServerQueryRegistry_1.name);
|
|
19
23
|
this.queries = new Map();
|
|
20
24
|
this.middlewares = [];
|
|
@@ -64,14 +68,21 @@ let ServerQueryRegistry = ServerQueryRegistry_1 = class ServerQueryRegistry {
|
|
|
64
68
|
}
|
|
65
69
|
/**
|
|
66
70
|
* Executes a registered query handler and returns {@link AXPRuntimeQueryResult}.
|
|
67
|
-
*
|
|
71
|
+
* Unregistered keys are offered to {@link SERVER_QUERY_FALLBACK} before throwing.
|
|
68
72
|
*/
|
|
69
73
|
async execute(key, input, options) {
|
|
70
74
|
const trimmed = key.trim();
|
|
71
75
|
const entry = this.queries.get(trimmed);
|
|
72
|
-
if (
|
|
73
|
-
|
|
76
|
+
if (entry) {
|
|
77
|
+
return this.runRegistered(entry, trimmed, input, options);
|
|
74
78
|
}
|
|
79
|
+
const fallbackResult = await this.tryFallback(trimmed, input, options);
|
|
80
|
+
if (fallbackResult !== undefined) {
|
|
81
|
+
return fallbackResult;
|
|
82
|
+
}
|
|
83
|
+
throw new Error(`Query handler not registered: ${key}`);
|
|
84
|
+
}
|
|
85
|
+
async runRegistered(entry, trimmed, input, options) {
|
|
75
86
|
const runHandler = async (context) => {
|
|
76
87
|
const run = () => this.invokeHandler(entry, context.input);
|
|
77
88
|
const cache = resolveQueryCacheOptions(entry.cache);
|
|
@@ -83,9 +94,21 @@ let ServerQueryRegistry = ServerQueryRegistry_1 = class ServerQueryRegistry {
|
|
|
83
94
|
if (this.middlewares.length === 0) {
|
|
84
95
|
return runHandler({ key: trimmed, input, options });
|
|
85
96
|
}
|
|
86
|
-
const
|
|
97
|
+
const session = this.executionTrace?.getActiveSession();
|
|
98
|
+
if (!session) {
|
|
99
|
+
const composed = (0, runtime_1.composeQueryMiddlewares)(this.middlewares)(runHandler);
|
|
100
|
+
return composed({ key: trimmed, input, options });
|
|
101
|
+
}
|
|
102
|
+
const composed = (0, instrument_runtime_middleware_util_1.composeQueryMiddlewaresWithTrace)(this.middlewares, runHandler, session);
|
|
87
103
|
return composed({ key: trimmed, input, options });
|
|
88
104
|
}
|
|
105
|
+
async tryFallback(key, input, options) {
|
|
106
|
+
if (!this.queryFallback) {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
const result = await this.queryFallback.execute(key, input, options);
|
|
110
|
+
return result == null ? undefined : result;
|
|
111
|
+
}
|
|
89
112
|
async invokeHandler(entry, input) {
|
|
90
113
|
const instance = await this.resolveQuery(entry);
|
|
91
114
|
return instance.execute(input);
|
|
@@ -123,9 +146,13 @@ exports.ServerQueryRegistry = ServerQueryRegistry = ServerQueryRegistry_1 = tsli
|
|
|
123
146
|
(0, common_1.Injectable)(),
|
|
124
147
|
tslib_1.__param(3, (0, common_1.Optional)()),
|
|
125
148
|
tslib_1.__param(3, (0, common_1.Inject)(abstract_1.SERVER_QUERY_CACHE)),
|
|
149
|
+
tslib_1.__param(4, (0, common_1.Optional)()),
|
|
150
|
+
tslib_1.__param(4, (0, common_1.Inject)(abstract_2.AXP_EXECUTION_TRACE_RECORDER)),
|
|
151
|
+
tslib_1.__param(5, (0, common_1.Optional)()),
|
|
152
|
+
tslib_1.__param(5, (0, common_1.Inject)(abstract_1.SERVER_QUERY_FALLBACK)),
|
|
126
153
|
tslib_1.__metadata("design:paramtypes", [core_1.DiscoveryService,
|
|
127
154
|
core_1.Reflector,
|
|
128
|
-
core_1.ModuleRef, Object])
|
|
155
|
+
core_1.ModuleRef, Object, Object, Object])
|
|
129
156
|
], ServerQueryRegistry);
|
|
130
157
|
function resolveQueryCacheOptions(cache) {
|
|
131
158
|
if (!cache) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-query.registry.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/domain/providers/src/lib/server-query.registry.ts"],"names":[],"mappings":";;;;;AAAA,2CAAoG;AACpG,uCAAsE;AACtE,iEAGgD;AAChD,uEAKmD;AACnD,
|
|
1
|
+
{"version":3,"file":"server-query.registry.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/domain/providers/src/lib/server-query.registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EntityStorageMiddlewareService } from '@acorex-platform/framework-server/core';
|
|
1
2
|
import { DomainDefinitionLoader } from '@acorex-platform/framework-server/domain/abstract';
|
|
2
3
|
import { type EntityRelationJoinPlanner, type JqlJoin } from '@acorex-platform/framework-server/jql/abstract';
|
|
3
4
|
/**
|
|
@@ -6,13 +7,19 @@ import { type EntityRelationJoinPlanner, type JqlJoin } from '@acorex-platform/f
|
|
|
6
7
|
*/
|
|
7
8
|
export declare class EntityRelationJoinPlannerService implements EntityRelationJoinPlanner {
|
|
8
9
|
private readonly domainLoader;
|
|
10
|
+
private readonly entityStorage;
|
|
9
11
|
private readonly logger;
|
|
10
|
-
|
|
12
|
+
/** Per outer `plan()` call — avoid resolving membership once per related lookup. */
|
|
13
|
+
private membershipIdsCache;
|
|
14
|
+
private membershipCacheKey;
|
|
15
|
+
private planDepth;
|
|
16
|
+
constructor(domainLoader: DomainDefinitionLoader, entityStorage: EntityStorageMiddlewareService | null);
|
|
11
17
|
plan(entityName: string, fields?: string[]): Promise<JqlJoin[]>;
|
|
12
18
|
private planEntity;
|
|
13
19
|
private toLookupJoin;
|
|
14
20
|
private toMergeDetailJoin;
|
|
15
21
|
private isolationWhere;
|
|
22
|
+
private resolveMembershipUserIds;
|
|
16
23
|
private readSession;
|
|
17
24
|
}
|
|
18
25
|
//# sourceMappingURL=entity-relation-join.planner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-relation-join.planner.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/framework/server/domain/providers/src/lib/utils/entity-relation-join.planner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entity-relation-join.planner.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/framework/server/domain/providers/src/lib/utils/entity-relation-join.planner.ts"],"names":[],"mappings":"AACA,OAAO,EACL,8BAA8B,EAE/B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAML,KAAK,yBAAyB,EAC9B,KAAK,OAAO,EACb,MAAM,gDAAgD,CAAC;AAmCxD;;;GAGG;AACH,qBACa,gCAAiC,YAAW,yBAAyB;IAS9E,OAAO,CAAC,QAAQ,CAAC,YAAY;IAG7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAXhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqD;IAE5E,oFAAoF;IACpF,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,SAAS,CAAK;gBAGH,YAAY,EAAE,sBAAsB,EAGpC,aAAa,EAAE,8BAA8B,GAAG,IAAI;IAGjE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAcvD,UAAU;YAqCV,YAAY;YAuBZ,iBAAiB;YAuBjB,cAAc;YA+Bd,wBAAwB;IAmBtC,OAAO,CAAC,WAAW;CAIpB"}
|
|
@@ -23,12 +23,28 @@ function isStaticEntityName(entityName) {
|
|
|
23
23
|
* Isolation filters are compiled here; the JQL engine executes the joins.
|
|
24
24
|
*/
|
|
25
25
|
let EntityRelationJoinPlannerService = EntityRelationJoinPlannerService_1 = class EntityRelationJoinPlannerService {
|
|
26
|
-
constructor(domainLoader) {
|
|
26
|
+
constructor(domainLoader, entityStorage) {
|
|
27
27
|
this.domainLoader = domainLoader;
|
|
28
|
+
this.entityStorage = entityStorage;
|
|
28
29
|
this.logger = new common_1.Logger(EntityRelationJoinPlannerService_1.name);
|
|
30
|
+
/** Per outer `plan()` call — avoid resolving membership once per related lookup. */
|
|
31
|
+
this.membershipIdsCache = null;
|
|
32
|
+
this.membershipCacheKey = null;
|
|
33
|
+
this.planDepth = 0;
|
|
29
34
|
}
|
|
30
35
|
async plan(entityName, fields) {
|
|
31
|
-
|
|
36
|
+
const isOuter = this.planDepth === 0;
|
|
37
|
+
this.planDepth += 1;
|
|
38
|
+
try {
|
|
39
|
+
if (isOuter) {
|
|
40
|
+
this.membershipIdsCache = null;
|
|
41
|
+
this.membershipCacheKey = null;
|
|
42
|
+
}
|
|
43
|
+
return await this.planEntity(entityName, fields, 0, new Set());
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
this.planDepth -= 1;
|
|
47
|
+
}
|
|
32
48
|
}
|
|
33
49
|
async planEntity(entityName, fields, depth, stack) {
|
|
34
50
|
if (depth > MAX_RELATION_JOIN_DEPTH || stack.has(entityName)) {
|
|
@@ -67,7 +83,7 @@ let EntityRelationJoinPlannerService = EntityRelationJoinPlannerService_1 = clas
|
|
|
67
83
|
as: (0, entity_query_fields_path_planner_util_1.resolveLookupJoinAlias)(lookup.snapshotRoot, lookup.isMultiple),
|
|
68
84
|
on: [{ left: lookup.fieldName, right: lookup.valueField }],
|
|
69
85
|
type: 'left',
|
|
70
|
-
where: this.isolationWhere(lookup.lookupEntityName),
|
|
86
|
+
where: await this.isolationWhere(lookup.lookupEntityName),
|
|
71
87
|
projection: lookup.projectSources.length ? lookup.projectSources : undefined,
|
|
72
88
|
joins: nested.length ? nested : undefined,
|
|
73
89
|
multiple: lookup.isMultiple,
|
|
@@ -84,21 +100,31 @@ let EntityRelationJoinPlannerService = EntityRelationJoinPlannerService_1 = clas
|
|
|
84
100
|
as: merge.dataPath,
|
|
85
101
|
on: [{ left: merge.idField, right: 'id' }],
|
|
86
102
|
type: 'left',
|
|
87
|
-
where: this.isolationWhere(merge.entity),
|
|
103
|
+
where: await this.isolationWhere(merge.entity),
|
|
88
104
|
projection: merge.hydrateAll ? undefined : nestedFields,
|
|
89
105
|
joins: nested.length ? nested : undefined,
|
|
90
106
|
multiple: false,
|
|
91
107
|
};
|
|
92
108
|
}
|
|
93
|
-
isolationWhere(relatedEntityName) {
|
|
109
|
+
async isolationWhere(relatedEntityName) {
|
|
94
110
|
try {
|
|
95
111
|
const session = this.readSession();
|
|
96
112
|
const policy = (0, abstract_2.resolveEntityAccessPolicy)(relatedEntityName);
|
|
113
|
+
let membershipUserIds;
|
|
114
|
+
if (policy.read === 'identity-read') {
|
|
115
|
+
// While resolving membership we query TenantUser (which plans a User join).
|
|
116
|
+
// Skip identity filter there to avoid recursion / empty sentinel.
|
|
117
|
+
if ((0, abstract_2.isResolvingIdentityMembership)()) {
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
membershipUserIds = await this.resolveMembershipUserIds(session);
|
|
121
|
+
}
|
|
97
122
|
const axpFilter = (0, abstract_2.buildEntityVisibilityAxpFilter)({
|
|
98
123
|
tenantId: session?.tenantId,
|
|
99
124
|
applicationId: session?.applicationId,
|
|
100
125
|
userId: session?.userId,
|
|
101
126
|
policy,
|
|
127
|
+
membershipUserIds,
|
|
102
128
|
});
|
|
103
129
|
return (0, abstract_2.axpFilterToJqlFilter)(axpFilter);
|
|
104
130
|
}
|
|
@@ -107,6 +133,18 @@ let EntityRelationJoinPlannerService = EntityRelationJoinPlannerService_1 = clas
|
|
|
107
133
|
return undefined;
|
|
108
134
|
}
|
|
109
135
|
}
|
|
136
|
+
async resolveMembershipUserIds(session) {
|
|
137
|
+
if (!session?.tenantId || !this.entityStorage) {
|
|
138
|
+
return [];
|
|
139
|
+
}
|
|
140
|
+
const cacheKey = `${session.tenantId}|${session.applicationId ?? ''}`;
|
|
141
|
+
if (this.membershipCacheKey === cacheKey && this.membershipIdsCache) {
|
|
142
|
+
return this.membershipIdsCache;
|
|
143
|
+
}
|
|
144
|
+
this.membershipCacheKey = cacheKey;
|
|
145
|
+
this.membershipIdsCache = (0, abstract_2.resolveIdentityMembershipUserIds)((entityName, request) => this.entityStorage.queryAsEngine(entityName, request), session.tenantId, session.applicationId);
|
|
146
|
+
return this.membershipIdsCache;
|
|
147
|
+
}
|
|
110
148
|
readSession() {
|
|
111
149
|
const req = (0, core_1.getEntityStorageRequest)();
|
|
112
150
|
return req?.[SESSION_REQUEST_KEY] ?? null;
|
|
@@ -115,7 +153,9 @@ let EntityRelationJoinPlannerService = EntityRelationJoinPlannerService_1 = clas
|
|
|
115
153
|
exports.EntityRelationJoinPlannerService = EntityRelationJoinPlannerService;
|
|
116
154
|
exports.EntityRelationJoinPlannerService = EntityRelationJoinPlannerService = EntityRelationJoinPlannerService_1 = tslib_1.__decorate([
|
|
117
155
|
(0, common_1.Injectable)(),
|
|
118
|
-
tslib_1.
|
|
156
|
+
tslib_1.__param(1, (0, common_1.Optional)()),
|
|
157
|
+
tslib_1.__param(1, (0, common_1.Inject)(core_1.EntityStorageMiddlewareService)),
|
|
158
|
+
tslib_1.__metadata("design:paramtypes", [abstract_1.DomainDefinitionLoader, Object])
|
|
119
159
|
], EntityRelationJoinPlannerService);
|
|
120
160
|
//#endregion
|
|
121
161
|
//# sourceMappingURL=entity-relation-join.planner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-relation-join.planner.js","sourceRoot":"","sources":["../../../../../../../../../libs/framework/server/domain/providers/src/lib/utils/entity-relation-join.planner.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"entity-relation-join.planner.js","sourceRoot":"","sources":["../../../../../../../../../libs/framework/server/domain/providers/src/lib/utils/entity-relation-join.planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AXPQuerySort } from '@acorex-platform/framework-server/jql/abstract';
|
|
2
2
|
export interface DataSourceFilterOption {
|
|
3
3
|
field?: string | null;
|
|
4
4
|
logic?: 'and' | 'or';
|
|
@@ -10,5 +10,5 @@ export interface DataSourceFilterOption {
|
|
|
10
10
|
filters?: DataSourceFilterOption[];
|
|
11
11
|
}
|
|
12
12
|
export declare function applyFilterArray(dataArray: unknown[], filters?: DataSourceFilterOption[], logic?: 'and' | 'or'): unknown[];
|
|
13
|
-
export declare function applySortArray(dataArray: unknown[], sorts: AXPQuerySort[]): unknown[];
|
|
13
|
+
export declare function applySortArray(dataArray: unknown[], sorts: AXPQuerySort[], locale?: string): unknown[];
|
|
14
14
|
//# sourceMappingURL=in-memory-query.util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-query.util.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/framework/server/domain/providers/src/lib/utils/in-memory-query.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"in-memory-query.util.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/framework/server/domain/providers/src/lib/utils/in-memory-query.util.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAK7G,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACpC;AAgPD,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,OAAO,EAAE,EACpB,OAAO,CAAC,EAAE,sBAAsB,EAAE,EAClC,KAAK,GAAE,KAAK,GAAG,IAAY,GAC1B,OAAO,EAAE,CAeX;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAQtG"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.applyFilterArray = applyFilterArray;
|
|
4
4
|
exports.applySortArray = applySortArray;
|
|
5
5
|
const lodash_es_1 = require("lodash-es");
|
|
6
|
+
const abstract_1 = require("@acorex-platform/framework-server/jql/abstract");
|
|
6
7
|
const core_1 = require("@acorex-platform/framework-shared/core");
|
|
7
8
|
function getNestedValue(item, field) {
|
|
8
9
|
if (!field) {
|
|
@@ -107,24 +108,28 @@ function isEmptyValue(rawValue) {
|
|
|
107
108
|
}
|
|
108
109
|
return false;
|
|
109
110
|
}
|
|
110
|
-
function
|
|
111
|
+
function foldSortText(text, locale) {
|
|
112
|
+
try {
|
|
113
|
+
return text.toLocaleLowerCase(locale);
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
return text.toLowerCase();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
function toSortComparableValue(value, locale) {
|
|
111
120
|
if (value == null) {
|
|
112
121
|
return '';
|
|
113
122
|
}
|
|
114
123
|
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
115
124
|
return value;
|
|
116
125
|
}
|
|
117
|
-
if (typeof value === 'string') {
|
|
118
|
-
return value.toLowerCase();
|
|
119
|
-
}
|
|
120
126
|
if (value instanceof Date) {
|
|
121
127
|
return value.getTime();
|
|
122
128
|
}
|
|
123
|
-
if ((0, core_1.isLocaleStringMap)(value)) {
|
|
124
|
-
|
|
125
|
-
return (first ?? '').toLowerCase();
|
|
129
|
+
if (typeof value === 'string' || (0, core_1.isLocaleStringMap)(value)) {
|
|
130
|
+
return foldSortText((0, core_1.resolveMultiLanguageString)(value, locale), locale);
|
|
126
131
|
}
|
|
127
|
-
return String(value)
|
|
132
|
+
return foldSortText(String(value), locale);
|
|
128
133
|
}
|
|
129
134
|
function applyCondition(item, condition) {
|
|
130
135
|
const operatorType = condition.operator?.type ?? 'equal';
|
|
@@ -210,11 +215,12 @@ function applyFilterArray(dataArray, filters, logic = 'and') {
|
|
|
210
215
|
return filters.some((f) => f.filters ? applyFilterArray([item], f.filters, f.logic).length > 0 : applyCondition(item, f));
|
|
211
216
|
});
|
|
212
217
|
}
|
|
213
|
-
function applySortArray(dataArray, sorts) {
|
|
218
|
+
function applySortArray(dataArray, sorts, locale) {
|
|
214
219
|
if (!sorts?.length) {
|
|
215
220
|
return dataArray;
|
|
216
221
|
}
|
|
217
|
-
const
|
|
222
|
+
const resolvedLocale = (0, abstract_1.normalizeQuerySortLocale)(locale);
|
|
223
|
+
const iteratees = sorts.map((s) => (item) => toSortComparableValue((0, lodash_es_1.get)(item, s.field), resolvedLocale));
|
|
218
224
|
const sortOrders = sorts.map((s) => (s.dir === 'desc' ? 'desc' : 'asc'));
|
|
219
225
|
return (0, lodash_es_1.orderBy)(dataArray, iteratees, sortOrders);
|
|
220
226
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-query.util.js","sourceRoot":"","sources":["../../../../../../../../../libs/framework/server/domain/providers/src/lib/utils/in-memory-query.util.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"in-memory-query.util.js","sourceRoot":"","sources":["../../../../../../../../../libs/framework/server/domain/providers/src/lib/utils/in-memory-query.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type AXPCommandExecuteResultPromise, type AXPCommandMiddleware, type AXPCommandMiddlewareContext, type AXPQueryMiddleware, type AXPQueryMiddlewareContext } from '@acorex-platform/framework-shared/runtime';
|
|
2
|
+
import type { ExecutionTraceSession } from '@acorex-platform/framework-server/observability/abstract';
|
|
3
|
+
export declare function composeCommandMiddlewaresWithTrace<TInput, TResult>(middlewares: readonly AXPCommandMiddleware<TInput, TResult>[], handler: (context: AXPCommandMiddlewareContext<TInput>) => AXPCommandExecuteResultPromise<TResult>, session: ExecutionTraceSession): (context: AXPCommandMiddlewareContext<TInput>) => AXPCommandExecuteResultPromise<TResult>;
|
|
4
|
+
export declare function composeQueryMiddlewaresWithTrace<TInput, TResult>(middlewares: readonly AXPQueryMiddleware<TInput, TResult>[], handler: (context: AXPQueryMiddlewareContext<TInput>) => Promise<TResult>, session: ExecutionTraceSession): (context: AXPQueryMiddlewareContext<TInput>) => Promise<TResult>;
|
|
5
|
+
//# sourceMappingURL=instrument-runtime-middleware.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrument-runtime-middleware.util.d.ts","sourceRoot":"","sources":["../../../../../../../../../libs/framework/server/domain/providers/src/lib/utils/instrument-runtime-middleware.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,8BAA8B,EACnC,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC/B,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AAyDtG,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,OAAO,EAChE,WAAW,EAAE,SAAS,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC7D,OAAO,EAAE,CAAC,OAAO,EAAE,2BAA2B,CAAC,MAAM,CAAC,KAAK,8BAA8B,CAAC,OAAO,CAAC,EAClG,OAAO,EAAE,qBAAqB,GAC7B,CAAC,OAAO,EAAE,2BAA2B,CAAC,MAAM,CAAC,KAAK,8BAA8B,CAAC,OAAO,CAAC,CAO3F;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,OAAO,EAC9D,WAAW,EAAE,SAAS,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3D,OAAO,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EACzE,OAAO,EAAE,qBAAqB,GAC7B,CAAC,OAAO,EAAE,yBAAyB,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAOlE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.composeCommandMiddlewaresWithTrace = composeCommandMiddlewaresWithTrace;
|
|
4
|
+
exports.composeQueryMiddlewaresWithTrace = composeQueryMiddlewaresWithTrace;
|
|
5
|
+
const runtime_1 = require("@acorex-platform/framework-shared/runtime");
|
|
6
|
+
//#region ---- Runtime middleware trace instrumentation ----
|
|
7
|
+
function middlewareDisplayName(mw) {
|
|
8
|
+
if (typeof mw === 'function' && mw.name) {
|
|
9
|
+
return mw.name;
|
|
10
|
+
}
|
|
11
|
+
if (mw && typeof mw === 'object') {
|
|
12
|
+
const name = mw.constructor?.name;
|
|
13
|
+
if (name) {
|
|
14
|
+
return name;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return 'AnonymousMiddleware';
|
|
18
|
+
}
|
|
19
|
+
function wrapCommandMiddleware(mw, index, nextName, session) {
|
|
20
|
+
const name = middlewareDisplayName(mw);
|
|
21
|
+
return async (context, next) => session.withSpan({
|
|
22
|
+
operationName: `command.mw.${name}`,
|
|
23
|
+
spanKind: 'middleware',
|
|
24
|
+
middlewareName: name,
|
|
25
|
+
order: index,
|
|
26
|
+
nextMiddleware: nextName,
|
|
27
|
+
}, () => mw(context, next));
|
|
28
|
+
}
|
|
29
|
+
function wrapQueryMiddleware(mw, index, nextName, session) {
|
|
30
|
+
const name = middlewareDisplayName(mw);
|
|
31
|
+
return async (context, next) => session.withSpan({
|
|
32
|
+
operationName: `query.mw.${name}`,
|
|
33
|
+
spanKind: 'middleware',
|
|
34
|
+
middlewareName: name,
|
|
35
|
+
order: index,
|
|
36
|
+
nextMiddleware: nextName,
|
|
37
|
+
}, () => mw(context, next));
|
|
38
|
+
}
|
|
39
|
+
function composeCommandMiddlewaresWithTrace(middlewares, handler, session) {
|
|
40
|
+
const instrumented = middlewares.map((mw, index) => {
|
|
41
|
+
const nextMw = middlewares[index + 1];
|
|
42
|
+
const nextName = nextMw ? middlewareDisplayName(nextMw) : 'handler';
|
|
43
|
+
return wrapCommandMiddleware(mw, index, nextName, session);
|
|
44
|
+
});
|
|
45
|
+
return (0, runtime_1.composeCommandMiddlewares)(instrumented)(handler);
|
|
46
|
+
}
|
|
47
|
+
function composeQueryMiddlewaresWithTrace(middlewares, handler, session) {
|
|
48
|
+
const instrumented = middlewares.map((mw, index) => {
|
|
49
|
+
const nextMw = middlewares[index + 1];
|
|
50
|
+
const nextName = nextMw ? middlewareDisplayName(nextMw) : 'handler';
|
|
51
|
+
return wrapQueryMiddleware(mw, index, nextName, session);
|
|
52
|
+
});
|
|
53
|
+
return (0, runtime_1.composeQueryMiddlewares)(instrumented)(handler);
|
|
54
|
+
}
|
|
55
|
+
//#endregion
|
|
56
|
+
//# sourceMappingURL=instrument-runtime-middleware.util.js.map
|