@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.
Files changed (245) hide show
  1. package/background-job/src/index.d.ts +3 -0
  2. package/background-job/src/index.d.ts.map +1 -1
  3. package/background-job/src/index.js +3 -0
  4. package/background-job/src/index.js.map +1 -1
  5. package/background-job/src/lib/background-job.module.d.ts +3 -0
  6. package/background-job/src/lib/background-job.module.d.ts.map +1 -1
  7. package/background-job/src/lib/background-job.module.js +13 -1
  8. package/background-job/src/lib/background-job.module.js.map +1 -1
  9. package/background-job/src/lib/background-job.service.d.ts +9 -2
  10. package/background-job/src/lib/background-job.service.d.ts.map +1 -1
  11. package/background-job/src/lib/background-job.service.js +42 -2
  12. package/background-job/src/lib/background-job.service.js.map +1 -1
  13. package/background-job/src/lib/command-concurrency-lock.registrar.d.ts +14 -0
  14. package/background-job/src/lib/command-concurrency-lock.registrar.d.ts.map +1 -0
  15. package/background-job/src/lib/command-concurrency-lock.registrar.js +29 -0
  16. package/background-job/src/lib/command-concurrency-lock.registrar.js.map +1 -0
  17. package/background-job/src/lib/execution/background-job-cancellation.service.d.ts +5 -1
  18. package/background-job/src/lib/execution/background-job-cancellation.service.d.ts.map +1 -1
  19. package/background-job/src/lib/execution/background-job-cancellation.service.js +11 -2
  20. package/background-job/src/lib/execution/background-job-cancellation.service.js.map +1 -1
  21. package/background-job/src/lib/execution/background-job-execution.service.d.ts +15 -2
  22. package/background-job/src/lib/execution/background-job-execution.service.d.ts.map +1 -1
  23. package/background-job/src/lib/execution/background-job-execution.service.js +145 -8
  24. package/background-job/src/lib/execution/background-job-execution.service.js.map +1 -1
  25. package/background-job/src/lib/notification/background-job-notification.port.d.ts +20 -0
  26. package/background-job/src/lib/notification/background-job-notification.port.d.ts.map +1 -0
  27. package/background-job/src/lib/notification/background-job-notification.port.js +31 -0
  28. package/background-job/src/lib/notification/background-job-notification.port.js.map +1 -0
  29. package/background-job/src/lib/queue/background-job-recovery.service.d.ts +22 -0
  30. package/background-job/src/lib/queue/background-job-recovery.service.d.ts.map +1 -0
  31. package/background-job/src/lib/queue/background-job-recovery.service.js +101 -0
  32. package/background-job/src/lib/queue/background-job-recovery.service.js.map +1 -0
  33. package/background-job/src/lib/schedule/background-job-schedule-scanner.service.d.ts.map +1 -1
  34. package/background-job/src/lib/schedule/background-job-schedule-scanner.service.js +18 -12
  35. package/background-job/src/lib/schedule/background-job-schedule-scanner.service.js.map +1 -1
  36. package/background-job/src/lib/store/background-job-attempt-store.service.d.ts +12 -0
  37. package/background-job/src/lib/store/background-job-attempt-store.service.d.ts.map +1 -1
  38. package/background-job/src/lib/store/background-job-attempt-store.service.js +30 -0
  39. package/background-job/src/lib/store/background-job-attempt-store.service.js.map +1 -1
  40. package/background-job/src/lib/store/background-job-schedule-store.service.d.ts +5 -1
  41. package/background-job/src/lib/store/background-job-schedule-store.service.d.ts.map +1 -1
  42. package/background-job/src/lib/store/background-job-schedule-store.service.js +8 -4
  43. package/background-job/src/lib/store/background-job-schedule-store.service.js.map +1 -1
  44. package/background-job/src/lib/store/background-job-store.service.d.ts +25 -3
  45. package/background-job/src/lib/store/background-job-store.service.d.ts.map +1 -1
  46. package/background-job/src/lib/store/background-job-store.service.js +54 -26
  47. package/background-job/src/lib/store/background-job-store.service.js.map +1 -1
  48. package/background-job/src/lib/store/jql-filter.util.d.ts +1 -0
  49. package/background-job/src/lib/store/jql-filter.util.d.ts.map +1 -1
  50. package/background-job/src/lib/store/jql-filter.util.js +4 -0
  51. package/background-job/src/lib/store/jql-filter.util.js.map +1 -1
  52. package/background-job/src/lib/tray/background-job-tray-realtime.publisher.d.ts +17 -0
  53. package/background-job/src/lib/tray/background-job-tray-realtime.publisher.d.ts.map +1 -0
  54. package/background-job/src/lib/tray/background-job-tray-realtime.publisher.js +61 -0
  55. package/background-job/src/lib/tray/background-job-tray-realtime.publisher.js.map +1 -0
  56. package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event-emitter.service.d.ts +2 -1
  57. package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event-emitter.service.d.ts.map +1 -1
  58. package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event-emitter.service.js +3 -0
  59. package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event-emitter.service.js.map +1 -1
  60. package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event.types.d.ts +12 -0
  61. package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event.types.d.ts.map +1 -1
  62. package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event.types.js +6 -1
  63. package/core/src/lib/entity-storage/entity-mutation-events/entity-mutation-event.types.js.map +1 -1
  64. package/core/src/lib/entity-storage/entity-storage-middleware.service.d.ts +3 -2
  65. package/core/src/lib/entity-storage/entity-storage-middleware.service.d.ts.map +1 -1
  66. package/core/src/lib/entity-storage/entity-storage-middleware.service.js +6 -2
  67. package/core/src/lib/entity-storage/entity-storage-middleware.service.js.map +1 -1
  68. package/core/src/lib/runtime/index.d.ts +3 -0
  69. package/core/src/lib/runtime/index.d.ts.map +1 -1
  70. package/core/src/lib/runtime/index.js +3 -0
  71. package/core/src/lib/runtime/index.js.map +1 -1
  72. package/core/src/lib/runtime/runtime-authz.guard.d.ts +1 -0
  73. package/core/src/lib/runtime/runtime-authz.guard.d.ts.map +1 -1
  74. package/core/src/lib/runtime/runtime-authz.guard.js +10 -0
  75. package/core/src/lib/runtime/runtime-authz.guard.js.map +1 -1
  76. package/core/src/lib/runtime/runtime-bulk-command.service.d.ts +4 -1
  77. package/core/src/lib/runtime/runtime-bulk-command.service.d.ts.map +1 -1
  78. package/core/src/lib/runtime/runtime-bulk-command.service.js +64 -17
  79. package/core/src/lib/runtime/runtime-bulk-command.service.js.map +1 -1
  80. package/core/src/lib/runtime/runtime-bulk-progress.realtime.port.d.ts +9 -0
  81. package/core/src/lib/runtime/runtime-bulk-progress.realtime.port.d.ts.map +1 -0
  82. package/core/src/lib/runtime/runtime-bulk-progress.realtime.port.js +13 -0
  83. package/core/src/lib/runtime/runtime-bulk-progress.realtime.port.js.map +1 -0
  84. package/core/src/lib/runtime/runtime-bulk-progress.store.d.ts +12 -0
  85. package/core/src/lib/runtime/runtime-bulk-progress.store.d.ts.map +1 -0
  86. package/core/src/lib/runtime/runtime-bulk-progress.store.js +61 -0
  87. package/core/src/lib/runtime/runtime-bulk-progress.store.js.map +1 -0
  88. package/core/src/lib/runtime/runtime-command.controller.d.ts +5 -1
  89. package/core/src/lib/runtime/runtime-command.controller.d.ts.map +1 -1
  90. package/core/src/lib/runtime/runtime-command.controller.js +30 -2
  91. package/core/src/lib/runtime/runtime-command.controller.js.map +1 -1
  92. package/core/src/lib/runtime/runtime-dispatcher.service.d.ts +3 -2
  93. package/core/src/lib/runtime/runtime-dispatcher.service.d.ts.map +1 -1
  94. package/core/src/lib/runtime/runtime-dispatcher.service.js +23 -2
  95. package/core/src/lib/runtime/runtime-dispatcher.service.js.map +1 -1
  96. package/core/src/lib/runtime/runtime-request-session.util.d.ts +6 -0
  97. package/core/src/lib/runtime/runtime-request-session.util.d.ts.map +1 -0
  98. package/core/src/lib/runtime/runtime-request-session.util.js +21 -0
  99. package/core/src/lib/runtime/runtime-request-session.util.js.map +1 -0
  100. package/core/src/lib/runtime/runtime.module.d.ts.map +1 -1
  101. package/core/src/lib/runtime/runtime.module.js +3 -0
  102. package/core/src/lib/runtime/runtime.module.js.map +1 -1
  103. package/domain/abstract/src/index.d.ts +2 -0
  104. package/domain/abstract/src/index.d.ts.map +1 -1
  105. package/domain/abstract/src/index.js +2 -0
  106. package/domain/abstract/src/index.js.map +1 -1
  107. package/domain/abstract/src/lib/commands/command-concurrency.types.d.ts +30 -0
  108. package/domain/abstract/src/lib/commands/command-concurrency.types.d.ts.map +1 -0
  109. package/domain/abstract/src/lib/commands/command-concurrency.types.js +9 -0
  110. package/domain/abstract/src/lib/commands/command-concurrency.types.js.map +1 -0
  111. package/domain/abstract/src/lib/commands/command-concurrency.util.d.ts +11 -0
  112. package/domain/abstract/src/lib/commands/command-concurrency.util.d.ts.map +1 -0
  113. package/domain/abstract/src/lib/commands/command-concurrency.util.js +53 -0
  114. package/domain/abstract/src/lib/commands/command-concurrency.util.js.map +1 -0
  115. package/domain/abstract/src/lib/commands/server-command-registry.token.d.ts +3 -0
  116. package/domain/abstract/src/lib/commands/server-command-registry.token.d.ts.map +1 -1
  117. package/domain/abstract/src/lib/commands/server-command-registry.token.js.map +1 -1
  118. package/domain/abstract/src/lib/commands/server-handler.decorator.d.ts +1 -0
  119. package/domain/abstract/src/lib/commands/server-handler.decorator.d.ts.map +1 -1
  120. package/domain/abstract/src/lib/commands/server-handler.decorator.js +1 -0
  121. package/domain/abstract/src/lib/commands/server-handler.decorator.js.map +1 -1
  122. package/domain/abstract/src/lib/commands/server-handler.types.d.ts +7 -0
  123. package/domain/abstract/src/lib/commands/server-handler.types.d.ts.map +1 -1
  124. package/domain/abstract/src/lib/commands/server-handler.types.js.map +1 -1
  125. package/domain/providers/src/lib/command-concurrency.guard.d.ts +11 -0
  126. package/domain/providers/src/lib/command-concurrency.guard.d.ts.map +1 -0
  127. package/domain/providers/src/lib/command-concurrency.guard.js +110 -0
  128. package/domain/providers/src/lib/command-concurrency.guard.js.map +1 -0
  129. package/domain/providers/src/lib/middlewares/lookup-resolver.middleware.d.ts.map +1 -1
  130. package/domain/providers/src/lib/middlewares/lookup-resolver.middleware.js +5 -3
  131. package/domain/providers/src/lib/middlewares/lookup-resolver.middleware.js.map +1 -1
  132. package/domain/providers/src/lib/server-command.module.d.ts.map +1 -1
  133. package/domain/providers/src/lib/server-command.module.js +8 -1
  134. package/domain/providers/src/lib/server-command.module.js.map +1 -1
  135. package/domain/providers/src/lib/server-command.registry.d.ts +7 -3
  136. package/domain/providers/src/lib/server-command.registry.d.ts.map +1 -1
  137. package/domain/providers/src/lib/server-command.registry.js +18 -7
  138. package/domain/providers/src/lib/server-command.registry.js.map +1 -1
  139. package/domain/providers/src/lib/utils/entity-query-fields-path-planner.util.d.ts +2 -0
  140. package/domain/providers/src/lib/utils/entity-query-fields-path-planner.util.d.ts.map +1 -1
  141. package/domain/providers/src/lib/utils/entity-query-fields-path-planner.util.js +12 -2
  142. package/domain/providers/src/lib/utils/entity-query-fields-path-planner.util.js.map +1 -1
  143. package/domain/providers/src/lib/utils/entity-relation-join.planner.d.ts.map +1 -1
  144. package/domain/providers/src/lib/utils/entity-relation-join.planner.js +1 -1
  145. package/domain/providers/src/lib/utils/entity-relation-join.planner.js.map +1 -1
  146. package/jql/elasticsearch/src/lib/compile/filter-compiler.js +14 -0
  147. package/jql/elasticsearch/src/lib/compile/filter-compiler.js.map +1 -1
  148. package/jql/elasticsearch/src/lib/jql-elasticsearch.engine.js +3 -0
  149. package/jql/elasticsearch/src/lib/jql-elasticsearch.engine.js.map +1 -1
  150. package/jql/schema/src/lib/generated/plugin-contributions.bootstrap.d.ts.map +1 -1
  151. package/jql/schema/src/lib/generated/plugin-contributions.bootstrap.js +6 -0
  152. package/jql/schema/src/lib/generated/plugin-contributions.bootstrap.js.map +1 -1
  153. package/observability/abstract/src/index.d.ts +1 -0
  154. package/observability/abstract/src/index.d.ts.map +1 -1
  155. package/observability/abstract/src/index.js +1 -0
  156. package/observability/abstract/src/index.js.map +1 -1
  157. package/observability/abstract/src/lib/entity-observability-skip.util.d.ts +11 -0
  158. package/observability/abstract/src/lib/entity-observability-skip.util.d.ts.map +1 -0
  159. package/observability/abstract/src/lib/entity-observability-skip.util.js +22 -0
  160. package/observability/abstract/src/lib/entity-observability-skip.util.js.map +1 -0
  161. package/observability/abstract/src/lib/observability.config.d.ts +2 -0
  162. package/observability/abstract/src/lib/observability.config.d.ts.map +1 -1
  163. package/observability/abstract/src/lib/observability.config.js.map +1 -1
  164. package/observability/abstract/src/lib/runtime-log-buffer.d.ts.map +1 -1
  165. package/observability/abstract/src/lib/runtime-log-buffer.js +5 -1
  166. package/observability/abstract/src/lib/runtime-log-buffer.js.map +1 -1
  167. package/observability/providers/src/lib/context/correlation-fields.util.d.ts +5 -0
  168. package/observability/providers/src/lib/context/correlation-fields.util.d.ts.map +1 -1
  169. package/observability/providers/src/lib/context/correlation-fields.util.js +4 -1
  170. package/observability/providers/src/lib/context/correlation-fields.util.js.map +1 -1
  171. package/observability/providers/src/lib/context/resolve-request-observability-entity.util.d.ts +14 -0
  172. package/observability/providers/src/lib/context/resolve-request-observability-entity.util.d.ts.map +1 -0
  173. package/observability/providers/src/lib/context/resolve-request-observability-entity.util.js +82 -0
  174. package/observability/providers/src/lib/context/resolve-request-observability-entity.util.js.map +1 -0
  175. package/observability/providers/src/lib/execution-trace/execution-trace-recorder.service.d.ts.map +1 -1
  176. package/observability/providers/src/lib/execution-trace/execution-trace-recorder.service.js +3 -0
  177. package/observability/providers/src/lib/execution-trace/execution-trace-recorder.service.js.map +1 -1
  178. package/observability/providers/src/lib/http/observability-context.interceptor.d.ts +3 -1
  179. package/observability/providers/src/lib/http/observability-context.interceptor.d.ts.map +1 -1
  180. package/observability/providers/src/lib/http/observability-context.interceptor.js +17 -4
  181. package/observability/providers/src/lib/http/observability-context.interceptor.js.map +1 -1
  182. package/observability/providers/src/lib/pino/pino.factory.d.ts.map +1 -1
  183. package/observability/providers/src/lib/pino/pino.factory.js +9 -1
  184. package/observability/providers/src/lib/pino/pino.factory.js.map +1 -1
  185. package/package.json +2 -2
  186. package/realtime/src/lib/delivery/socket-io-realtime.delivery.d.ts +3 -3
  187. package/realtime/src/lib/delivery/socket-io-realtime.delivery.d.ts.map +1 -1
  188. package/realtime/src/lib/delivery/socket-io-realtime.delivery.js +10 -2
  189. package/realtime/src/lib/delivery/socket-io-realtime.delivery.js.map +1 -1
  190. package/realtime/src/lib/entity-bridge/realtime-bulk-progress-bridge.listener.d.ts +9 -0
  191. package/realtime/src/lib/entity-bridge/realtime-bulk-progress-bridge.listener.d.ts.map +1 -0
  192. package/realtime/src/lib/entity-bridge/realtime-bulk-progress-bridge.listener.js +62 -0
  193. package/realtime/src/lib/entity-bridge/realtime-bulk-progress-bridge.listener.js.map +1 -0
  194. package/realtime/src/lib/gateway/realtime.gateway.d.ts +2 -2
  195. package/realtime/src/lib/gateway/realtime.gateway.d.ts.map +1 -1
  196. package/realtime/src/lib/gateway/realtime.gateway.js +1 -1
  197. package/realtime/src/lib/gateway/realtime.gateway.js.map +1 -1
  198. package/realtime/src/lib/realtime.module.d.ts.map +1 -1
  199. package/realtime/src/lib/realtime.module.js +8 -0
  200. package/realtime/src/lib/realtime.module.js.map +1 -1
  201. package/realtime/src/lib/topics/realtime-topics.d.ts +2 -0
  202. package/realtime/src/lib/topics/realtime-topics.d.ts.map +1 -1
  203. package/realtime/src/lib/topics/realtime-topics.js +3 -1
  204. package/realtime/src/lib/topics/realtime-topics.js.map +1 -1
  205. package/realtime/src/lib/types/realtime.types.d.ts +26 -0
  206. package/realtime/src/lib/types/realtime.types.d.ts.map +1 -1
  207. package/realtime/src/lib/types/realtime.types.js.map +1 -1
  208. package/search/abstract/src/lib/quick-search-content.util.d.ts.map +1 -1
  209. package/search/abstract/src/lib/quick-search-content.util.js +14 -1
  210. package/search/abstract/src/lib/quick-search-content.util.js.map +1 -1
  211. package/search/providers/src/lib/quick-search-index.service.d.ts +9 -1
  212. package/search/providers/src/lib/quick-search-index.service.d.ts.map +1 -1
  213. package/search/providers/src/lib/quick-search-index.service.js +53 -15
  214. package/search/providers/src/lib/quick-search-index.service.js.map +1 -1
  215. package/search/providers/src/lib/quick-search-provider.module.d.ts.map +1 -1
  216. package/search/providers/src/lib/quick-search-provider.module.js +12 -0
  217. package/search/providers/src/lib/quick-search-provider.module.js.map +1 -1
  218. package/search/providers/src/lib/quick-search-reindex.service.d.ts +15 -6
  219. package/search/providers/src/lib/quick-search-reindex.service.d.ts.map +1 -1
  220. package/search/providers/src/lib/quick-search-reindex.service.js +98 -12
  221. package/search/providers/src/lib/quick-search-reindex.service.js.map +1 -1
  222. package/search/providers/src/lib/quick-search-related.util.d.ts +14 -0
  223. package/search/providers/src/lib/quick-search-related.util.d.ts.map +1 -1
  224. package/search/providers/src/lib/quick-search-related.util.js +142 -8
  225. package/search/providers/src/lib/quick-search-related.util.js.map +1 -1
  226. package/security/src/lib/auth/auth.service.js +1 -1
  227. package/security/src/lib/auth/auth.service.js.map +1 -1
  228. package/swagger/src/lib/runtime-openapi.service.d.ts.map +1 -1
  229. package/swagger/src/lib/runtime-openapi.service.js +43 -0
  230. package/swagger/src/lib/runtime-openapi.service.js.map +1 -1
  231. package/tracing/abstract/src/index.d.ts +1 -0
  232. package/tracing/abstract/src/index.d.ts.map +1 -1
  233. package/tracing/abstract/src/index.js +1 -0
  234. package/tracing/abstract/src/index.js.map +1 -1
  235. package/tracing/abstract/src/lib/entity-log.types.d.ts +14 -0
  236. package/tracing/abstract/src/lib/entity-log.types.d.ts.map +1 -0
  237. package/tracing/abstract/src/lib/entity-log.types.js +10 -0
  238. package/tracing/abstract/src/lib/entity-log.types.js.map +1 -0
  239. package/tracing/abstract/src/lib/entity-trace.tokens.d.ts +2 -0
  240. package/tracing/abstract/src/lib/entity-trace.tokens.d.ts.map +1 -1
  241. package/tracing/abstract/src/lib/entity-trace.tokens.js.map +1 -1
  242. package/tracing/providers/src/lib/entity-trace-config-resolver.service.d.ts +5 -3
  243. package/tracing/providers/src/lib/entity-trace-config-resolver.service.d.ts.map +1 -1
  244. package/tracing/providers/src/lib/entity-trace-config-resolver.service.js +36 -11
  245. 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 resolveContentPlan(entityName) {
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 = await this.loadEntityDefinition(entityName);
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 relations = await this.resolveMergeDetailRelations(entityName);
105
- if (!relations.length) {
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
- return (0, quick_search_related_util_1.hydrateRecordsWithMergeDetailRelations)(records, relations, (relatedEntityName, ids) => this.loadRelatedRecords(relatedEntityName, ids));
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 loadEntityDefinition(entityName) {
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 direct = await this.domainLoader.loadEntity(entityName);
138
- if (direct) {
139
- return direct;
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(`Failed to load domain definition for quick search (${entityName})`, error);
178
+ this.logger.warn('Failed to load domain catalog for quick search', error);
144
179
  }
145
- if (!this.domainLoader.loadAllEntityDefinitions) {
146
- return null;
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
- const definitions = await this.domainLoader.loadAllEntityDefinitions();
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 catalog for quick search (${entityName})`, error);
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":"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"}
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;AAiBxB,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;CAoFjB"}
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":"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"}
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 entityBackend;
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, entityBackend: EntityStorageBackend, schemaRegistry: JqlSchemaRegistry, indexService: QuickSearchIndexService, appStartUp: AXPAppStartUpService, elasticsearchBackend?: ElasticsearchQuickSearchBackend | undefined);
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":"AAEA,OAAO,EAIL,oBAAoB,EAIrB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAI3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAEjF,OAAO,EAML,KAAK,kBAAkB,EAEvB,KAAK,uBAAuB,EAE7B,MAAM,mDAAmD,CAAC;AAE3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,wDAAwD,CAAC;AAEzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAcvE,qBAEa,yBAAyB;IAQE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAEtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9D,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAIjB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAlBpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;gBAMd,QAAQ,EAAE,uBAAuB,EAEvC,OAAO,EAAE,kBAAkB,EAEzB,aAAa,EAAE,oBAAoB,EAEnE,cAAc,EAAE,iBAAiB,EAEjC,YAAY,EAAE,uBAAuB,EAEtD,UAAU,EAAE,oBAAoB,EAEH,oBAAoB,CAAC,EAAE,+BAA+B,YAAA;YAkBvE,qBAAqB;IAgC7B,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBtC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IA0C7B,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAoFzD"}
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, entityBackend, schemaRegistry, indexService, appStartUp, elasticsearchBackend) {
20
+ constructor(provider, backend, entityStorage, schemaRegistry, indexService, appStartUp, elasticsearchBackend) {
18
21
  this.provider = provider;
19
22
  this.backend = backend;
20
- this.entityBackend = entityBackend;
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
- await this.resetQuickSearchIndex();
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
- for (const schema of schemas) {
64
- indexed += await this.reindexEntity(schema.entityName);
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 (!plan.hostPaths.length && !plan.relatedSources.length) {
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
- const page = await this.entityBackend.query(entityName, {
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, Object, schema_1.JqlSchemaRegistry,
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":"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"}
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;AAUtF,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,+BAA+B,EAAE,CAAC;CACnD;AAID,wBAAgB,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAgB9D;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQvE;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAQT;AAED,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,gCAAgC,EAAE,GAAG,SAAS,GAC9D,8BAA8B,EAAE,CAiBlC;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,GAAG,SAAS,EACnD,gBAAgB,GAAE,MAAM,EAAO,GAC9B,MAAM,EAAE,CAiBV;AAED,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE;IACP,gBAAgB,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC9C,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CACrE,GACA,OAAO,CAAC,sBAAsB,CAAC,CAoBjC;AAED,6DAA6D;AAC7D,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE;IACP,gBAAgB,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC9C,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CACrE,GACA,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,sBAAsB,GAC3B,MAAM,CAqBR;AAED,wBAAsB,sCAAsC,CAC1D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAClC,SAAS,EAAE,8BAA8B,EAAE,EAC3C,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAC1F,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CA2CpC;AAED,wBAAgB,mCAAmC,CACjD,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,mBAAmB,CAAA;CAAE,CAAC,GAC1E,KAAK,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,8BAA8B,CAAA;CAAE,CAAC,CAa7E"}
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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"}