@acorex-platform/framework-server 0.0.37 → 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
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var JqlReleaseMigrateService_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.JqlReleaseMigrateService = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const providers_1 = require("@acorex-platform/framework-server/domain/providers");
|
|
8
|
+
const jql_release_ledger_service_1 = require("./jql-release-ledger.service");
|
|
9
|
+
const jql_release_migration_runner_1 = require("./jql-release-migration.runner");
|
|
10
|
+
const jql_release_seed_reconcile_service_1 = require("./jql-release-seed-reconcile.service");
|
|
11
|
+
//#region ---- Release migrate orchestrator ----
|
|
12
|
+
let JqlReleaseMigrateService = JqlReleaseMigrateService_1 = class JqlReleaseMigrateService {
|
|
13
|
+
constructor(ledger, migrations, reconcile, schemaLoader) {
|
|
14
|
+
this.ledger = ledger;
|
|
15
|
+
this.migrations = migrations;
|
|
16
|
+
this.reconcile = reconcile;
|
|
17
|
+
this.schemaLoader = schemaLoader;
|
|
18
|
+
this.logger = new common_1.Logger(JqlReleaseMigrateService_1.name);
|
|
19
|
+
}
|
|
20
|
+
async run(options) {
|
|
21
|
+
const owner = `pid-${process.pid}-${Date.now()}`;
|
|
22
|
+
if (!options.dryRun) {
|
|
23
|
+
await this.ledger.acquireLock(owner);
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
this.logger.log(`Release migrate start layers=${options.layers.join(',')} dryRun=${options.dryRun} force=${options.force}`);
|
|
27
|
+
const migrationResult = await this.migrations.run(options.dryRun);
|
|
28
|
+
const definitionTargets = options.layers.includes('bootstrap')
|
|
29
|
+
? await this.reconcile.reconcile({
|
|
30
|
+
phase: 'definitions',
|
|
31
|
+
layers: ['bootstrap'],
|
|
32
|
+
dryRun: options.dryRun,
|
|
33
|
+
force: options.force,
|
|
34
|
+
})
|
|
35
|
+
: [];
|
|
36
|
+
this.logger.log('Phase: schemas');
|
|
37
|
+
await this.schemaLoader.buildAndRegisterAll();
|
|
38
|
+
const dataTargets = await this.reconcile.reconcile({
|
|
39
|
+
phase: 'data',
|
|
40
|
+
layers: options.layers,
|
|
41
|
+
dryRun: options.dryRun,
|
|
42
|
+
force: options.force,
|
|
43
|
+
});
|
|
44
|
+
const targets = [
|
|
45
|
+
...definitionTargets,
|
|
46
|
+
...dataTargets,
|
|
47
|
+
];
|
|
48
|
+
const applied = targets.reduce((sum, target) => sum + target.applied, 0);
|
|
49
|
+
const kept = targets.reduce((sum, target) => sum + target.kept, 0);
|
|
50
|
+
const failed = targets.reduce((sum, target) => sum + target.failed, 0);
|
|
51
|
+
const skippedTargets = targets.filter((target) => target.skipped).length;
|
|
52
|
+
if (failed > 0) {
|
|
53
|
+
const failedKeys = targets
|
|
54
|
+
.filter((target) => target.failed > 0)
|
|
55
|
+
.map((target) => `${target.targetKey}(${target.failed})`)
|
|
56
|
+
.join(', ');
|
|
57
|
+
throw new Error(`Release migrate finished with ${failed} seed apply failure(s): ${failedKeys}`);
|
|
58
|
+
}
|
|
59
|
+
const result = {
|
|
60
|
+
dryRun: options.dryRun,
|
|
61
|
+
layers: options.layers,
|
|
62
|
+
migrationsApplied: migrationResult.applied,
|
|
63
|
+
migrationsSkipped: migrationResult.skipped,
|
|
64
|
+
targets,
|
|
65
|
+
applied,
|
|
66
|
+
kept,
|
|
67
|
+
failed,
|
|
68
|
+
skippedTargets,
|
|
69
|
+
};
|
|
70
|
+
if (!options.dryRun) {
|
|
71
|
+
await this.ledger.recordRelease({
|
|
72
|
+
version: process.env['npm_package_version'] ?? 'unknown',
|
|
73
|
+
gitSha: process.env['GITHUB_SHA'] ?? process.env['GIT_SHA'] ?? 'local',
|
|
74
|
+
summary: {
|
|
75
|
+
layers: [...options.layers],
|
|
76
|
+
migrationsApplied: [...migrationResult.applied],
|
|
77
|
+
applied,
|
|
78
|
+
kept,
|
|
79
|
+
skippedTargets,
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
this.logger.log(`Release migrate finished applied=${applied} kept=${kept} skippedTargets=${skippedTargets} ` +
|
|
84
|
+
`migrations=${migrationResult.applied.length}`);
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
finally {
|
|
88
|
+
if (!options.dryRun) {
|
|
89
|
+
await this.ledger.releaseLock();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
exports.JqlReleaseMigrateService = JqlReleaseMigrateService;
|
|
95
|
+
exports.JqlReleaseMigrateService = JqlReleaseMigrateService = JqlReleaseMigrateService_1 = tslib_1.__decorate([
|
|
96
|
+
(0, common_1.Injectable)(),
|
|
97
|
+
tslib_1.__metadata("design:paramtypes", [jql_release_ledger_service_1.JqlReleaseLedgerService,
|
|
98
|
+
jql_release_migration_runner_1.JqlReleaseMigrationRunner,
|
|
99
|
+
jql_release_seed_reconcile_service_1.JqlReleaseSeedReconcileService,
|
|
100
|
+
providers_1.DomainEntitySchemaLoader])
|
|
101
|
+
], JqlReleaseMigrateService);
|
|
102
|
+
//#endregion
|
|
103
|
+
//# sourceMappingURL=jql-release-migrate.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jql-release-migrate.service.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/jql/seed/src/lib/jql-release-migrate.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { JqlReleaseMigration } from './jql-release-migrate.types';
|
|
2
|
+
/** App-registered once-only release migrations (empty by default). */
|
|
3
|
+
export declare const JQL_RELEASE_MIGRATIONS: unique symbol;
|
|
4
|
+
export type JqlReleaseMigrations = readonly JqlReleaseMigration[];
|
|
5
|
+
//# sourceMappingURL=jql-release-migrate.tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jql-release-migrate.tokens.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/jql/seed/src/lib/jql-release-migrate.tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAIvE,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG,SAAS,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JQL_RELEASE_MIGRATIONS = void 0;
|
|
4
|
+
//#region ---- Release migrate tokens ----
|
|
5
|
+
/** App-registered once-only release migrations (empty by default). */
|
|
6
|
+
exports.JQL_RELEASE_MIGRATIONS = Symbol('JQL_RELEASE_MIGRATIONS');
|
|
7
|
+
//#endregion
|
|
8
|
+
//# sourceMappingURL=jql-release-migrate.tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jql-release-migrate.tokens.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/jql/seed/src/lib/jql-release-migrate.tokens.ts"],"names":[],"mappings":";;;AAEA,0CAA0C;AAE1C,sEAAsE;AACzD,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAIvE,YAAY"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/** Owned seed layer applied on an existing database after a release. */
|
|
2
|
+
export type JqlReleaseLayer = 'bootstrap' | 'pack' | 'demo';
|
|
3
|
+
export declare const JQL_RELEASE_LAYERS: readonly JqlReleaseLayer[];
|
|
4
|
+
export declare const JQL_RELEASE_LEDGER_SOURCE = "jql_release_ledger";
|
|
5
|
+
export declare const JQL_RELEASE_LEDGER_COLLECTION = "jql_release_ledger";
|
|
6
|
+
export declare const JQL_RELEASE_LOCK_ID = "lock";
|
|
7
|
+
export declare const JQL_RELEASE_LOCK_TTL_MS: number;
|
|
8
|
+
export type JqlReleaseLedgerKind = 'lock' | 'migration' | 'seed-target' | 'release';
|
|
9
|
+
export interface JqlReleaseMigrationContext {
|
|
10
|
+
readonly entityBackend: import('@acorex-platform/framework-server/jql/abstract').EntityStorageBackend;
|
|
11
|
+
getEngine(instanceName: string): import('@acorex-platform/framework-server/jql/abstract').JqlEngineBase;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Hand-written, once-only data/schema transform.
|
|
15
|
+
* Use for renames, backfills, and splits — not for catalog row upserts.
|
|
16
|
+
*/
|
|
17
|
+
export interface JqlReleaseMigration {
|
|
18
|
+
readonly id: string;
|
|
19
|
+
readonly checksum: string;
|
|
20
|
+
readonly description?: string;
|
|
21
|
+
up(context: JqlReleaseMigrationContext): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export interface JqlReleaseMigrateOptions {
|
|
24
|
+
readonly enabled: boolean;
|
|
25
|
+
readonly dryRun: boolean;
|
|
26
|
+
/** Re-analyze even when the target checksum matches the ledger. */
|
|
27
|
+
readonly force: boolean;
|
|
28
|
+
readonly layers: readonly JqlReleaseLayer[];
|
|
29
|
+
}
|
|
30
|
+
export interface JqlReleaseSeedTargetLedger {
|
|
31
|
+
readonly targetKey: string;
|
|
32
|
+
readonly checksum: string;
|
|
33
|
+
readonly recordChecksums: Readonly<Record<string, string>>;
|
|
34
|
+
readonly layer: JqlReleaseLayer;
|
|
35
|
+
readonly appliedAt: string;
|
|
36
|
+
}
|
|
37
|
+
export interface JqlReleaseMigrationLedger {
|
|
38
|
+
readonly migrationId: string;
|
|
39
|
+
readonly checksum: string;
|
|
40
|
+
readonly appliedAt: string;
|
|
41
|
+
}
|
|
42
|
+
export interface JqlReleaseTargetResult {
|
|
43
|
+
readonly targetKey: string;
|
|
44
|
+
readonly layer: JqlReleaseLayer;
|
|
45
|
+
readonly phase: 'definitions' | 'data';
|
|
46
|
+
readonly skipped: boolean;
|
|
47
|
+
readonly skipReason?: string;
|
|
48
|
+
readonly applied: number;
|
|
49
|
+
readonly kept: number;
|
|
50
|
+
readonly failed: number;
|
|
51
|
+
}
|
|
52
|
+
export interface JqlReleaseMigrateResult {
|
|
53
|
+
readonly dryRun: boolean;
|
|
54
|
+
readonly layers: readonly JqlReleaseLayer[];
|
|
55
|
+
readonly migrationsApplied: readonly string[];
|
|
56
|
+
readonly migrationsSkipped: readonly string[];
|
|
57
|
+
readonly targets: readonly JqlReleaseTargetResult[];
|
|
58
|
+
readonly applied: number;
|
|
59
|
+
readonly kept: number;
|
|
60
|
+
readonly failed: number;
|
|
61
|
+
readonly skippedTargets: number;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=jql-release-migrate.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jql-release-migrate.types.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/jql/seed/src/lib/jql-release-migrate.types.ts"],"names":[],"mappings":"AAEA,wEAAwE;AACxE,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5D,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAIxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAC9D,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAClE,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAC1C,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AAEtD,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,EAAE,OAAO,gDAAgD,EAAE,oBAAoB,CAAC;IACtG,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,gDAAgD,EAAE,aAAa,CAAC;CACzG;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,EAAE,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//#region ---- Release migrate types ----
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.JQL_RELEASE_LOCK_TTL_MS = exports.JQL_RELEASE_LOCK_ID = exports.JQL_RELEASE_LEDGER_COLLECTION = exports.JQL_RELEASE_LEDGER_SOURCE = exports.JQL_RELEASE_LAYERS = void 0;
|
|
5
|
+
exports.JQL_RELEASE_LAYERS = [
|
|
6
|
+
'bootstrap',
|
|
7
|
+
'pack',
|
|
8
|
+
'demo',
|
|
9
|
+
];
|
|
10
|
+
exports.JQL_RELEASE_LEDGER_SOURCE = 'jql_release_ledger';
|
|
11
|
+
exports.JQL_RELEASE_LEDGER_COLLECTION = 'jql_release_ledger';
|
|
12
|
+
exports.JQL_RELEASE_LOCK_ID = 'lock';
|
|
13
|
+
exports.JQL_RELEASE_LOCK_TTL_MS = 30 * 60 * 1000;
|
|
14
|
+
//#endregion
|
|
15
|
+
//# sourceMappingURL=jql-release-migrate.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jql-release-migrate.types.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/jql/seed/src/lib/jql-release-migrate.types.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAK5B,QAAA,kBAAkB,GAA+B;IAC5D,WAAW;IACX,MAAM;IACN,MAAM;CACP,CAAC;AAEW,QAAA,yBAAyB,GAAG,oBAAoB,CAAC;AACjD,QAAA,6BAA6B,GAAG,oBAAoB,CAAC;AACrD,QAAA,mBAAmB,GAAG,MAAM,CAAC;AAC7B,QAAA,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAqEtD,YAAY"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { JqlSeedApplyDecisionDto, JqlSeedDiffOpDto } from './jql-seed-api.types';
|
|
2
|
+
import type { JqlSeedDiffAction } from './jql-seed-diff.util';
|
|
3
|
+
import type { JqlReleaseLayer } from './jql-release-migrate.types';
|
|
4
|
+
export declare function isJqlReleaseLayer(value: string): value is JqlReleaseLayer;
|
|
5
|
+
/**
|
|
6
|
+
* bootstrap wins, then demo/sample, then pack/core.
|
|
7
|
+
* Untagged catalogs (command/query/widget) are treated as bootstrap.
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolveReleaseSeedLayer(tags: readonly string[] | undefined): JqlReleaseLayer;
|
|
10
|
+
export declare function hashNormalizedJson(value: unknown): string;
|
|
11
|
+
export declare function hashSeedRecord(record: Record<string, unknown>): string;
|
|
12
|
+
export declare function hashSeedRecords(records: readonly Record<string, unknown>[], uniqueKeys?: readonly string[]): string;
|
|
13
|
+
export declare function buildSeedRecordChecksums(records: readonly Record<string, unknown>[], uniqueKeys?: readonly string[]): Record<string, string>;
|
|
14
|
+
export declare function isSystemSeedRow(row: Record<string, unknown> | undefined): boolean;
|
|
15
|
+
/** Seed-owned: system/immutable, or no tenant clone marker. */
|
|
16
|
+
export declare function isSeedOwnedRow(row: Record<string, unknown> | undefined): boolean;
|
|
17
|
+
/** Local diverged from the last seed payload we successfully applied. */
|
|
18
|
+
export declare function isUserEditedSeedRow(local: Record<string, unknown> | undefined, lastAppliedRecordHash: string | undefined): boolean;
|
|
19
|
+
export declare function decideReleaseSeedAction(args: {
|
|
20
|
+
readonly op: JqlSeedDiffOpDto;
|
|
21
|
+
readonly layer: JqlReleaseLayer;
|
|
22
|
+
readonly lastAppliedRecordHash?: string;
|
|
23
|
+
}): JqlSeedDiffAction | null;
|
|
24
|
+
export declare function expandReleaseSeedDecisions(args: {
|
|
25
|
+
readonly targetKey: string;
|
|
26
|
+
readonly layer: JqlReleaseLayer;
|
|
27
|
+
readonly ops: readonly JqlSeedDiffOpDto[];
|
|
28
|
+
readonly lastRecordChecksums?: Readonly<Record<string, string>>;
|
|
29
|
+
}): JqlSeedApplyDecisionDto[];
|
|
30
|
+
export declare function mergeRecordChecksumsAfterApply(args: {
|
|
31
|
+
readonly previous: Readonly<Record<string, string>>;
|
|
32
|
+
readonly desired: Readonly<Record<string, string>>;
|
|
33
|
+
readonly decisions: readonly JqlSeedApplyDecisionDto[];
|
|
34
|
+
}): Record<string, string>;
|
|
35
|
+
//# sourceMappingURL=jql-release-migrate.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jql-release-migrate.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/jql/seed/src/lib/jql-release-migrate.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAKnE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,eAAe,CAEzE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAClC,eAAe,CAYjB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEzD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEtE;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,UAAU,GAAE,SAAS,MAAM,EAAW,GACrC,MAAM,CAYR;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3C,UAAU,GAAE,SAAS,MAAM,EAAW,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxB;AASD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACvC,OAAO,CAGT;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACvC,OAAO,CAST;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC1C,qBAAqB,EAAE,MAAM,GAAG,SAAS,GACxC,OAAO,CAKT;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC,GAAG,iBAAiB,GAAG,IAAI,CAwC3B;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjE,GAAG,uBAAuB,EAAE,CAkB5B;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACxD,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyBzB"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isJqlReleaseLayer = isJqlReleaseLayer;
|
|
4
|
+
exports.resolveReleaseSeedLayer = resolveReleaseSeedLayer;
|
|
5
|
+
exports.hashNormalizedJson = hashNormalizedJson;
|
|
6
|
+
exports.hashSeedRecord = hashSeedRecord;
|
|
7
|
+
exports.hashSeedRecords = hashSeedRecords;
|
|
8
|
+
exports.buildSeedRecordChecksums = buildSeedRecordChecksums;
|
|
9
|
+
exports.isSystemSeedRow = isSystemSeedRow;
|
|
10
|
+
exports.isSeedOwnedRow = isSeedOwnedRow;
|
|
11
|
+
exports.isUserEditedSeedRow = isUserEditedSeedRow;
|
|
12
|
+
exports.decideReleaseSeedAction = decideReleaseSeedAction;
|
|
13
|
+
exports.expandReleaseSeedDecisions = expandReleaseSeedDecisions;
|
|
14
|
+
exports.mergeRecordChecksumsAfterApply = mergeRecordChecksumsAfterApply;
|
|
15
|
+
const node_crypto_1 = require("node:crypto");
|
|
16
|
+
const jql_seed_diff_util_1 = require("./jql-seed-diff.util");
|
|
17
|
+
const jql_release_migrate_types_1 = require("./jql-release-migrate.types");
|
|
18
|
+
//#region ---- Release migrate helpers ----
|
|
19
|
+
function isJqlReleaseLayer(value) {
|
|
20
|
+
return jql_release_migrate_types_1.JQL_RELEASE_LAYERS.includes(value);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* bootstrap wins, then demo/sample, then pack/core.
|
|
24
|
+
* Untagged catalogs (command/query/widget) are treated as bootstrap.
|
|
25
|
+
*/
|
|
26
|
+
function resolveReleaseSeedLayer(tags) {
|
|
27
|
+
const set = new Set(tags ?? []);
|
|
28
|
+
if (set.has('bootstrap')) {
|
|
29
|
+
return 'bootstrap';
|
|
30
|
+
}
|
|
31
|
+
if (set.has('demo') || set.has('sample')) {
|
|
32
|
+
return 'demo';
|
|
33
|
+
}
|
|
34
|
+
if (set.has('pack') || set.has('core')) {
|
|
35
|
+
return 'pack';
|
|
36
|
+
}
|
|
37
|
+
return 'bootstrap';
|
|
38
|
+
}
|
|
39
|
+
function hashNormalizedJson(value) {
|
|
40
|
+
return (0, node_crypto_1.createHash)('sha256').update(JSON.stringify(value)).digest('hex');
|
|
41
|
+
}
|
|
42
|
+
function hashSeedRecord(record) {
|
|
43
|
+
return hashNormalizedJson((0, jql_seed_diff_util_1.normalizeJqlSeedRecordForCompare)(record));
|
|
44
|
+
}
|
|
45
|
+
function hashSeedRecords(records, uniqueKeys = ['id']) {
|
|
46
|
+
const items = records
|
|
47
|
+
.map((record) => {
|
|
48
|
+
const key = (0, jql_seed_diff_util_1.buildJqlSeedRecordKey)(record, uniqueKeys);
|
|
49
|
+
if (!key) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
return { key, value: (0, jql_seed_diff_util_1.normalizeJqlSeedRecordForCompare)(record) };
|
|
53
|
+
})
|
|
54
|
+
.filter((item) => item != null)
|
|
55
|
+
.sort((left, right) => left.key.localeCompare(right.key));
|
|
56
|
+
return hashNormalizedJson(items);
|
|
57
|
+
}
|
|
58
|
+
function buildSeedRecordChecksums(records, uniqueKeys = ['id']) {
|
|
59
|
+
const checksums = {};
|
|
60
|
+
for (const record of records) {
|
|
61
|
+
const key = (0, jql_seed_diff_util_1.buildJqlSeedRecordKey)(record, uniqueKeys);
|
|
62
|
+
if (!key) {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
checksums[key] = hashSeedRecord(record);
|
|
66
|
+
}
|
|
67
|
+
return checksums;
|
|
68
|
+
}
|
|
69
|
+
function asRecord(value) {
|
|
70
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
return value;
|
|
74
|
+
}
|
|
75
|
+
function isSystemSeedRow(row) {
|
|
76
|
+
const state = asRecord(row?.['stateInfo']);
|
|
77
|
+
return state?.['isSystem'] === true || state?.['isImmutable'] === true;
|
|
78
|
+
}
|
|
79
|
+
/** Seed-owned: system/immutable, or no tenant clone marker. */
|
|
80
|
+
function isSeedOwnedRow(row) {
|
|
81
|
+
if (!row) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
if (isSystemSeedRow(row)) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
const clonedFromId = row['clonedFromId'];
|
|
88
|
+
return clonedFromId == null || clonedFromId === '';
|
|
89
|
+
}
|
|
90
|
+
/** Local diverged from the last seed payload we successfully applied. */
|
|
91
|
+
function isUserEditedSeedRow(local, lastAppliedRecordHash) {
|
|
92
|
+
if (!local || !lastAppliedRecordHash) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
return hashSeedRecord(local) !== lastAppliedRecordHash;
|
|
96
|
+
}
|
|
97
|
+
function decideReleaseSeedAction(args) {
|
|
98
|
+
const { op, layer, lastAppliedRecordHash } = args;
|
|
99
|
+
if (op.kind === 'extra') {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
if (op.kind === 'add') {
|
|
103
|
+
return 'take-seed';
|
|
104
|
+
}
|
|
105
|
+
if (op.kind === 'change') {
|
|
106
|
+
if (layer === 'bootstrap') {
|
|
107
|
+
return 'take-seed';
|
|
108
|
+
}
|
|
109
|
+
if (layer === 'pack') {
|
|
110
|
+
return isSeedOwnedRow(op.local) || isSeedOwnedRow(op.seed)
|
|
111
|
+
? 'take-seed'
|
|
112
|
+
: 'keep-local';
|
|
113
|
+
}
|
|
114
|
+
if (isSystemSeedRow(op.local) || isSystemSeedRow(op.seed)) {
|
|
115
|
+
return 'take-seed';
|
|
116
|
+
}
|
|
117
|
+
if (lastAppliedRecordHash &&
|
|
118
|
+
!isUserEditedSeedRow(op.local, lastAppliedRecordHash)) {
|
|
119
|
+
return 'take-seed';
|
|
120
|
+
}
|
|
121
|
+
return 'keep-local';
|
|
122
|
+
}
|
|
123
|
+
if (op.kind === 'seed-removed') {
|
|
124
|
+
if (layer === 'bootstrap' && isSystemSeedRow(op.local)) {
|
|
125
|
+
return 'delete';
|
|
126
|
+
}
|
|
127
|
+
return 'keep-local';
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
function expandReleaseSeedDecisions(args) {
|
|
132
|
+
const decisions = [];
|
|
133
|
+
for (const op of args.ops) {
|
|
134
|
+
const action = decideReleaseSeedAction({
|
|
135
|
+
op,
|
|
136
|
+
layer: args.layer,
|
|
137
|
+
lastAppliedRecordHash: args.lastRecordChecksums?.[op.recordKey],
|
|
138
|
+
});
|
|
139
|
+
if (!action) {
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
decisions.push({
|
|
143
|
+
targetKey: args.targetKey,
|
|
144
|
+
recordKey: op.recordKey,
|
|
145
|
+
action,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
return decisions;
|
|
149
|
+
}
|
|
150
|
+
function mergeRecordChecksumsAfterApply(args) {
|
|
151
|
+
const next = { ...args.previous };
|
|
152
|
+
const byKey = new Map(args.decisions.map((decision) => [decision.recordKey, decision.action]));
|
|
153
|
+
for (const [recordKey, checksum] of Object.entries(args.desired)) {
|
|
154
|
+
const action = byKey.get(recordKey);
|
|
155
|
+
if (action === 'keep-local') {
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
if (action === 'delete') {
|
|
159
|
+
delete next[recordKey];
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
next[recordKey] = checksum;
|
|
163
|
+
}
|
|
164
|
+
for (const decision of args.decisions) {
|
|
165
|
+
if (decision.action === 'delete') {
|
|
166
|
+
delete next[decision.recordKey];
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return next;
|
|
170
|
+
}
|
|
171
|
+
//#endregion
|
|
172
|
+
//# sourceMappingURL=jql-release-migrate.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jql-release-migrate.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/jql/seed/src/lib/jql-release-migrate.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { EntityStorageBackend } from '@acorex-platform/framework-server/jql/abstract';
|
|
2
|
+
import { JqlEngineRegistryService } from './jql-engine-registry.service';
|
|
3
|
+
import { JqlReleaseLedgerService } from './jql-release-ledger.service';
|
|
4
|
+
import type { JqlReleaseMigration } from './jql-release-migrate.types';
|
|
5
|
+
export declare class JqlReleaseMigrationRunner {
|
|
6
|
+
private readonly ledger;
|
|
7
|
+
private readonly engineRegistry;
|
|
8
|
+
private readonly entityBackend;
|
|
9
|
+
private readonly migrations;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
constructor(ledger: JqlReleaseLedgerService, engineRegistry: JqlEngineRegistryService, entityBackend: EntityStorageBackend, migrations: readonly JqlReleaseMigration[] | null);
|
|
12
|
+
run(dryRun: boolean): Promise<{
|
|
13
|
+
applied: string[];
|
|
14
|
+
skipped: string[];
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=jql-release-migration.runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jql-release-migration.runner.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/jql/seed/src/lib/jql-release-migration.runner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAIvE,qBACa,yBAAyB;IAIlC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAT7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;gBAGlD,MAAM,EAAE,uBAAuB,EAC/B,cAAc,EAAE,wBAAwB,EAExC,aAAa,EAAE,oBAAoB,EAGnC,UAAU,EAAE,SAAS,mBAAmB,EAAE,GAAG,IAAI;IAG9D,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;QAClC,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CAuDH"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var JqlReleaseMigrationRunner_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.JqlReleaseMigrationRunner = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const core_1 = require("@acorex-platform/framework-server/core");
|
|
8
|
+
const jql_engine_registry_service_1 = require("./jql-engine-registry.service");
|
|
9
|
+
const jql_release_ledger_service_1 = require("./jql-release-ledger.service");
|
|
10
|
+
const jql_release_migrate_tokens_1 = require("./jql-release-migrate.tokens");
|
|
11
|
+
//#region ---- Release migration runner ----
|
|
12
|
+
let JqlReleaseMigrationRunner = JqlReleaseMigrationRunner_1 = class JqlReleaseMigrationRunner {
|
|
13
|
+
constructor(ledger, engineRegistry, entityBackend, migrations) {
|
|
14
|
+
this.ledger = ledger;
|
|
15
|
+
this.engineRegistry = engineRegistry;
|
|
16
|
+
this.entityBackend = entityBackend;
|
|
17
|
+
this.migrations = migrations;
|
|
18
|
+
this.logger = new common_1.Logger(JqlReleaseMigrationRunner_1.name);
|
|
19
|
+
}
|
|
20
|
+
async run(dryRun) {
|
|
21
|
+
const applied = [];
|
|
22
|
+
const skipped = [];
|
|
23
|
+
const pending = [...(this.migrations ?? [])].sort((left, right) => left.id.localeCompare(right.id));
|
|
24
|
+
if (!pending.length) {
|
|
25
|
+
this.logger.log('No release migrations registered');
|
|
26
|
+
return { applied, skipped };
|
|
27
|
+
}
|
|
28
|
+
for (const migration of pending) {
|
|
29
|
+
const existing = await this.ledger.getAppliedMigration(migration.id);
|
|
30
|
+
if (existing) {
|
|
31
|
+
if (existing.checksum !== migration.checksum) {
|
|
32
|
+
throw new Error(`Release migration "${migration.id}" checksum changed after apply ` +
|
|
33
|
+
`(ledger=${existing.checksum}, current=${migration.checksum})`);
|
|
34
|
+
}
|
|
35
|
+
skipped.push(migration.id);
|
|
36
|
+
this.logger.log(`Skip migration ${migration.id} (already applied)`);
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (dryRun) {
|
|
40
|
+
this.logger.log(`[dry-run] Would apply migration ${migration.id}${migration.description ? ` — ${migration.description}` : ''}`);
|
|
41
|
+
applied.push(migration.id);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
this.logger.log(`Applying migration ${migration.id}${migration.description ? ` — ${migration.description}` : ''}`);
|
|
45
|
+
await migration.up({
|
|
46
|
+
entityBackend: this.entityBackend,
|
|
47
|
+
getEngine: (instanceName) => this.engineRegistry.get(instanceName),
|
|
48
|
+
});
|
|
49
|
+
await this.ledger.recordMigration({
|
|
50
|
+
migrationId: migration.id,
|
|
51
|
+
checksum: migration.checksum,
|
|
52
|
+
appliedAt: new Date().toISOString(),
|
|
53
|
+
});
|
|
54
|
+
applied.push(migration.id);
|
|
55
|
+
}
|
|
56
|
+
return { applied, skipped };
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
exports.JqlReleaseMigrationRunner = JqlReleaseMigrationRunner;
|
|
60
|
+
exports.JqlReleaseMigrationRunner = JqlReleaseMigrationRunner = JqlReleaseMigrationRunner_1 = tslib_1.__decorate([
|
|
61
|
+
(0, common_1.Injectable)(),
|
|
62
|
+
tslib_1.__param(2, (0, common_1.Inject)(core_1.ENTITY_STORAGE_BACKEND)),
|
|
63
|
+
tslib_1.__param(3, (0, common_1.Optional)()),
|
|
64
|
+
tslib_1.__param(3, (0, common_1.Inject)(jql_release_migrate_tokens_1.JQL_RELEASE_MIGRATIONS)),
|
|
65
|
+
tslib_1.__metadata("design:paramtypes", [jql_release_ledger_service_1.JqlReleaseLedgerService,
|
|
66
|
+
jql_engine_registry_service_1.JqlEngineRegistryService, Object, Object])
|
|
67
|
+
], JqlReleaseMigrationRunner);
|
|
68
|
+
//#endregion
|
|
69
|
+
//# sourceMappingURL=jql-release-migration.runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jql-release-migration.runner.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/jql/seed/src/lib/jql-release-migration.runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { JqlSeedDiffService } from './jql-seed-diff.service';
|
|
2
|
+
import { JqlMultiSeedRunnerService } from './jql-multi-seed-runner.service';
|
|
3
|
+
import { JqlReleaseLedgerService } from './jql-release-ledger.service';
|
|
4
|
+
import type { JqlReleaseLayer, JqlReleaseTargetResult } from './jql-release-migrate.types';
|
|
5
|
+
export declare class JqlReleaseSeedReconcileService {
|
|
6
|
+
private readonly multiSeedRunner;
|
|
7
|
+
private readonly diff;
|
|
8
|
+
private readonly ledger;
|
|
9
|
+
private readonly logger;
|
|
10
|
+
constructor(multiSeedRunner: JqlMultiSeedRunnerService, diff: JqlSeedDiffService, ledger: JqlReleaseLedgerService);
|
|
11
|
+
reconcile(args: {
|
|
12
|
+
readonly phase: 'definitions' | 'data';
|
|
13
|
+
readonly layers: readonly JqlReleaseLayer[];
|
|
14
|
+
readonly dryRun: boolean;
|
|
15
|
+
readonly force: boolean;
|
|
16
|
+
}): Promise<JqlReleaseTargetResult[]>;
|
|
17
|
+
private reconcileTarget;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=jql-release-seed-reconcile.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jql-release-seed-reconcile.service.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/jql/seed/src/lib/jql-release-seed-reconcile.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAQvE,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AAMrC,qBACa,8BAA8B;IAIvC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmD;gBAGvD,eAAe,EAAE,yBAAyB,EAC1C,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,uBAAuB;IAG5C,SAAS,CAAC,IAAI,EAAE;QACpB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC;QACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;QAC5C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;KACzB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;YA8CvB,eAAe;CA4I9B"}
|