@acorex-platform/framework-server 0.0.30 → 0.0.33
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/background-job/src/index.d.ts +3 -0
- package/background-job/src/index.d.ts.map +1 -1
- package/background-job/src/index.js +3 -0
- package/background-job/src/index.js.map +1 -1
- package/background-job/src/lib/background-job.module.d.ts +3 -0
- package/background-job/src/lib/background-job.module.d.ts.map +1 -1
- package/background-job/src/lib/background-job.module.js +13 -1
- package/background-job/src/lib/background-job.module.js.map +1 -1
- package/background-job/src/lib/background-job.service.d.ts +9 -2
- package/background-job/src/lib/background-job.service.d.ts.map +1 -1
- package/background-job/src/lib/background-job.service.js +42 -2
- package/background-job/src/lib/background-job.service.js.map +1 -1
- package/background-job/src/lib/command-concurrency-lock.registrar.d.ts +14 -0
- package/background-job/src/lib/command-concurrency-lock.registrar.d.ts.map +1 -0
- package/background-job/src/lib/command-concurrency-lock.registrar.js +29 -0
- package/background-job/src/lib/command-concurrency-lock.registrar.js.map +1 -0
- package/background-job/src/lib/execution/background-job-cancellation.service.d.ts +5 -1
- package/background-job/src/lib/execution/background-job-cancellation.service.d.ts.map +1 -1
- package/background-job/src/lib/execution/background-job-cancellation.service.js +11 -2
- package/background-job/src/lib/execution/background-job-cancellation.service.js.map +1 -1
- package/background-job/src/lib/execution/background-job-execution.service.d.ts +15 -2
- package/background-job/src/lib/execution/background-job-execution.service.d.ts.map +1 -1
- package/background-job/src/lib/execution/background-job-execution.service.js +145 -8
- package/background-job/src/lib/execution/background-job-execution.service.js.map +1 -1
- package/background-job/src/lib/notification/background-job-notification.port.d.ts +20 -0
- package/background-job/src/lib/notification/background-job-notification.port.d.ts.map +1 -0
- package/background-job/src/lib/notification/background-job-notification.port.js +31 -0
- package/background-job/src/lib/notification/background-job-notification.port.js.map +1 -0
- package/background-job/src/lib/queue/background-job-recovery.service.d.ts +22 -0
- package/background-job/src/lib/queue/background-job-recovery.service.d.ts.map +1 -0
- package/background-job/src/lib/queue/background-job-recovery.service.js +101 -0
- package/background-job/src/lib/queue/background-job-recovery.service.js.map +1 -0
- package/background-job/src/lib/schedule/background-job-schedule-scanner.service.d.ts.map +1 -1
- package/background-job/src/lib/schedule/background-job-schedule-scanner.service.js +18 -12
- package/background-job/src/lib/schedule/background-job-schedule-scanner.service.js.map +1 -1
- package/background-job/src/lib/store/background-job-attempt-store.service.d.ts +12 -0
- package/background-job/src/lib/store/background-job-attempt-store.service.d.ts.map +1 -1
- package/background-job/src/lib/store/background-job-attempt-store.service.js +30 -0
- package/background-job/src/lib/store/background-job-attempt-store.service.js.map +1 -1
- package/background-job/src/lib/store/background-job-schedule-store.service.d.ts +5 -1
- package/background-job/src/lib/store/background-job-schedule-store.service.d.ts.map +1 -1
- package/background-job/src/lib/store/background-job-schedule-store.service.js +8 -4
- package/background-job/src/lib/store/background-job-schedule-store.service.js.map +1 -1
- package/background-job/src/lib/store/background-job-store.service.d.ts +25 -3
- package/background-job/src/lib/store/background-job-store.service.d.ts.map +1 -1
- package/background-job/src/lib/store/background-job-store.service.js +54 -26
- package/background-job/src/lib/store/background-job-store.service.js.map +1 -1
- package/background-job/src/lib/store/jql-filter.util.d.ts +1 -0
- package/background-job/src/lib/store/jql-filter.util.d.ts.map +1 -1
- package/background-job/src/lib/store/jql-filter.util.js +4 -0
- package/background-job/src/lib/store/jql-filter.util.js.map +1 -1
- package/background-job/src/lib/tray/background-job-tray-realtime.publisher.d.ts +17 -0
- package/background-job/src/lib/tray/background-job-tray-realtime.publisher.d.ts.map +1 -0
- package/background-job/src/lib/tray/background-job-tray-realtime.publisher.js +61 -0
- package/background-job/src/lib/tray/background-job-tray-realtime.publisher.js.map +1 -0
- package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event-emitter.service.d.ts +2 -1
- package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event-emitter.service.d.ts.map +1 -1
- package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event-emitter.service.js +3 -0
- package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event-emitter.service.js.map +1 -1
- package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event.types.d.ts +12 -0
- package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event.types.d.ts.map +1 -1
- package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event.types.js +6 -1
- package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event.types.js.map +1 -1
- package/core/src/lib/entity-storage/entity-storage-middleware.service.d.ts +3 -2
- package/core/src/lib/entity-storage/entity-storage-middleware.service.d.ts.map +1 -1
- package/core/src/lib/entity-storage/entity-storage-middleware.service.js +6 -2
- package/core/src/lib/entity-storage/entity-storage-middleware.service.js.map +1 -1
- package/core/src/lib/runtime/index.d.ts +3 -0
- package/core/src/lib/runtime/index.d.ts.map +1 -1
- package/core/src/lib/runtime/index.js +3 -0
- package/core/src/lib/runtime/index.js.map +1 -1
- package/core/src/lib/runtime/runtime-authz.guard.d.ts +1 -0
- package/core/src/lib/runtime/runtime-authz.guard.d.ts.map +1 -1
- package/core/src/lib/runtime/runtime-authz.guard.js +10 -0
- package/core/src/lib/runtime/runtime-authz.guard.js.map +1 -1
- package/core/src/lib/runtime/runtime-bulk-command.service.d.ts +4 -1
- package/core/src/lib/runtime/runtime-bulk-command.service.d.ts.map +1 -1
- package/core/src/lib/runtime/runtime-bulk-command.service.js +64 -17
- package/core/src/lib/runtime/runtime-bulk-command.service.js.map +1 -1
- package/core/src/lib/runtime/runtime-bulk-progress.realtime.port.d.ts +9 -0
- package/core/src/lib/runtime/runtime-bulk-progress.realtime.port.d.ts.map +1 -0
- package/core/src/lib/runtime/runtime-bulk-progress.realtime.port.js +13 -0
- package/core/src/lib/runtime/runtime-bulk-progress.realtime.port.js.map +1 -0
- package/core/src/lib/runtime/runtime-bulk-progress.store.d.ts +12 -0
- package/core/src/lib/runtime/runtime-bulk-progress.store.d.ts.map +1 -0
- package/core/src/lib/runtime/runtime-bulk-progress.store.js +61 -0
- package/core/src/lib/runtime/runtime-bulk-progress.store.js.map +1 -0
- package/core/src/lib/runtime/runtime-command.controller.d.ts +5 -1
- package/core/src/lib/runtime/runtime-command.controller.d.ts.map +1 -1
- package/core/src/lib/runtime/runtime-command.controller.js +30 -2
- package/core/src/lib/runtime/runtime-command.controller.js.map +1 -1
- package/core/src/lib/runtime/runtime-dispatcher.service.d.ts +3 -2
- package/core/src/lib/runtime/runtime-dispatcher.service.d.ts.map +1 -1
- package/core/src/lib/runtime/runtime-dispatcher.service.js +23 -2
- package/core/src/lib/runtime/runtime-dispatcher.service.js.map +1 -1
- package/core/src/lib/runtime/runtime-request-session.util.d.ts +6 -0
- package/core/src/lib/runtime/runtime-request-session.util.d.ts.map +1 -0
- package/core/src/lib/runtime/runtime-request-session.util.js +21 -0
- package/core/src/lib/runtime/runtime-request-session.util.js.map +1 -0
- 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 +2 -0
- package/domain/abstract/src/index.d.ts.map +1 -1
- package/domain/abstract/src/index.js +2 -0
- package/domain/abstract/src/index.js.map +1 -1
- package/domain/abstract/src/lib/commands/command-concurrency.types.d.ts +30 -0
- package/domain/abstract/src/lib/commands/command-concurrency.types.d.ts.map +1 -0
- package/domain/abstract/src/lib/commands/command-concurrency.types.js +9 -0
- package/domain/abstract/src/lib/commands/command-concurrency.types.js.map +1 -0
- package/domain/abstract/src/lib/commands/command-concurrency.util.d.ts +11 -0
- package/domain/abstract/src/lib/commands/command-concurrency.util.d.ts.map +1 -0
- package/domain/abstract/src/lib/commands/command-concurrency.util.js +53 -0
- package/domain/abstract/src/lib/commands/command-concurrency.util.js.map +1 -0
- package/domain/abstract/src/lib/commands/server-command-registry.token.d.ts +3 -0
- package/domain/abstract/src/lib/commands/server-command-registry.token.d.ts.map +1 -1
- package/domain/abstract/src/lib/commands/server-command-registry.token.js.map +1 -1
- package/domain/abstract/src/lib/commands/server-handler.decorator.d.ts +1 -0
- package/domain/abstract/src/lib/commands/server-handler.decorator.d.ts.map +1 -1
- package/domain/abstract/src/lib/commands/server-handler.decorator.js +1 -0
- package/domain/abstract/src/lib/commands/server-handler.decorator.js.map +1 -1
- package/domain/abstract/src/lib/commands/server-handler.types.d.ts +7 -0
- package/domain/abstract/src/lib/commands/server-handler.types.d.ts.map +1 -1
- package/domain/abstract/src/lib/commands/server-handler.types.js.map +1 -1
- package/domain/providers/src/lib/command-concurrency.guard.d.ts +11 -0
- package/domain/providers/src/lib/command-concurrency.guard.d.ts.map +1 -0
- package/domain/providers/src/lib/command-concurrency.guard.js +110 -0
- package/domain/providers/src/lib/command-concurrency.guard.js.map +1 -0
- package/domain/providers/src/lib/middlewares/lookup-resolver.middleware.d.ts.map +1 -1
- package/domain/providers/src/lib/middlewares/lookup-resolver.middleware.js +5 -3
- package/domain/providers/src/lib/middlewares/lookup-resolver.middleware.js.map +1 -1
- package/domain/providers/src/lib/server-command.module.d.ts.map +1 -1
- package/domain/providers/src/lib/server-command.module.js +8 -1
- package/domain/providers/src/lib/server-command.module.js.map +1 -1
- package/domain/providers/src/lib/server-command.registry.d.ts +7 -3
- package/domain/providers/src/lib/server-command.registry.d.ts.map +1 -1
- package/domain/providers/src/lib/server-command.registry.js +18 -7
- package/domain/providers/src/lib/server-command.registry.js.map +1 -1
- package/domain/providers/src/lib/utils/entity-query-fields-path-planner.util.d.ts +2 -0
- package/domain/providers/src/lib/utils/entity-query-fields-path-planner.util.d.ts.map +1 -1
- package/domain/providers/src/lib/utils/entity-query-fields-path-planner.util.js +12 -2
- package/domain/providers/src/lib/utils/entity-query-fields-path-planner.util.js.map +1 -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 +1 -1
- package/domain/providers/src/lib/utils/entity-relation-join.planner.js.map +1 -1
- package/jql/elasticsearch/src/lib/compile/filter-compiler.js +14 -0
- package/jql/elasticsearch/src/lib/compile/filter-compiler.js.map +1 -1
- package/jql/elasticsearch/src/lib/jql-elasticsearch.engine.js +3 -0
- package/jql/elasticsearch/src/lib/jql-elasticsearch.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 +6 -0
- package/jql/schema/src/lib/generated/plugin-contributions.bootstrap.js.map +1 -1
- package/observability/abstract/src/index.d.ts +1 -0
- package/observability/abstract/src/index.d.ts.map +1 -1
- package/observability/abstract/src/index.js +1 -0
- package/observability/abstract/src/index.js.map +1 -1
- package/observability/abstract/src/lib/entity-observability-skip.util.d.ts +11 -0
- package/observability/abstract/src/lib/entity-observability-skip.util.d.ts.map +1 -0
- package/observability/abstract/src/lib/entity-observability-skip.util.js +22 -0
- package/observability/abstract/src/lib/entity-observability-skip.util.js.map +1 -0
- package/observability/abstract/src/lib/observability.config.d.ts +2 -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/runtime-log-buffer.d.ts.map +1 -1
- package/observability/abstract/src/lib/runtime-log-buffer.js +5 -1
- package/observability/abstract/src/lib/runtime-log-buffer.js.map +1 -1
- package/observability/providers/src/lib/context/correlation-fields.util.d.ts +5 -0
- package/observability/providers/src/lib/context/correlation-fields.util.d.ts.map +1 -1
- package/observability/providers/src/lib/context/correlation-fields.util.js +4 -1
- package/observability/providers/src/lib/context/correlation-fields.util.js.map +1 -1
- package/observability/providers/src/lib/context/resolve-request-observability-entity.util.d.ts +14 -0
- package/observability/providers/src/lib/context/resolve-request-observability-entity.util.d.ts.map +1 -0
- package/observability/providers/src/lib/context/resolve-request-observability-entity.util.js +82 -0
- package/observability/providers/src/lib/context/resolve-request-observability-entity.util.js.map +1 -0
- 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 +3 -0
- package/observability/providers/src/lib/execution-trace/execution-trace-recorder.service.js.map +1 -1
- package/observability/providers/src/lib/http/observability-context.interceptor.d.ts +3 -1
- package/observability/providers/src/lib/http/observability-context.interceptor.d.ts.map +1 -1
- package/observability/providers/src/lib/http/observability-context.interceptor.js +17 -4
- package/observability/providers/src/lib/http/observability-context.interceptor.js.map +1 -1
- package/observability/providers/src/lib/pino/pino.factory.d.ts.map +1 -1
- package/observability/providers/src/lib/pino/pino.factory.js +9 -1
- package/observability/providers/src/lib/pino/pino.factory.js.map +1 -1
- package/package.json +2 -2
- package/realtime/src/lib/delivery/socket-io-realtime.delivery.d.ts +3 -3
- package/realtime/src/lib/delivery/socket-io-realtime.delivery.d.ts.map +1 -1
- package/realtime/src/lib/delivery/socket-io-realtime.delivery.js +10 -2
- package/realtime/src/lib/delivery/socket-io-realtime.delivery.js.map +1 -1
- package/realtime/src/lib/entity-bridge/realtime-bulk-progress-bridge.listener.d.ts +9 -0
- package/realtime/src/lib/entity-bridge/realtime-bulk-progress-bridge.listener.d.ts.map +1 -0
- package/realtime/src/lib/entity-bridge/realtime-bulk-progress-bridge.listener.js +62 -0
- package/realtime/src/lib/entity-bridge/realtime-bulk-progress-bridge.listener.js.map +1 -0
- package/realtime/src/lib/gateway/realtime.gateway.d.ts +2 -2
- package/realtime/src/lib/gateway/realtime.gateway.d.ts.map +1 -1
- package/realtime/src/lib/gateway/realtime.gateway.js +1 -1
- package/realtime/src/lib/gateway/realtime.gateway.js.map +1 -1
- package/realtime/src/lib/realtime.module.d.ts.map +1 -1
- package/realtime/src/lib/realtime.module.js +8 -0
- package/realtime/src/lib/realtime.module.js.map +1 -1
- package/realtime/src/lib/topics/realtime-topics.d.ts +2 -0
- package/realtime/src/lib/topics/realtime-topics.d.ts.map +1 -1
- package/realtime/src/lib/topics/realtime-topics.js +3 -1
- package/realtime/src/lib/topics/realtime-topics.js.map +1 -1
- package/realtime/src/lib/types/realtime.types.d.ts +26 -0
- package/realtime/src/lib/types/realtime.types.d.ts.map +1 -1
- package/realtime/src/lib/types/realtime.types.js.map +1 -1
- package/search/abstract/src/lib/quick-search-content.util.d.ts.map +1 -1
- package/search/abstract/src/lib/quick-search-content.util.js +14 -1
- package/search/abstract/src/lib/quick-search-content.util.js.map +1 -1
- package/search/providers/src/lib/quick-search-index.service.d.ts +9 -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 +53 -15
- 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 +12 -0
- package/search/providers/src/lib/quick-search-provider.module.js.map +1 -1
- package/search/providers/src/lib/quick-search-reindex.service.d.ts +15 -6
- package/search/providers/src/lib/quick-search-reindex.service.d.ts.map +1 -1
- package/search/providers/src/lib/quick-search-reindex.service.js +98 -12
- package/search/providers/src/lib/quick-search-reindex.service.js.map +1 -1
- package/search/providers/src/lib/quick-search-related.util.d.ts +14 -0
- package/search/providers/src/lib/quick-search-related.util.d.ts.map +1 -1
- package/search/providers/src/lib/quick-search-related.util.js +142 -8
- package/search/providers/src/lib/quick-search-related.util.js.map +1 -1
- package/security/src/lib/auth/auth.service.js +1 -1
- package/security/src/lib/auth/auth.service.js.map +1 -1
- package/swagger/src/lib/runtime-openapi.service.d.ts.map +1 -1
- package/swagger/src/lib/runtime-openapi.service.js +43 -0
- package/swagger/src/lib/runtime-openapi.service.js.map +1 -1
- package/tracing/abstract/src/index.d.ts +1 -0
- package/tracing/abstract/src/index.d.ts.map +1 -1
- package/tracing/abstract/src/index.js +1 -0
- package/tracing/abstract/src/index.js.map +1 -1
- package/tracing/abstract/src/lib/entity-log.types.d.ts +14 -0
- package/tracing/abstract/src/lib/entity-log.types.d.ts.map +1 -0
- package/tracing/abstract/src/lib/entity-log.types.js +10 -0
- package/tracing/abstract/src/lib/entity-log.types.js.map +1 -0
- package/tracing/abstract/src/lib/entity-trace.tokens.d.ts +2 -0
- package/tracing/abstract/src/lib/entity-trace.tokens.d.ts.map +1 -1
- package/tracing/abstract/src/lib/entity-trace.tokens.js.map +1 -1
- package/tracing/providers/src/lib/entity-trace-config-resolver.service.d.ts +5 -3
- package/tracing/providers/src/lib/entity-trace-config-resolver.service.d.ts.map +1 -1
- package/tracing/providers/src/lib/entity-trace-config-resolver.service.js +36 -11
- package/tracing/providers/src/lib/entity-trace-config-resolver.service.js.map +1 -1
|
@@ -18,13 +18,30 @@ let QuickSearchIndexService = QuickSearchIndexService_1 = class QuickSearchIndex
|
|
|
18
18
|
this.contentPlanCache = new Map();
|
|
19
19
|
this.relationCache = new Map();
|
|
20
20
|
}
|
|
21
|
-
async
|
|
21
|
+
async preloadContentPlans(entityNames) {
|
|
22
|
+
const definitions = await this.loadAllDefinitionsMap();
|
|
23
|
+
for (const entityName of entityNames) {
|
|
24
|
+
if (this.contentPlanCache.has(entityName)) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
await this.resolveContentPlan(entityName, {
|
|
28
|
+
entityDefinition: definitions.get(entityName) ?? null,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
isIndexable(entityName) {
|
|
33
|
+
const plan = this.contentPlanCache.get(entityName);
|
|
34
|
+
return plan ? (0, quick_search_related_util_1.isQuickSearchIndexablePlan)(plan) : false;
|
|
35
|
+
}
|
|
36
|
+
async resolveContentPlan(entityName, hints) {
|
|
22
37
|
const cached = this.contentPlanCache.get(entityName);
|
|
23
38
|
if (cached) {
|
|
24
39
|
return cached;
|
|
25
40
|
}
|
|
26
41
|
const schema = await this.schemaService.ensureEntityReady(entityName);
|
|
27
|
-
const entityDefinition =
|
|
42
|
+
const entityDefinition = hints && 'entityDefinition' in hints
|
|
43
|
+
? hints.entityDefinition ?? null
|
|
44
|
+
: await this.loadEntityDefinition(entityName);
|
|
28
45
|
const plan = await (0, quick_search_related_util_1.resolveQuickSearchContentPlan)(schema, {
|
|
29
46
|
entityDefinition,
|
|
30
47
|
loadRelatedSchema: (relatedEntityName) => this.schemaService.ensureEntityReady(relatedEntityName),
|
|
@@ -101,11 +118,17 @@ let QuickSearchIndexService = QuickSearchIndexService_1 = class QuickSearchIndex
|
|
|
101
118
|
return docs;
|
|
102
119
|
}
|
|
103
120
|
async hydrateRecords(entityName, records) {
|
|
104
|
-
const
|
|
105
|
-
|
|
121
|
+
const mergeRelations = await this.resolveMergeDetailRelations(entityName);
|
|
122
|
+
const lookupRelations = await this.resolveLookupRelations(entityName);
|
|
123
|
+
if (!mergeRelations.length && !lookupRelations.length) {
|
|
106
124
|
return records;
|
|
107
125
|
}
|
|
108
|
-
|
|
126
|
+
const withMerge = await (0, quick_search_related_util_1.hydrateRecordsWithMergeDetailRelations)(records, mergeRelations, (relatedEntityName, ids) => this.loadRelatedRecords(relatedEntityName, ids));
|
|
127
|
+
return (0, quick_search_related_util_1.hydrateRecordsWithLookupRelations)(withMerge, lookupRelations, (relatedEntityName, ids) => this.loadRelatedRecords(relatedEntityName, ids));
|
|
128
|
+
}
|
|
129
|
+
async resolveLookupRelations(entityName) {
|
|
130
|
+
const plan = await this.resolveContentPlan(entityName);
|
|
131
|
+
return plan.lookupRelations;
|
|
109
132
|
}
|
|
110
133
|
async resolveMergeDetailRelations(entityName) {
|
|
111
134
|
if (this.relationCache.has(entityName)) {
|
|
@@ -132,25 +155,40 @@ let QuickSearchIndexService = QuickSearchIndexService_1 = class QuickSearchIndex
|
|
|
132
155
|
}
|
|
133
156
|
return records;
|
|
134
157
|
}
|
|
135
|
-
async
|
|
158
|
+
async loadAllDefinitionsMap() {
|
|
159
|
+
if (!this.definitionsMapPromise) {
|
|
160
|
+
this.definitionsMapPromise = this.readAllDefinitionsMap();
|
|
161
|
+
}
|
|
162
|
+
return this.definitionsMapPromise;
|
|
163
|
+
}
|
|
164
|
+
async readAllDefinitionsMap() {
|
|
165
|
+
const map = new Map();
|
|
166
|
+
if (!this.domainLoader.loadAllEntityDefinitions) {
|
|
167
|
+
return map;
|
|
168
|
+
}
|
|
136
169
|
try {
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
170
|
+
const definitions = await this.domainLoader.loadAllEntityDefinitions();
|
|
171
|
+
for (const entry of definitions) {
|
|
172
|
+
if (entry.entityName?.trim() && entry.definition) {
|
|
173
|
+
map.set(entry.entityName, entry.definition);
|
|
174
|
+
}
|
|
140
175
|
}
|
|
141
176
|
}
|
|
142
177
|
catch (error) {
|
|
143
|
-
this.logger.warn(
|
|
178
|
+
this.logger.warn('Failed to load domain catalog for quick search', error);
|
|
144
179
|
}
|
|
145
|
-
|
|
146
|
-
|
|
180
|
+
return map;
|
|
181
|
+
}
|
|
182
|
+
async loadEntityDefinition(entityName) {
|
|
183
|
+
const fromCatalog = (await this.loadAllDefinitionsMap()).get(entityName);
|
|
184
|
+
if (fromCatalog) {
|
|
185
|
+
return fromCatalog;
|
|
147
186
|
}
|
|
148
187
|
try {
|
|
149
|
-
|
|
150
|
-
return definitions.find((entry) => entry.entityName === entityName)?.definition ?? null;
|
|
188
|
+
return (await this.domainLoader.loadEntity(entityName)) ?? null;
|
|
151
189
|
}
|
|
152
190
|
catch (error) {
|
|
153
|
-
this.logger.warn(`Failed to load domain
|
|
191
|
+
this.logger.warn(`Failed to load domain definition for quick search (${entityName})`, error);
|
|
154
192
|
return null;
|
|
155
193
|
}
|
|
156
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-search-index.service.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-index.service.ts"],"names":[],"mappings":";;;;;AAAA,2CAA4D;AAC5D,iEAAgF;AAEhF,gFAA2F;AAE3F,yEAAgF;AAIhF,
|
|
1
|
+
{"version":3,"file":"quick-search-index.service.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-index.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-search-provider.module.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-provider.module.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,mDAAmD,CAAC;AAK3D,OAAO,EACL,aAAa,EAKd,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"quick-search-provider.module.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-provider.module.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,mDAAmD,CAAC;AAK3D,OAAO,EACL,aAAa,EAKd,MAAM,gBAAgB,CAAC;AAkBxB,MAAM,WAAW,gCAAgC;IAC/C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAC1C;AAMD,qBAEa,yBAAyB;IACpC,MAAM,CAAC,OAAO,CACZ,OAAO,GAAE,gCAAqC,GAC7C,aAAa;CAmGjB"}
|
|
@@ -67,6 +67,17 @@ let QuickSearchProviderModule = QuickSearchProviderModule_1 = class QuickSearchP
|
|
|
67
67
|
useFactory: (reindex) => (entityName, _context) => reindex.reindexEntity(entityName),
|
|
68
68
|
inject: [quick_search_reindex_service_1.QuickSearchReindexService],
|
|
69
69
|
});
|
|
70
|
+
providers.push({
|
|
71
|
+
provide: seed_1.JQL_SEED_AFTER_DATA_HOOK,
|
|
72
|
+
multi: true,
|
|
73
|
+
useFactory: (reindex) => async (context) => {
|
|
74
|
+
if (context.selective) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
await reindex.reindexAll({ reset: true });
|
|
78
|
+
},
|
|
79
|
+
inject: [quick_search_reindex_service_1.QuickSearchReindexService],
|
|
80
|
+
});
|
|
70
81
|
}
|
|
71
82
|
else {
|
|
72
83
|
providers.push({
|
|
@@ -87,6 +98,7 @@ let QuickSearchProviderModule = QuickSearchProviderModule_1 = class QuickSearchP
|
|
|
87
98
|
core_1.ENTITY_STORAGE_MIDDLEWARE,
|
|
88
99
|
seed_1.JQL_SEED_BEFORE_DATA_HOOK,
|
|
89
100
|
seed_1.JQL_SEED_AFTER_ENTITY_HOOK,
|
|
101
|
+
seed_1.JQL_SEED_AFTER_DATA_HOOK,
|
|
90
102
|
],
|
|
91
103
|
};
|
|
92
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-search-provider.module.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-provider.module.ts"],"names":[],"mappings":";;;;;AAAA,iEAGgD;AAChD,kFAA0F;AAC1F,yEAA+E;AAC/E,gFAM2D;AAC3D,0FAGgE;AAChE,2CAMwB;AACxB,mFAIyC;AACzC,iFAA2E;AAC3E,iFAA2E;AAC3E,6EAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"quick-search-provider.module.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-provider.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,30 @@
|
|
|
1
|
-
import { AXPAppStartUpService } from '@acorex-platform/framework-server/core';
|
|
2
|
-
import type { EntityStorageBackend } from '@acorex-platform/framework-server/jql/abstract';
|
|
1
|
+
import { AXPAppStartUpService, EntityStorageMiddlewareService } from '@acorex-platform/framework-server/core';
|
|
3
2
|
import { JqlSchemaRegistry } from '@acorex-platform/framework-server/jql/schema';
|
|
4
3
|
import { type QuickSearchBackend, type QuickSearchProviderKind } from '@acorex-platform/framework-server/search/abstract';
|
|
5
4
|
import { ElasticsearchQuickSearchBackend } from '@acorex-platform/framework-server/search/elasticsearch';
|
|
6
5
|
import { QuickSearchIndexService } from './quick-search-index.service';
|
|
6
|
+
export interface QuickSearchReindexProgress {
|
|
7
|
+
onProgress?: (percent: number, message: string) => void | Promise<void>;
|
|
8
|
+
shouldAbort?: () => boolean | Promise<boolean>;
|
|
9
|
+
}
|
|
10
|
+
export interface QuickSearchReindexOptions extends QuickSearchReindexProgress {
|
|
11
|
+
/** When true, drop and recreate the index before writing (full rebuild). */
|
|
12
|
+
reset?: boolean;
|
|
13
|
+
/** When set (and `reset` is false), only rows created or updated at/after this instant. */
|
|
14
|
+
updatedSince?: Date;
|
|
15
|
+
}
|
|
7
16
|
export declare class QuickSearchReindexService {
|
|
8
17
|
private readonly provider;
|
|
9
18
|
private readonly backend;
|
|
10
|
-
private readonly
|
|
19
|
+
private readonly entityStorage;
|
|
11
20
|
private readonly schemaRegistry;
|
|
12
21
|
private readonly indexService;
|
|
13
22
|
private readonly elasticsearchBackend?;
|
|
14
23
|
private readonly logger;
|
|
15
|
-
constructor(provider: QuickSearchProviderKind, backend: QuickSearchBackend,
|
|
24
|
+
constructor(provider: QuickSearchProviderKind, backend: QuickSearchBackend, entityStorage: EntityStorageMiddlewareService, schemaRegistry: JqlSchemaRegistry, indexService: QuickSearchIndexService, appStartUp: AXPAppStartUpService, elasticsearchBackend?: ElasticsearchQuickSearchBackend | undefined);
|
|
16
25
|
private reindexOnBootIfNeeded;
|
|
17
26
|
resetQuickSearchIndex(): Promise<void>;
|
|
18
|
-
reindexAll(): Promise<number>;
|
|
19
|
-
reindexEntity(entityName: string): Promise<number>;
|
|
27
|
+
reindexAll(options?: QuickSearchReindexOptions): Promise<number>;
|
|
28
|
+
reindexEntity(entityName: string, options?: QuickSearchReindexOptions): Promise<number>;
|
|
20
29
|
}
|
|
21
30
|
//# sourceMappingURL=quick-search-reindex.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-search-reindex.service.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-reindex.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quick-search-reindex.service.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-reindex.service.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,oBAAoB,EACpB,8BAA8B,EAC/B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,wDAAwD,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAUvE,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,WAAW,CAAC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2FAA2F;IAC3F,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,qBACa,yBAAyB;IAIE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAEjB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IATpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;gBAGd,QAAQ,EAAE,uBAAuB,EACvC,OAAO,EAAE,kBAAkB,EACzD,aAAa,EAAE,8BAA8B,EAC7C,cAAc,EAAE,iBAAiB,EACjC,YAAY,EAAE,uBAAuB,EACtD,UAAU,EAAE,oBAAoB,EACH,oBAAoB,CAAC,EAAE,+BAA+B,YAAA;YASvE,qBAAqB;IAgB7B,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtC,UAAU,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC;IAyEhE,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC;CAkD9F"}
|
|
@@ -11,13 +11,16 @@ const abstract_1 = require("@acorex-platform/framework-server/search/abstract");
|
|
|
11
11
|
const elasticsearch_1 = require("@acorex-platform/framework-server/search/elasticsearch");
|
|
12
12
|
const quick_search_index_service_1 = require("./quick-search-index.service");
|
|
13
13
|
const quick_search_provider_resolve_1 = require("./quick-search-provider.resolve");
|
|
14
|
+
const quick_search_related_util_1 = require("./quick-search-related.util");
|
|
14
15
|
//#region ---- Quick search reindex service ----
|
|
15
16
|
const REINDEX_BATCH_SIZE = 200;
|
|
17
|
+
const REINDEX_ENTITY_CONCURRENCY = 4;
|
|
18
|
+
const PROGRESS_REPORT_STEP = 5;
|
|
16
19
|
let QuickSearchReindexService = QuickSearchReindexService_1 = class QuickSearchReindexService {
|
|
17
|
-
constructor(provider, backend,
|
|
20
|
+
constructor(provider, backend, entityStorage, schemaRegistry, indexService, appStartUp, elasticsearchBackend) {
|
|
18
21
|
this.provider = provider;
|
|
19
22
|
this.backend = backend;
|
|
20
|
-
this.
|
|
23
|
+
this.entityStorage = entityStorage;
|
|
21
24
|
this.schemaRegistry = schemaRegistry;
|
|
22
25
|
this.indexService = indexService;
|
|
23
26
|
this.elasticsearchBackend = elasticsearchBackend;
|
|
@@ -36,7 +39,7 @@ let QuickSearchReindexService = QuickSearchReindexService_1 = class QuickSearchR
|
|
|
36
39
|
return;
|
|
37
40
|
}
|
|
38
41
|
try {
|
|
39
|
-
await this.reindexAll();
|
|
42
|
+
await this.reindexAll({ reset: true });
|
|
40
43
|
}
|
|
41
44
|
catch (error) {
|
|
42
45
|
this.logger.warn('Quick search reindex on boot failed', error);
|
|
@@ -48,7 +51,7 @@ let QuickSearchReindexService = QuickSearchReindexService_1 = class QuickSearchR
|
|
|
48
51
|
}
|
|
49
52
|
await this.elasticsearchBackend.resetIndex();
|
|
50
53
|
}
|
|
51
|
-
async reindexAll() {
|
|
54
|
+
async reindexAll(options) {
|
|
52
55
|
if (this.provider !== 'elasticsearch' || !this.elasticsearchBackend) {
|
|
53
56
|
this.logger.log('Quick search reindex skipped (provider is not elasticsearch)');
|
|
54
57
|
return 0;
|
|
@@ -58,28 +61,75 @@ let QuickSearchReindexService = QuickSearchReindexService_1 = class QuickSearchR
|
|
|
58
61
|
this.logger.warn('Quick search reindex skipped: no entity schemas registered (domain-entity-schemas startup task may have failed)');
|
|
59
62
|
return 0;
|
|
60
63
|
}
|
|
61
|
-
|
|
64
|
+
if (options?.reset) {
|
|
65
|
+
await this.resetQuickSearchIndex();
|
|
66
|
+
}
|
|
67
|
+
await this.indexService.preloadContentPlans(schemas.map((schema) => schema.entityName));
|
|
68
|
+
const indexable = schemas.filter((schema) => this.indexService.isIndexable(schema.entityName));
|
|
69
|
+
const mode = describeReindexMode(options);
|
|
70
|
+
await options?.onProgress?.(5, `${mode} ${indexable.length} searchable entities (${schemas.length - indexable.length} skipped)`);
|
|
71
|
+
if (!indexable.length) {
|
|
72
|
+
await options?.onProgress?.(100, 'Indexed 0 documents');
|
|
73
|
+
return 0;
|
|
74
|
+
}
|
|
62
75
|
let indexed = 0;
|
|
63
|
-
|
|
64
|
-
|
|
76
|
+
let completed = 0;
|
|
77
|
+
let lastReportedBucket = 0;
|
|
78
|
+
const reportProgress = async (percent, message, force = false) => {
|
|
79
|
+
const bucket = Math.floor(percent / PROGRESS_REPORT_STEP);
|
|
80
|
+
if (!force && bucket <= lastReportedBucket && percent < 100) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
lastReportedBucket = bucket;
|
|
84
|
+
await options?.onProgress?.(percent, message);
|
|
85
|
+
};
|
|
86
|
+
await runPool(indexable, REINDEX_ENTITY_CONCURRENCY, async (schema) => {
|
|
87
|
+
if (await options?.shouldAbort?.()) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const count = await this.reindexEntity(schema.entityName, options);
|
|
92
|
+
completed += 1;
|
|
93
|
+
indexed += count;
|
|
94
|
+
const percent = 5 + Math.floor((completed / indexable.length) * 90);
|
|
95
|
+
await reportProgress(percent, `${schema.entityName} (${count})`);
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
completed += 1;
|
|
99
|
+
this.logger.warn(`Quick search reindex failed for ${schema.entityName}`, error);
|
|
100
|
+
const percent = 5 + Math.floor((completed / indexable.length) * 90);
|
|
101
|
+
await reportProgress(percent, `${schema.entityName} failed`, true);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
if (await options?.shouldAbort?.()) {
|
|
105
|
+
this.logger.log(`Quick search reindex aborted after ${indexed} documents`);
|
|
106
|
+
return indexed;
|
|
65
107
|
}
|
|
108
|
+
await options?.onProgress?.(100, `Indexed ${indexed} documents`);
|
|
66
109
|
this.logger.log(`Quick search reindex finished (${indexed} documents)`);
|
|
67
110
|
return indexed;
|
|
68
111
|
}
|
|
69
|
-
async reindexEntity(entityName) {
|
|
112
|
+
async reindexEntity(entityName, options) {
|
|
70
113
|
if (this.provider !== 'elasticsearch' || !this.elasticsearchBackend) {
|
|
71
114
|
return 0;
|
|
72
115
|
}
|
|
73
116
|
const plan = await this.indexService.resolveContentPlan(entityName);
|
|
74
|
-
if (!
|
|
117
|
+
if (!(0, quick_search_related_util_1.isQuickSearchIndexablePlan)(plan)) {
|
|
75
118
|
return 0;
|
|
76
119
|
}
|
|
77
120
|
let skip = 0;
|
|
78
121
|
let indexed = 0;
|
|
79
122
|
while (true) {
|
|
80
|
-
|
|
123
|
+
if (await options?.shouldAbort?.()) {
|
|
124
|
+
return indexed;
|
|
125
|
+
}
|
|
126
|
+
// Engine query: boot/seed have no HTTP session. A tenant-owner visibility
|
|
127
|
+
// filter would fail closed and skip Employee/User/Person (and most master data).
|
|
128
|
+
const filter = options?.reset ? undefined : buildUpdatedSinceFilter(options?.updatedSince);
|
|
129
|
+
const page = await this.entityStorage.queryAsEngine(entityName, {
|
|
81
130
|
skip,
|
|
82
131
|
take: REINDEX_BATCH_SIZE,
|
|
132
|
+
...(filter ? { filter } : {}),
|
|
83
133
|
});
|
|
84
134
|
if (!page.items.length) {
|
|
85
135
|
break;
|
|
@@ -102,12 +152,48 @@ exports.QuickSearchReindexService = QuickSearchReindexService = QuickSearchReind
|
|
|
102
152
|
(0, common_1.Injectable)(),
|
|
103
153
|
tslib_1.__param(0, (0, common_1.Inject)(abstract_1.QUICK_SEARCH_PROVIDER_KIND)),
|
|
104
154
|
tslib_1.__param(1, (0, common_1.Inject)(abstract_1.QUICK_SEARCH_BACKEND)),
|
|
105
|
-
tslib_1.__param(2, (0, common_1.Inject)(core_1.ENTITY_STORAGE_BACKEND)),
|
|
106
155
|
tslib_1.__param(6, (0, common_1.Optional)()),
|
|
107
|
-
tslib_1.__metadata("design:paramtypes", [String, Object,
|
|
156
|
+
tslib_1.__metadata("design:paramtypes", [String, Object, core_1.EntityStorageMiddlewareService,
|
|
157
|
+
schema_1.JqlSchemaRegistry,
|
|
108
158
|
quick_search_index_service_1.QuickSearchIndexService,
|
|
109
159
|
core_1.AXPAppStartUpService,
|
|
110
160
|
elasticsearch_1.ElasticsearchQuickSearchBackend])
|
|
111
161
|
], QuickSearchReindexService);
|
|
162
|
+
async function runPool(items, concurrency, worker) {
|
|
163
|
+
if (!items.length) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
let next = 0;
|
|
167
|
+
const limit = Math.max(1, Math.min(concurrency, items.length));
|
|
168
|
+
await Promise.all(Array.from({ length: limit }, async () => {
|
|
169
|
+
while (next < items.length) {
|
|
170
|
+
const current = next;
|
|
171
|
+
next += 1;
|
|
172
|
+
await worker(items[current]);
|
|
173
|
+
}
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
176
|
+
function describeReindexMode(options) {
|
|
177
|
+
if (options?.reset) {
|
|
178
|
+
return 'Full rebuild of';
|
|
179
|
+
}
|
|
180
|
+
if (options?.updatedSince) {
|
|
181
|
+
return `Incremental reindex since ${options.updatedSince.toISOString()} of`;
|
|
182
|
+
}
|
|
183
|
+
return 'Catch-up reindex of';
|
|
184
|
+
}
|
|
185
|
+
function buildUpdatedSinceFilter(updatedSince) {
|
|
186
|
+
if (!updatedSince) {
|
|
187
|
+
return undefined;
|
|
188
|
+
}
|
|
189
|
+
const value = updatedSince.toISOString();
|
|
190
|
+
return {
|
|
191
|
+
logic: 'or',
|
|
192
|
+
filters: [
|
|
193
|
+
{ field: 'auditInfo.updated.at', operator: { type: 'greaterThanOrEqual' }, value },
|
|
194
|
+
{ field: 'auditInfo.created.at', operator: { type: 'greaterThanOrEqual' }, value },
|
|
195
|
+
],
|
|
196
|
+
};
|
|
197
|
+
}
|
|
112
198
|
//#endregion
|
|
113
199
|
//# sourceMappingURL=quick-search-reindex.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-search-reindex.service.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-reindex.service.ts"],"names":[],"mappings":";;;;;AAAA,2CAAsE;
|
|
1
|
+
{"version":3,"file":"quick-search-reindex.service.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-reindex.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,16 @@ export interface QuickSearchRelatedContentSource {
|
|
|
10
10
|
entity: string;
|
|
11
11
|
paths: string[];
|
|
12
12
|
}
|
|
13
|
+
export interface QuickSearchLookupRelation {
|
|
14
|
+
entity: string;
|
|
15
|
+
idField: string;
|
|
16
|
+
dataPath: string;
|
|
17
|
+
isMultiple: boolean;
|
|
18
|
+
}
|
|
13
19
|
export interface QuickSearchContentPlan {
|
|
14
20
|
hostPaths: string[];
|
|
15
21
|
relatedSources: QuickSearchRelatedContentSource[];
|
|
22
|
+
lookupRelations: QuickSearchLookupRelation[];
|
|
16
23
|
}
|
|
17
24
|
export declare function defaultMergeDetailIdField(dataPath?: string): string;
|
|
18
25
|
export declare function isQuickSearchContentPath(path: string): boolean;
|
|
@@ -20,10 +27,17 @@ export declare function filterQuickSearchContentPaths(paths: string[]): string[]
|
|
|
20
27
|
export declare function isMergeDetailHydratedRelation(related: AXPDomainRelatedEntityDefinition): boolean;
|
|
21
28
|
export declare function collectMergeDetailRelations(relatedEntities: AXPDomainRelatedEntityDefinition[] | undefined): QuickSearchMergeDetailRelation[];
|
|
22
29
|
export declare function collectDottedColumnPaths(columns: AXPEntityDefinition['columns'] | undefined, excludedPrefixes?: string[]): string[];
|
|
30
|
+
/**
|
|
31
|
+
* Lookup FK relations whose display snapshots are stripped on write and must be
|
|
32
|
+
* rehydrated before building Elasticsearch quick-search content.
|
|
33
|
+
*/
|
|
34
|
+
export declare function collectLookupRelations(fields: AXPEntityDefinition['fields'] | undefined, excludedDataPaths?: string[]): QuickSearchLookupRelation[];
|
|
35
|
+
export declare function hydrateRecordsWithLookupRelations(records: Record<string, unknown>[], relations: QuickSearchLookupRelation[], loadRelatedByIds: (entityName: string, ids: string[]) => Promise<Record<string, unknown>[]>): Promise<Record<string, unknown>[]>;
|
|
23
36
|
export declare function resolveQuickSearchContentPlan(schema: JqlEntitySchema, options: {
|
|
24
37
|
entityDefinition?: AXPEntityDefinition | null;
|
|
25
38
|
loadRelatedSchema: (entityName: string) => Promise<JqlEntitySchema>;
|
|
26
39
|
}): Promise<QuickSearchContentPlan>;
|
|
40
|
+
export declare function isQuickSearchIndexablePlan(plan: QuickSearchContentPlan): boolean;
|
|
27
41
|
/** @deprecated Use {@link resolveQuickSearchContentPlan}. */
|
|
28
42
|
export declare function resolveQuickSearchFieldPaths(schema: JqlEntitySchema, options: {
|
|
29
43
|
entityDefinition?: AXPEntityDefinition | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-search-related.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-related.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,gCAAgC,EACjC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"quick-search-related.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/search/providers/src/lib/quick-search-related.util.ts"],"names":[],"mappings":"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"}
|