@rockster/core 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (501) hide show
  1. package/access/access.module.d.ts +11 -0
  2. package/access/access.module.js +56 -0
  3. package/access/access.module.js.map +1 -0
  4. package/access/constants.d.ts +2 -0
  5. package/access/constants.js +6 -0
  6. package/access/constants.js.map +1 -0
  7. package/access/controllers/controllers.d.ts +7 -0
  8. package/access/controllers/controllers.js +18 -0
  9. package/access/controllers/controllers.js.map +1 -0
  10. package/access/controllers/scope-access-profile.controller.d.ts +17 -0
  11. package/access/controllers/scope-access-profile.controller.js +111 -0
  12. package/access/controllers/scope-access-profile.controller.js.map +1 -0
  13. package/access/controllers/scope-group-user.controller.d.ts +20 -0
  14. package/access/controllers/scope-group-user.controller.js +132 -0
  15. package/access/controllers/scope-group-user.controller.js.map +1 -0
  16. package/access/controllers/scope-group.controller.d.ts +22 -0
  17. package/access/controllers/scope-group.controller.js +177 -0
  18. package/access/controllers/scope-group.controller.js.map +1 -0
  19. package/access/controllers/scope-key.controller.d.ts +7 -0
  20. package/access/controllers/scope-key.controller.js +45 -0
  21. package/access/controllers/scope-key.controller.js.map +1 -0
  22. package/access/controllers/scope-owner.controller.d.ts +9 -0
  23. package/access/controllers/scope-owner.controller.js +80 -0
  24. package/access/controllers/scope-owner.controller.js.map +1 -0
  25. package/access/controllers/scope-user.controller.d.ts +14 -0
  26. package/access/controllers/scope-user.controller.js +109 -0
  27. package/access/controllers/scope-user.controller.js.map +1 -0
  28. package/access/decorators/context-params.decorator.d.ts +2 -0
  29. package/access/decorators/context-params.decorator.js +13 -0
  30. package/access/decorators/context-params.decorator.js.map +1 -0
  31. package/access/decorators/index.d.ts +2 -0
  32. package/access/decorators/index.js +19 -0
  33. package/access/decorators/index.js.map +1 -0
  34. package/access/decorators/scope-context-id-resolver.decorator.d.ts +10 -0
  35. package/access/decorators/scope-context-id-resolver.decorator.js +22 -0
  36. package/access/decorators/scope-context-id-resolver.decorator.js.map +1 -0
  37. package/access/entities/entities.d.ts +8 -0
  38. package/access/entities/entities.js +22 -0
  39. package/access/entities/entities.js.map +1 -0
  40. package/access/entities/index.d.ts +7 -0
  41. package/access/entities/index.js +24 -0
  42. package/access/entities/index.js.map +1 -0
  43. package/access/entities/scope-access-profile-key.d.ts +6 -0
  44. package/access/entities/scope-access-profile-key.js +40 -0
  45. package/access/entities/scope-access-profile-key.js.map +1 -0
  46. package/access/entities/scope-access-profile.d.ts +6 -0
  47. package/access/entities/scope-access-profile.js +37 -0
  48. package/access/entities/scope-access-profile.js.map +1 -0
  49. package/access/entities/scope-access.d.ts +9 -0
  50. package/access/entities/scope-access.js +58 -0
  51. package/access/entities/scope-access.js.map +1 -0
  52. package/access/entities/scope-group-user.d.ts +7 -0
  53. package/access/entities/scope-group-user.js +47 -0
  54. package/access/entities/scope-group-user.js.map +1 -0
  55. package/access/entities/scope-group.d.ts +12 -0
  56. package/access/entities/scope-group.js +72 -0
  57. package/access/entities/scope-group.js.map +1 -0
  58. package/access/entities/scope-key.d.ts +5 -0
  59. package/access/entities/scope-key.js +35 -0
  60. package/access/entities/scope-key.js.map +1 -0
  61. package/access/entities/scope-owner.d.ts +7 -0
  62. package/access/entities/scope-owner.js +45 -0
  63. package/access/entities/scope-owner.js.map +1 -0
  64. package/access/env.d.ts +10 -0
  65. package/access/env.js +10 -0
  66. package/access/env.js.map +1 -0
  67. package/access/functions/assert-context-admin-access.d.ts +15 -0
  68. package/access/functions/assert-context-admin-access.js +62 -0
  69. package/access/functions/assert-context-admin-access.js.map +1 -0
  70. package/access/functions/assert-master-or-owner.d.ts +9 -0
  71. package/access/functions/assert-master-or-owner.js +40 -0
  72. package/access/functions/assert-master-or-owner.js.map +1 -0
  73. package/access/functions/assert-scope-action-access.d.ts +32 -0
  74. package/access/functions/assert-scope-action-access.js +189 -0
  75. package/access/functions/assert-scope-action-access.js.map +1 -0
  76. package/access/functions/build-scope-resolver-initial-data.d.ts +4 -0
  77. package/access/functions/build-scope-resolver-initial-data.js +17 -0
  78. package/access/functions/build-scope-resolver-initial-data.js.map +1 -0
  79. package/access/functions/describe-action-scope.d.ts +9 -0
  80. package/access/functions/describe-action-scope.js +27 -0
  81. package/access/functions/describe-action-scope.js.map +1 -0
  82. package/access/functions/get-context-id-service.d.ts +1 -0
  83. package/access/functions/get-context-id-service.js +8 -0
  84. package/access/functions/get-context-id-service.js.map +1 -0
  85. package/access/functions/get-is-owner.d.ts +1 -0
  86. package/access/functions/get-is-owner.js +8 -0
  87. package/access/functions/get-is-owner.js.map +1 -0
  88. package/access/functions/get-user-keys.d.ts +2 -0
  89. package/access/functions/get-user-keys.js +10 -0
  90. package/access/functions/get-user-keys.js.map +1 -0
  91. package/access/functions/index.d.ts +8 -0
  92. package/access/functions/index.js +25 -0
  93. package/access/functions/index.js.map +1 -0
  94. package/access/functions/init-scope-service-executors.d.ts +3 -0
  95. package/access/functions/init-scope-service-executors.js +38 -0
  96. package/access/functions/init-scope-service-executors.js.map +1 -0
  97. package/access/functions/normalize-scope-keys.d.ts +4 -0
  98. package/access/functions/normalize-scope-keys.js +17 -0
  99. package/access/functions/normalize-scope-keys.js.map +1 -0
  100. package/access/functions/register-scope.d.ts +19 -0
  101. package/access/functions/register-scope.js +94 -0
  102. package/access/functions/register-scope.js.map +1 -0
  103. package/access/functions/resolve-scope-context-id.d.ts +9 -0
  104. package/access/functions/resolve-scope-context-id.js +71 -0
  105. package/access/functions/resolve-scope-context-id.js.map +1 -0
  106. package/access/functions/warn-if-public.d.ts +12 -0
  107. package/access/functions/warn-if-public.js +20 -0
  108. package/access/functions/warn-if-public.js.map +1 -0
  109. package/access/index.d.ts +7 -0
  110. package/access/index.js +24 -0
  111. package/access/index.js.map +1 -0
  112. package/access/interfaces/index.d.ts +3 -0
  113. package/access/interfaces/index.js +20 -0
  114. package/access/interfaces/index.js.map +1 -0
  115. package/access/interfaces/resolve-scope-context-id.d.ts +21 -0
  116. package/access/interfaces/resolve-scope-context-id.js +3 -0
  117. package/access/interfaces/resolve-scope-context-id.js.map +1 -0
  118. package/access/interfaces/scope-service-registry.d.ts +21 -0
  119. package/access/interfaces/scope-service-registry.js +3 -0
  120. package/access/interfaces/scope-service-registry.js.map +1 -0
  121. package/access/interfaces/scope-service.d.ts +11 -0
  122. package/{database/interfaces/protector.js → access/interfaces/scope-service.js} +1 -1
  123. package/access/interfaces/scope-service.js.map +1 -0
  124. package/access/models/scope-access-profile-keys-update.d.ts +5 -0
  125. package/access/models/scope-access-profile-keys-update.js +27 -0
  126. package/access/models/scope-access-profile-keys-update.js.map +1 -0
  127. package/access/models/scope-context.d.ts +4 -0
  128. package/access/models/scope-context.js +27 -0
  129. package/access/models/scope-context.js.map +1 -0
  130. package/access/models/scope-group-apply-access-profile.d.ts +6 -0
  131. package/access/models/scope-group-apply-access-profile.js +32 -0
  132. package/access/models/scope-group-apply-access-profile.js.map +1 -0
  133. package/access/models/scope-keys-update.d.ts +7 -0
  134. package/access/models/scope-keys-update.js +38 -0
  135. package/access/models/scope-keys-update.js.map +1 -0
  136. package/access/models/scope-owner.d.ts +5 -0
  137. package/access/models/scope-owner.js +32 -0
  138. package/access/models/scope-owner.js.map +1 -0
  139. package/access/models/scope-user-mapped.d.ts +9 -0
  140. package/access/models/scope-user-mapped.js +48 -0
  141. package/access/models/scope-user-mapped.js.map +1 -0
  142. package/access/models/scope-user.d.ts +9 -0
  143. package/access/models/scope-user.js +51 -0
  144. package/access/models/scope-user.js.map +1 -0
  145. package/access/queries/scope-access-profile.query.d.ts +1 -0
  146. package/access/queries/scope-access-profile.query.js +10 -0
  147. package/access/queries/scope-access-profile.query.js.map +1 -0
  148. package/access/queries/scope-group-user.query.d.ts +1 -0
  149. package/access/queries/scope-group-user.query.js +26 -0
  150. package/access/queries/scope-group-user.query.js.map +1 -0
  151. package/access/queries/scope-group.query.d.ts +1 -0
  152. package/access/queries/scope-group.query.js +19 -0
  153. package/access/queries/scope-group.query.js.map +1 -0
  154. package/access/services/index.d.ts +7 -0
  155. package/access/services/index.js +24 -0
  156. package/access/services/index.js.map +1 -0
  157. package/access/services/scope-access-profile.service.d.ts +13 -0
  158. package/access/services/scope-access-profile.service.js +75 -0
  159. package/access/services/scope-access-profile.service.js.map +1 -0
  160. package/access/services/scope-access.service.d.ts +11 -0
  161. package/access/services/scope-access.service.js +89 -0
  162. package/access/services/scope-access.service.js.map +1 -0
  163. package/access/services/scope-group-user.service.d.ts +8 -0
  164. package/access/services/scope-group-user.service.js +49 -0
  165. package/access/services/scope-group-user.service.js.map +1 -0
  166. package/access/services/scope-group.service.d.ts +17 -0
  167. package/access/services/scope-group.service.js +75 -0
  168. package/access/services/scope-group.service.js.map +1 -0
  169. package/access/services/scope-key.service.d.ts +9 -0
  170. package/access/services/scope-key.service.js +52 -0
  171. package/access/services/scope-key.service.js.map +1 -0
  172. package/access/services/scope-owner.service.d.ts +10 -0
  173. package/access/services/scope-owner.service.js +60 -0
  174. package/access/services/scope-owner.service.js.map +1 -0
  175. package/access/services/scope-service.d.ts +10 -0
  176. package/access/services/scope-service.js +52 -0
  177. package/access/services/scope-service.js.map +1 -0
  178. package/command/functions/execute-post.js +5 -7
  179. package/command/functions/execute-post.js.map +1 -1
  180. package/command/services/post-action-builder.js +21 -17
  181. package/command/services/post-action-builder.js.map +1 -1
  182. package/command/services/remove-action-builder.js +32 -22
  183. package/command/services/remove-action-builder.js.map +1 -1
  184. package/common/entities/base-entity.js +2 -0
  185. package/common/entities/base-entity.js.map +1 -1
  186. package/common/interfaces/enum/object-type.d.ts +2 -1
  187. package/common/interfaces/enum/object-type.js +1 -0
  188. package/common/interfaces/enum/object-type.js.map +1 -1
  189. package/controllers/constants/controller-transaction.d.ts +2 -0
  190. package/controllers/constants/controller-transaction.js +6 -0
  191. package/controllers/constants/controller-transaction.js.map +1 -0
  192. package/controllers/controller.controller.d.ts +1 -1
  193. package/controllers/controller.controller.js +4 -4
  194. package/controllers/controller.controller.js.map +1 -1
  195. package/controllers/decorators/controller.decorator.js +8 -0
  196. package/controllers/decorators/controller.decorator.js.map +1 -1
  197. package/controllers/decorators/index.d.ts +1 -0
  198. package/controllers/decorators/index.js +1 -0
  199. package/controllers/decorators/index.js.map +1 -1
  200. package/controllers/decorators/transaction.decorator.d.ts +7 -0
  201. package/controllers/decorators/transaction.decorator.js +23 -0
  202. package/controllers/decorators/transaction.decorator.js.map +1 -0
  203. package/controllers/interfaces/controller-object.d.ts +1 -0
  204. package/controllers/interfaces/controller-options.d.ts +1 -0
  205. package/controllers/interfaces/controller-property.d.ts +9 -0
  206. package/controllers/services/default-action-builder.js +14 -0
  207. package/controllers/services/default-action-builder.js.map +1 -1
  208. package/controllers/services/restful-action-builder.js +25 -1
  209. package/controllers/services/restful-action-builder.js.map +1 -1
  210. package/core/contexts/request-context.d.ts +5 -0
  211. package/core/contexts/request-context.js +6 -0
  212. package/core/contexts/request-context.js.map +1 -0
  213. package/core/core.controller.d.ts +1 -0
  214. package/core/core.controller.js +15 -2
  215. package/core/core.controller.js.map +1 -1
  216. package/core/functions/create-interceptor.js +2 -2
  217. package/core/functions/create-interceptor.js.map +1 -1
  218. package/core/functions/resolve-action-transactional.d.ts +3 -0
  219. package/core/functions/resolve-action-transactional.js +10 -0
  220. package/core/functions/resolve-action-transactional.js.map +1 -0
  221. package/core/interfaces/action-def.d.ts +2 -5
  222. package/core/interfaces/action-docs.d.ts +15 -0
  223. package/core/interfaces/action-handle.d.ts +5 -0
  224. package/core/interfaces/action-handle.js +3 -0
  225. package/core/interfaces/action-handle.js.map +1 -0
  226. package/core/interfaces/core-options.d.ts +1 -0
  227. package/core/interfaces/interceptor.d.ts +1 -1
  228. package/core/interfaces/object.d.ts +3 -2
  229. package/core/interfaces/request-context.d.ts +7 -2
  230. package/core/services/request-executor.d.ts +8 -0
  231. package/core/services/request-executor.js +88 -0
  232. package/core/services/request-executor.js.map +1 -1
  233. package/core/services/request-router.js +5 -4
  234. package/core/services/request-router.js.map +1 -1
  235. package/database/database.controller.d.ts +1 -3
  236. package/database/database.controller.js +1 -5
  237. package/database/database.controller.js.map +1 -1
  238. package/database/decorators/entity.decorator.d.ts +3 -1
  239. package/database/decorators/entity.decorator.js +14 -5
  240. package/database/decorators/entity.decorator.js.map +1 -1
  241. package/database/decorators/external-column.decorator.d.ts +17 -0
  242. package/database/decorators/external-column.decorator.js +30 -0
  243. package/database/decorators/external-column.decorator.js.map +1 -0
  244. package/database/decorators/index.d.ts +1 -0
  245. package/database/decorators/index.js +1 -0
  246. package/database/decorators/index.js.map +1 -1
  247. package/database/decorators/protect-entity.decorator.d.ts +1 -0
  248. package/database/decorators/protect-entity.decorator.js +2 -3
  249. package/database/decorators/protect-entity.decorator.js.map +1 -1
  250. package/database/decorators/protected-entity.decorator.d.ts +1 -0
  251. package/database/decorators/protected-entity.decorator.js +2 -16
  252. package/database/decorators/protected-entity.decorator.js.map +1 -1
  253. package/database/decorators/relation.decorator.d.ts +2 -2
  254. package/database/decorators/relation.decorator.js.map +1 -1
  255. package/database/extensions/select-query-builder.d.ts +1 -5
  256. package/database/extensions/select-query-builder.js.map +1 -1
  257. package/database/functions/find-relation.d.ts +2 -1
  258. package/database/functions/find-relation.js +3 -3
  259. package/database/functions/find-relation.js.map +1 -1
  260. package/database/functions/generate-entity-id.d.ts +2 -0
  261. package/database/functions/{generate-id.js → generate-entity-id.js} +3 -3
  262. package/database/functions/generate-entity-id.js.map +1 -0
  263. package/database/functions/get-relations.d.ts +1 -1
  264. package/database/functions/inject-repository-handle.js +4 -3
  265. package/database/functions/inject-repository-handle.js.map +1 -1
  266. package/database/functions/use-transaction.d.ts +1 -0
  267. package/database/functions/use-transaction.js +2 -6
  268. package/database/functions/use-transaction.js.map +1 -1
  269. package/database/interfaces/entity-dto-object.d.ts +7 -0
  270. package/database/interfaces/entity-dto-object.js +3 -0
  271. package/database/interfaces/entity-dto-object.js.map +1 -0
  272. package/database/interfaces/entity-object.d.ts +0 -6
  273. package/database/interfaces/entity-property.d.ts +12 -0
  274. package/database/interfaces/index.d.ts +0 -1
  275. package/database/interfaces/index.js +0 -1
  276. package/database/interfaces/index.js.map +1 -1
  277. package/database/interfaces/path.d.ts +6 -2
  278. package/database/interfaces/repository.d.ts +8 -8
  279. package/database/interfaces/virtual-select.d.ts +4 -0
  280. package/database/interfaces/virtual-select.js +3 -0
  281. package/database/interfaces/virtual-select.js.map +1 -0
  282. package/database/services/repository.service.d.ts +1 -1
  283. package/database/services/repository.service.js +3 -6
  284. package/database/services/repository.service.js.map +1 -1
  285. package/docs/docs.module.js +3 -1
  286. package/docs/docs.module.js.map +1 -1
  287. package/docs/migrations/1747584000000-CreateDocsTables.d.ts +5 -0
  288. package/docs/migrations/1747584000000-CreateDocsTables.js +90 -0
  289. package/docs/migrations/1747584000000-CreateDocsTables.js.map +1 -0
  290. package/docs/migrations/migrations.d.ts +2 -0
  291. package/docs/migrations/migrations.js +8 -0
  292. package/docs/migrations/migrations.js.map +1 -0
  293. package/docs/queries/docs-controller-action.query.d.ts +1 -1
  294. package/docs/queries/docs-controller.query.d.ts +1 -1
  295. package/docs/queries/docs-model.query.d.ts +1 -1
  296. package/docs/queries/docs-model.query.js +1 -1
  297. package/docs/queries/docs-model.query.js.map +1 -1
  298. package/docs/queries/docs-version.query.d.ts +1 -1
  299. package/docs/services/docs-version.service.js +6 -3
  300. package/docs/services/docs-version.service.js.map +1 -1
  301. package/forms/queries/form.query.d.ts +1 -1
  302. package/forms/queries/property.query.d.ts +1 -1
  303. package/global.d.ts +2 -0
  304. package/global.js +2 -1
  305. package/global.js.map +1 -1
  306. package/http/http.controller.d.ts +2 -0
  307. package/http/http.controller.js +3 -2
  308. package/http/http.controller.js.map +1 -1
  309. package/index.d.ts +5 -2
  310. package/index.js +4 -7
  311. package/index.js.map +1 -1
  312. package/jobs/jobs.controller.d.ts +2 -0
  313. package/jobs/jobs.controller.js +22 -16
  314. package/jobs/jobs.controller.js.map +1 -1
  315. package/package.json +70 -69
  316. package/query/functions/add-join.js +8 -16
  317. package/query/functions/add-join.js.map +1 -1
  318. package/query/functions/collect-external-column-owners.d.ts +10 -0
  319. package/query/functions/collect-external-column-owners.js +100 -0
  320. package/query/functions/collect-external-column-owners.js.map +1 -0
  321. package/query/functions/create-query-builder.js +47 -28
  322. package/query/functions/create-query-builder.js.map +1 -1
  323. package/query/functions/create-query-cache-hash.d.ts +16 -0
  324. package/query/functions/create-query-cache-hash.js +70 -0
  325. package/query/functions/create-query-cache-hash.js.map +1 -0
  326. package/query/functions/create-query.d.ts +8 -3
  327. package/query/functions/create-query.js +12 -9
  328. package/query/functions/create-query.js.map +1 -1
  329. package/query/functions/describe-query-filter.js +3 -2
  330. package/query/functions/describe-query-filter.js.map +1 -1
  331. package/query/functions/execute-query.js +89 -9
  332. package/query/functions/execute-query.js.map +1 -1
  333. package/query/functions/expand-select-with-external-dependencies.d.ts +9 -0
  334. package/query/functions/expand-select-with-external-dependencies.js +34 -0
  335. package/query/functions/expand-select-with-external-dependencies.js.map +1 -0
  336. package/query/functions/external-column-owner-path.d.ts +5 -0
  337. package/query/functions/external-column-owner-path.js +18 -0
  338. package/query/functions/external-column-owner-path.js.map +1 -0
  339. package/query/functions/get-entity-object-class.d.ts +2 -0
  340. package/query/functions/get-entity-object-class.js +12 -0
  341. package/query/functions/get-entity-object-class.js.map +1 -0
  342. package/query/functions/get-native-select.js +3 -0
  343. package/query/functions/get-native-select.js.map +1 -1
  344. package/query/functions/load-properties.d.ts +20 -2
  345. package/query/functions/load-properties.js +190 -40
  346. package/query/functions/load-properties.js.map +1 -1
  347. package/query/functions/map-query-property-to-column-name.js +1 -1
  348. package/query/functions/map-query-property-to-column-name.js.map +1 -1
  349. package/query/functions/query-structure-cache.d.ts +24 -0
  350. package/query/functions/query-structure-cache.js +66 -0
  351. package/query/functions/query-structure-cache.js.map +1 -0
  352. package/query/interfaces/query.d.ts +44 -1
  353. package/query/services/query-action-builder.d.ts +4 -1
  354. package/query/services/query-action-builder.js +26 -12
  355. package/query/services/query-action-builder.js.map +1 -1
  356. package/remote-logs/dtos/index.d.ts +2 -0
  357. package/remote-logs/dtos/index.js +19 -0
  358. package/remote-logs/dtos/index.js.map +1 -0
  359. package/remote-logs/dtos/remote-log-hooks.dto.d.ts +72 -0
  360. package/remote-logs/dtos/remote-log-hooks.dto.js +280 -0
  361. package/remote-logs/dtos/remote-log-hooks.dto.js.map +1 -0
  362. package/remote-logs/dtos/remote-log-search.dto.d.ts +34 -0
  363. package/remote-logs/dtos/remote-log-search.dto.js +146 -0
  364. package/remote-logs/dtos/remote-log-search.dto.js.map +1 -0
  365. package/remote-logs/environment.d.ts +4 -0
  366. package/remote-logs/environment.js +5 -0
  367. package/remote-logs/environment.js.map +1 -0
  368. package/remote-logs/index.d.ts +3 -0
  369. package/remote-logs/index.js +20 -0
  370. package/remote-logs/index.js.map +1 -0
  371. package/remote-logs/interfaces/index.d.ts +1 -0
  372. package/remote-logs/interfaces/index.js +18 -0
  373. package/remote-logs/interfaces/index.js.map +1 -0
  374. package/remote-logs/interfaces/remote-logs-module-options.d.ts +8 -0
  375. package/remote-logs/interfaces/remote-logs-module-options.js +3 -0
  376. package/remote-logs/interfaces/remote-logs-module-options.js.map +1 -0
  377. package/remote-logs/remote-logs-hooks.controller.d.ts +60 -0
  378. package/remote-logs/remote-logs-hooks.controller.js +331 -0
  379. package/remote-logs/remote-logs-hooks.controller.js.map +1 -0
  380. package/remote-logs/remote-logs.controller.d.ts +8 -0
  381. package/remote-logs/remote-logs.controller.js +41 -0
  382. package/remote-logs/remote-logs.controller.js.map +1 -0
  383. package/remote-logs/remote-logs.module.d.ts +12 -0
  384. package/remote-logs/remote-logs.module.js +107 -0
  385. package/remote-logs/remote-logs.module.js.map +1 -0
  386. package/remote-logs/services/opensearch.service.d.ts +13 -0
  387. package/remote-logs/services/opensearch.service.js +167 -0
  388. package/remote-logs/services/opensearch.service.js.map +1 -0
  389. package/security/auth.controller.js +4 -4
  390. package/security/auth.controller.js.map +1 -1
  391. package/security/env.js.map +1 -1
  392. package/security/functions/add-protected.d.ts +2 -2
  393. package/security/functions/add-protected.js +8 -5
  394. package/security/functions/add-protected.js.map +1 -1
  395. package/security/functions/create-authentication-interceptor.d.ts +44 -0
  396. package/security/functions/create-authentication-interceptor.js +114 -0
  397. package/security/functions/create-authentication-interceptor.js.map +1 -0
  398. package/security/functions/find-auth-context.d.ts +1 -2
  399. package/security/functions/find-auth-context.js +6 -11
  400. package/security/functions/find-auth-context.js.map +1 -1
  401. package/security/index.d.ts +1 -0
  402. package/security/index.js +1 -0
  403. package/security/index.js.map +1 -1
  404. package/security/interfaces/authorization-schema.d.ts +3 -1
  405. package/security/requests/security.request.js +1 -1
  406. package/security/requests/security.request.js.map +1 -1
  407. package/security/services/authorization.service.d.ts +5 -3
  408. package/security/services/authorization.service.js +56 -37
  409. package/security/services/authorization.service.js.map +1 -1
  410. package/storage/services/routes.service.js +1 -1
  411. package/storage/services/routes.service.js.map +1 -1
  412. package/tasks/constants.d.ts +3 -0
  413. package/tasks/constants.js +2 -1
  414. package/tasks/constants.js.map +1 -1
  415. package/tasks/controllers/task.controller.d.ts +3 -2
  416. package/tasks/controllers/task.controller.js +11 -40
  417. package/tasks/controllers/task.controller.js.map +1 -1
  418. package/tasks/decorators/index.d.ts +1 -0
  419. package/tasks/decorators/index.js +1 -0
  420. package/tasks/decorators/index.js.map +1 -1
  421. package/tasks/decorators/task-payload.decorator.d.ts +1 -0
  422. package/tasks/decorators/task-payload.decorator.js +12 -0
  423. package/tasks/decorators/task-payload.decorator.js.map +1 -0
  424. package/tasks/decorators/task.decorator.js +6 -2
  425. package/tasks/decorators/task.decorator.js.map +1 -1
  426. package/tasks/functions/compile-all-task-post-hooks.d.ts +1 -0
  427. package/tasks/functions/compile-all-task-post-hooks.js +27 -0
  428. package/tasks/functions/compile-all-task-post-hooks.js.map +1 -0
  429. package/tasks/functions/compile-task-hook-handle.d.ts +6 -0
  430. package/tasks/functions/compile-task-hook-handle.js +67 -0
  431. package/tasks/functions/compile-task-hook-handle.js.map +1 -0
  432. package/tasks/functions/create-task-hook.d.ts +9 -0
  433. package/tasks/functions/create-task-hook.js +13 -0
  434. package/tasks/functions/create-task-hook.js.map +1 -0
  435. package/tasks/functions/{create-task-message-receptor.d.ts → create-task-message-post.d.ts} +1 -1
  436. package/tasks/functions/{create-task-message-receptor.js → create-task-message-post.js} +10 -3
  437. package/tasks/functions/create-task-message-post.js.map +1 -0
  438. package/tasks/functions/register-task-post-hook-interceptors.d.ts +3 -0
  439. package/tasks/functions/register-task-post-hook-interceptors.js +86 -0
  440. package/tasks/functions/register-task-post-hook-interceptors.js.map +1 -0
  441. package/tasks/functions/run-task-post-hooks.d.ts +11 -0
  442. package/tasks/functions/run-task-post-hooks.js +18 -0
  443. package/tasks/functions/run-task-post-hooks.js.map +1 -0
  444. package/tasks/functions/task-message-operations.d.ts +18 -0
  445. package/tasks/functions/task-message-operations.js +100 -0
  446. package/tasks/functions/task-message-operations.js.map +1 -0
  447. package/tasks/functions/validate-task-payload.d.ts +2 -0
  448. package/tasks/functions/validate-task-payload.js +19 -0
  449. package/tasks/functions/validate-task-payload.js.map +1 -0
  450. package/tasks/hook-constants.d.ts +2 -0
  451. package/tasks/hook-constants.js +6 -0
  452. package/tasks/hook-constants.js.map +1 -0
  453. package/tasks/index.d.ts +3 -0
  454. package/tasks/index.js +3 -0
  455. package/tasks/index.js.map +1 -1
  456. package/tasks/interfaces/compiled-task-post-hooks.d.ts +17 -0
  457. package/tasks/interfaces/compiled-task-post-hooks.js +3 -0
  458. package/tasks/interfaces/compiled-task-post-hooks.js.map +1 -0
  459. package/tasks/interfaces/index.d.ts +3 -0
  460. package/tasks/interfaces/index.js +3 -0
  461. package/tasks/interfaces/index.js.map +1 -1
  462. package/tasks/interfaces/task-hook.d.ts +16 -0
  463. package/tasks/interfaces/task-hook.js +8 -0
  464. package/tasks/interfaces/task-hook.js.map +1 -0
  465. package/tasks/interfaces/task-object.d.ts +6 -2
  466. package/tasks/interfaces/task-post-hook.d.ts +2 -0
  467. package/tasks/interfaces/task-post-hook.js +3 -0
  468. package/tasks/interfaces/task-post-hook.js.map +1 -0
  469. package/tasks/interfaces/task-post-intercept.d.ts +1 -8
  470. package/tasks/interfaces/task-runner.d.ts +2 -1
  471. package/tasks/interfaces/task-settings.d.ts +7 -0
  472. package/tasks/services/task-runner.service.d.ts +24 -3
  473. package/tasks/services/task-runner.service.js +68 -28
  474. package/tasks/services/task-runner.service.js.map +1 -1
  475. package/translations/controllers/translation.controller.js +12 -9
  476. package/translations/controllers/translation.controller.js.map +1 -1
  477. package/translations/functions/create-translation-values.js +2 -5
  478. package/translations/functions/create-translation-values.js.map +1 -1
  479. package/translations/migrations/1723760669185-CreateTranslationTables.js +3 -3
  480. package/translations/migrations/1723760669185-CreateTranslationTables.js.map +1 -1
  481. package/translations/queries/translation-config.query.d.ts +1 -1
  482. package/translations/queries/translation-values.query.d.ts +1 -1
  483. package/translations/queries/translation-values.query.js +1 -1
  484. package/translations/queries/translation-values.query.js.map +1 -1
  485. package/translations/translations.controller.d.ts +1 -1
  486. package/translations/translations.controller.js +4 -4
  487. package/translations/translations.controller.js.map +1 -1
  488. package/database/functions/generate-id.d.ts +0 -2
  489. package/database/functions/generate-id.js.map +0 -1
  490. package/database/functions/use-protector.d.ts +0 -2
  491. package/database/functions/use-protector.js +0 -11
  492. package/database/functions/use-protector.js.map +0 -1
  493. package/database/interfaces/protector.d.ts +0 -51
  494. package/database/interfaces/protector.js.map +0 -1
  495. package/database/services/protect-builder.d.ts +0 -59
  496. package/database/services/protect-builder.js +0 -524
  497. package/database/services/protect-builder.js.map +0 -1
  498. package/security/functions/add-protect.d.ts +0 -2
  499. package/security/functions/add-protect.js +0 -11
  500. package/security/functions/add-protect.js.map +0 -1
  501. package/tasks/functions/create-task-message-receptor.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"execute-query.js","sourceRoot":"./","sources":["query/functions/execute-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute-query.js","sourceRoot":"./","sources":["query/functions/execute-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Dictionary } from "@rockster/common";
2
+ import type { Logger } from "@rockster/logger";
3
+ import type { QueryProperty } from "../interfaces/query";
4
+ /**
5
+ * Adds DB query paths listed on external columns' `externalDependencyQueryPaths` when those paths are selected.
6
+ * Runs to a fixpoint so chained requirements are included. Used only for SQL/joins; keep the original
7
+ * `query.select` for `transform` so dependency fields are not exposed unless the client asked for them.
8
+ */
9
+ export declare function expandSelectWithExternalDependencies(properties: Dictionary<QueryProperty>, select: string[], logger?: Logger): string[];
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expandSelectWithExternalDependencies = expandSelectWithExternalDependencies;
4
+ /**
5
+ * Adds DB query paths listed on external columns' `externalDependencyQueryPaths` when those paths are selected.
6
+ * Runs to a fixpoint so chained requirements are included. Used only for SQL/joins; keep the original
7
+ * `query.select` for `transform` so dependency fields are not exposed unless the client asked for them.
8
+ */
9
+ function expandSelectWithExternalDependencies(properties, select, logger) {
10
+ const set = new Set(select);
11
+ let changed = true;
12
+ while (changed) {
13
+ changed = false;
14
+ for (const path of [...set]) {
15
+ const deps = properties[path]?.externalDependencyQueryPaths;
16
+ if (!deps?.length) {
17
+ continue;
18
+ }
19
+ for (const dep of deps) {
20
+ if (set.has(dep)) {
21
+ continue;
22
+ }
23
+ if (!properties[dep]) {
24
+ logger?.warn(`External column dependency "${dep}" (for selected "${path}") is not a registered query path`);
25
+ continue;
26
+ }
27
+ set.add(dep);
28
+ changed = true;
29
+ }
30
+ }
31
+ }
32
+ return [...set];
33
+ }
34
+ //# sourceMappingURL=expand-select-with-external-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expand-select-with-external-dependencies.js","sourceRoot":"./","sources":["query/functions/expand-select-with-external-dependencies.ts"],"names":[],"mappings":";;AASA,oFA8BC;AAnCD;;;;GAIG;AACH,SAAgB,oCAAoC,CACjD,UAAqC,EACrC,MAAgB,EAChB,MAAe;IAEf,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,EAAE,CAAC;QACd,OAAO,GAAG,KAAK,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,4BAA4B,CAAC;YAC5D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBACjB,SAAS;YACZ,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChB,SAAS;gBACZ,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,EAAE,IAAI,CACT,+BAA+B,GAAG,oBAAoB,IAAI,mCAAmC,CAC/F,CAAC;oBACF,SAAS;gBACZ,CAAC;gBACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;YAClB,CAAC;QACJ,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AACnB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Segments to walk from each root query row to the object that owns an external column.
3
+ * Empty when the owner is the root entity row (e.g. root-level `status`).
4
+ */
5
+ export declare function toExternalOwnerWalkSegments(ownerFullPath: string, rootAlias: string): string[];
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toExternalOwnerWalkSegments = toExternalOwnerWalkSegments;
4
+ /**
5
+ * Segments to walk from each root query row to the object that owns an external column.
6
+ * Empty when the owner is the root entity row (e.g. root-level `status`).
7
+ */
8
+ function toExternalOwnerWalkSegments(ownerFullPath, rootAlias) {
9
+ if (ownerFullPath === rootAlias) {
10
+ return [];
11
+ }
12
+ const prefix = `${rootAlias}.`;
13
+ if (ownerFullPath.startsWith(prefix)) {
14
+ return ownerFullPath.slice(prefix.length).split(".").filter(Boolean);
15
+ }
16
+ return ownerFullPath.split(".").filter(Boolean);
17
+ }
18
+ //# sourceMappingURL=external-column-owner-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-column-owner-path.js","sourceRoot":"./","sources":["query/functions/external-column-owner-path.ts"],"names":[],"mappings":";;AAIA,kEAYC;AAhBD;;;GAGG;AACH,SAAgB,2BAA2B,CACxC,aAAqB,EACrB,SAAiB;IAEjB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACb,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC;IAC/B,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Instantiable } from "@rockster/common";
2
+ export declare const getEntityObjectClass: (target: Instantiable) => Instantiable;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEntityObjectClass = void 0;
4
+ const object_type_1 = require("../../common/interfaces/enum/object-type");
5
+ const getEntityObjectClass = (target) => {
6
+ const object = core.storage.findObject(target);
7
+ return object?.type === object_type_1.ObjectType.entityDto
8
+ ? object.entity()
9
+ : object?.objectClass;
10
+ };
11
+ exports.getEntityObjectClass = getEntityObjectClass;
12
+ //# sourceMappingURL=get-entity-object-class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-entity-object-class.js","sourceRoot":"./","sources":["query/functions/get-entity-object-class.ts"],"names":[],"mappings":";;;AACA,0EAAsE;AAE/D,MAAM,oBAAoB,GAAG,CAAC,MAAoB,EAAE,EAAE;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,MAAM,EAAE,IAAI,KAAK,wBAAU,CAAC,SAAS;QACzC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;QACjB,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC;AAC5B,CAAC,CAAA;AALY,QAAA,oBAAoB,wBAKhC"}
@@ -7,6 +7,9 @@ const getNativeSelect = (target, select) => {
7
7
  const mapper = new Map();
8
8
  const arry = [];
9
9
  select.forEach(item => {
10
+ const queryProperty = queryObject.properties[item];
11
+ if (queryProperty?.isExternal)
12
+ return;
10
13
  const columnName = (0, map_query_property_to_column_name_1.mapQueryPropertyToColumnName)(queryObject, item);
11
14
  arry.pushIfNotExists(columnName);
12
15
  mapper.set(item, columnName);
@@ -1 +1 @@
1
- {"version":3,"file":"get-native-select.js","sourceRoot":"./","sources":["query/functions/get-native-select.ts"],"names":[],"mappings":";;;AAGA,2FAAmF;AAE5E,MAAM,eAAe,GAAG,CAC5B,MAAoB,EACpB,MAAgB,EACjB,EAAE;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAA6B,CAAC;IAChF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,IAAI,GAAG,EAAc,CAAC;IAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,MAAM,UAAU,GAAG,IAAA,gEAA4B,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;QAChC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACzC,CAAC,CAAA;AAbY,QAAA,eAAe,mBAa3B"}
1
+ {"version":3,"file":"get-native-select.js","sourceRoot":"./","sources":["query/functions/get-native-select.ts"],"names":[],"mappings":";;;AAGA,2FAAmF;AAE5E,MAAM,eAAe,GAAG,CAC5B,MAAoB,EACpB,MAAgB,EACjB,EAAE;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAA6B,CAAC;IAChF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,IAAI,GAAG,EAAc,CAAC;IAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,aAAa,EAAE,UAAU;YAAE,OAAO;QACtC,MAAM,UAAU,GAAG,IAAA,gEAA4B,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC,CAAA;AAfY,QAAA,eAAe,mBAe3B"}
@@ -1,6 +1,15 @@
1
1
  import { Dictionary, Instantiable } from "@rockster/common";
2
2
  import { Paths } from "../../database/interfaces/path";
3
3
  import { QueryPath, QueryProperty, QueryPropertyType, QueryRelationConfig } from "../interfaces/query";
4
+ /** When traversing an object/relation property marked @ExternalColumn, descendants inherit its resolver. */
5
+ export type ExternalSubtreeContext = {
6
+ resolver: Instantiable;
7
+ /** Full query path to the entity row that owns `columnKey`. */
8
+ ownerFullPath: string;
9
+ columnKey: string;
10
+ /** Full query paths for DB columns required alongside this external column (selectDependencies). */
11
+ dependencyQueryPaths: string[];
12
+ };
4
13
  export type LoadPropertiesArgs = {
5
14
  type: QueryPropertyType;
6
15
  target: Instantiable;
@@ -14,6 +23,15 @@ export type LoadPropertiesArgs = {
14
23
  secure?: boolean;
15
24
  initializedObjects?: string[];
16
25
  rootEntity: Instantiable;
17
- rootFullPath?: string;
26
+ rootOrRelationPath?: string;
27
+ isRelation?: boolean;
28
+ /** Root query alias (first path segment); used for external owner walk segments. */
29
+ rootAlias: string;
30
+ externalSubtree?: ExternalSubtreeContext;
31
+ /**
32
+ * SQL table aliases used by {@link joinOne}/{@link joinMany} across the whole query tree.
33
+ * Root initializes this (includes the root alias); duplicate join `alias` values throw.
34
+ */
35
+ usedJoinSqlAliases?: Set<string>;
18
36
  };
19
- export declare const loadProperties: ({ type, target, alias, entityAlias, properties, parent, paths, relation, fullPath, secure, initializedObjects, rootEntity, rootFullPath }: LoadPropertiesArgs) => void;
37
+ export declare const loadProperties: ({ type, target, alias, entityAlias, properties, parent, paths, relation, fullPath, secure, initializedObjects, rootEntity, rootOrRelationPath, rootAlias, externalSubtree, usedJoinSqlAliases: usedJoinSqlAliasesArg }: LoadPropertiesArgs) => void;
@@ -4,44 +4,147 @@ exports.loadProperties = void 0;
4
4
  const class_pipe_1 = require("@rockster/class-pipe");
5
5
  const object_type_1 = require("../../common/interfaces/enum/object-type");
6
6
  const get_id_property_1 = require("../../database/functions/get-id-property");
7
- const loadProperties = ({ type, target, alias, entityAlias, properties, parent, paths, relation, fullPath = '', secure, initializedObjects = [], rootEntity, rootFullPath }) => {
8
- // fullPath agora representa o caminho global (root até aqui)
7
+ const get_entity_object_class_1 = require("./get-entity-object-class");
8
+ const external_column_owner_path_1 = require("./external-column-owner-path");
9
+ /**
10
+ * Multiple FK columns can reference the same entity (e.g. {@code routerAId} and {@code routerBId} → InfraClientRouter).
11
+ * Picking the first matching {@code @Relation} makes every join use the same column (wrong hydration / duplicate data).
12
+ * Prefer the path key from {@link joinOne} paths ({@code routerA}, {@code routerB}) via Rockster {@link IEntityProperty.directAlias}
13
+ * or common {@code pathProperty + "Id"} naming.
14
+ */
15
+ function resolveJoinLinkProperty(path, pathProperty, targetObjectClass, pathObjectClass) {
16
+ const explicitKey = path.linkProperty;
17
+ if (explicitKey) {
18
+ if (path.type === "indirect") {
19
+ const match = core.storage
20
+ .getProperties(pathObjectClass)
21
+ .find((p) => p.isRelation &&
22
+ p.getRelationType() === targetObjectClass &&
23
+ (p.propertyKey === explicitKey || p.columnName === explicitKey));
24
+ if (match) {
25
+ return match;
26
+ }
27
+ }
28
+ else {
29
+ const match = core.storage
30
+ .getProperties(targetObjectClass)
31
+ .find((p) => p.isRelation &&
32
+ p.getRelationType() === pathObjectClass &&
33
+ (p.propertyKey === explicitKey || p.columnName === explicitKey));
34
+ if (match) {
35
+ return match;
36
+ }
37
+ }
38
+ }
39
+ if (path.type === "indirect") {
40
+ const candidates = core.storage
41
+ .getProperties(pathObjectClass)
42
+ .filter((p) => p.isRelation && p.getRelationType() === targetObjectClass);
43
+ return disambiguateRelationCandidates(candidates, pathProperty);
44
+ }
45
+ const candidates = core.storage
46
+ .getProperties(targetObjectClass)
47
+ .filter((p) => p.isRelation && p.getRelationType() === pathObjectClass);
48
+ return disambiguateRelationCandidates(candidates, pathProperty);
49
+ }
50
+ function disambiguateRelationCandidates(candidates, pathProperty) {
51
+ if (candidates.length === 0) {
52
+ return undefined;
53
+ }
54
+ if (candidates.length === 1) {
55
+ return candidates[0];
56
+ }
57
+ const byDirectAlias = candidates.find((p) => p.directAlias === pathProperty);
58
+ if (byDirectAlias) {
59
+ return byDirectAlias;
60
+ }
61
+ const byFk = candidates.find((p) => p.propertyKey === `${pathProperty}Id`);
62
+ if (byFk) {
63
+ return byFk;
64
+ }
65
+ const byName = candidates.find((p) => p.propertyKey === pathProperty);
66
+ if (byName) {
67
+ return byName;
68
+ }
69
+ throw new Error(`Ambiguous relation for path key "${pathProperty}" among: ${candidates
70
+ .map((c) => c.propertyKey)
71
+ .join(", ")}. ` + `Set linkProperty on joinOne or align path keys with @Relation FK names / directAlias.`);
72
+ }
73
+ function resolveExternalColumnClass(ep, entityLabel, propertyKey) {
74
+ const Resolver = ep.getExternalResolver?.();
75
+ if (!Resolver) {
76
+ throw new Error(`External column "${propertyKey}" on ${entityLabel} must use ExternalColumn(() => ResolverClass); the callback returned nothing`);
77
+ }
78
+ return Resolver;
79
+ }
80
+ const loadProperties = ({ type, target, alias, entityAlias, properties, parent, paths, relation, fullPath = '', secure, initializedObjects = [], rootEntity, rootOrRelationPath, rootAlias, externalSubtree, usedJoinSqlAliases: usedJoinSqlAliasesArg }) => {
81
+ const usedJoinSqlAliases = usedJoinSqlAliasesArg ??
82
+ (type === "root"
83
+ ? new Set([entityAlias ?? alias])
84
+ : (() => {
85
+ throw new Error("loadProperties: join alias registry missing; this is an internal error");
86
+ })());
9
87
  const currentPath = fullPath ? `${fullPath}.${alias}` : alias;
10
- ;
11
88
  const initializedObjectKey = `${currentPath}:${target.name}`;
89
+ const targetObjectClass = (0, get_entity_object_class_1.getEntityObjectClass)(target);
90
+ const entityOwnerLabel = targetObjectClass?.name
91
+ ?? (typeof target?.name === 'string'
92
+ ? target.name
93
+ : 'Entity');
12
94
  if (initializedObjects.includes(initializedObjectKey))
13
95
  return;
14
96
  initializedObjects.push(initializedObjectKey);
15
- const targetProperties = (0, class_pipe_1.getExposeProperties)(target);
16
- targetProperties
17
- .filter((property) => {
97
+ const targetProperties = (0, class_pipe_1.getExposeProperties)(target).filter((property) => {
18
98
  if (property.subtype) {
19
99
  const object = core.storage.findObject(property.subtype);
20
- const isEntity = object?.type === object_type_1.ObjectType.entity;
100
+ const isEntity = object?.type === object_type_1.ObjectType.entity || object?.type === object_type_1.ObjectType.entityDto;
21
101
  return !isEntity;
22
102
  }
23
103
  return true;
24
- })
25
- .forEach((targetProperty) => {
104
+ });
105
+ for (const targetProperty of targetProperties) {
26
106
  const propertyKey = targetProperty.propertyKey;
27
107
  const globalPath = `${currentPath}.${propertyKey}`;
28
108
  let columnName;
29
- const entityProperty = core
30
- .storage
31
- .getProperties(targetProperty.objectClass)
32
- .find((p) => p.propertyKey === propertyKey);
109
+ const entityProperty = targetObjectClass
110
+ ? core
111
+ .storage
112
+ .getProperties(targetObjectClass)
113
+ .find((property) => {
114
+ return property.propertyKey === propertyKey;
115
+ })
116
+ : undefined;
33
117
  if (entityProperty) {
34
118
  columnName = entityProperty.columnName;
35
119
  }
36
- if (type === 'root' && !entityProperty) {
37
- return;
38
- }
39
- if ((targetProperty.type === class_pipe_1.PropertyType.object && targetProperty.subtype)
40
- || targetProperty.ifChecks?.length > 0) {
41
- const hasIfChecks = targetProperty.ifChecks?.length > 0;
42
- const objectTypes = hasIfChecks
120
+ if (type === 'root' && !entityProperty)
121
+ continue;
122
+ const subtype = targetProperty.type === class_pipe_1.PropertyType.object && targetProperty.subtype;
123
+ const multitype = targetProperty.ifChecks?.length > 0;
124
+ const hasIfChecks = targetProperty.ifChecks?.length > 0;
125
+ const objectTypes = subtype || multitype
126
+ ? hasIfChecks
43
127
  ? targetProperty.ifChecks.map((ifCheck) => ifCheck.type)
44
- : [targetProperty.subtype];
128
+ : [targetProperty.subtype].filter(Boolean)
129
+ : [];
130
+ /**
131
+ * @IsIn(enum) can surface as `object` + enum subtype; that is not an @Entity graph.
132
+ * External columns like that must register a single leaf, not recurse into the enum.
133
+ * Real external objects (Person entity, etc.) still recurse when subtype resolves in storage.
134
+ */
135
+ const shouldRecurseEmbedded = (subtype || multitype) &&
136
+ (!entityProperty?.isExternal ||
137
+ objectTypes.some((ot) => !!(0, get_entity_object_class_1.getEntityObjectClass)(ot)));
138
+ if (shouldRecurseEmbedded) {
139
+ const anchorDepPaths = (entityProperty?.externalSelectDependencies ?? []).map((d) => `${currentPath}.${d}`);
140
+ const nextSubtree = entityProperty?.isExternal
141
+ ? {
142
+ resolver: resolveExternalColumnClass(entityProperty, entityOwnerLabel, propertyKey),
143
+ ownerFullPath: currentPath,
144
+ columnKey: propertyKey,
145
+ dependencyQueryPaths: anchorDepPaths,
146
+ }
147
+ : externalSubtree;
45
148
  objectTypes.forEach((objectType) => {
46
149
  (0, exports.loadProperties)({
47
150
  type: 'embedded',
@@ -52,20 +155,45 @@ const loadProperties = ({ type, target, alias, entityAlias, properties, parent,
52
155
  initializedObjects,
53
156
  entityAlias: entityAlias,
54
157
  rootEntity,
55
- rootFullPath: type === "embedded"
56
- ? rootFullPath
57
- : `${currentPath}.${targetProperty.propertyKey}`,
158
+ rootAlias,
159
+ usedJoinSqlAliases,
160
+ externalSubtree: nextSubtree,
58
161
  parent: {
59
162
  alias,
60
163
  target,
61
164
  type,
62
165
  parent,
63
166
  entityAlias
64
- }
167
+ },
168
+ rootOrRelationPath: type === "embedded"
169
+ ? rootOrRelationPath
170
+ : `${entityAlias}.${targetProperty.propertyKey}`
65
171
  });
66
172
  });
67
173
  }
68
174
  else {
175
+ const directExternal = !!entityProperty?.isExternal;
176
+ const inheritedExternal = !!externalSubtree;
177
+ const isExternal = directExternal || inheritedExternal;
178
+ const resolver = directExternal && entityProperty
179
+ ? resolveExternalColumnClass(entityProperty, entityOwnerLabel, propertyKey)
180
+ : externalSubtree?.resolver;
181
+ const ownerFullPath = directExternal
182
+ ? currentPath
183
+ : externalSubtree?.ownerFullPath ?? currentPath;
184
+ const externalColumnKey = directExternal
185
+ ? propertyKey
186
+ : externalSubtree?.columnKey ?? propertyKey;
187
+ const externalDependencyQueryPaths = isExternal
188
+ ? [
189
+ ...new Set([
190
+ ...(externalSubtree?.dependencyQueryPaths ?? []),
191
+ ...(directExternal && entityProperty
192
+ ? (entityProperty.externalSelectDependencies ?? []).map((d) => `${currentPath}.${d}`)
193
+ : []),
194
+ ]),
195
+ ]
196
+ : undefined;
69
197
  properties[globalPath] = {
70
198
  path: {
71
199
  target,
@@ -75,54 +203,77 @@ const loadProperties = ({ type, target, alias, entityAlias, properties, parent,
75
203
  parent,
76
204
  secure,
77
205
  entityAlias,
78
- rootOrRelationFullPath: rootFullPath
206
+ rootOrRelationPath
79
207
  },
80
208
  isUUID: targetProperty.type === class_pipe_1.PropertyType.string
81
209
  && targetProperty.validatorsConfigs?.some((cfg) => cfg.type === 'isUUID') || false,
82
210
  columnName,
83
211
  isArray: !!targetProperty.isArray,
84
212
  isJson: type === 'embedded',
213
+ isExternal,
214
+ externalResolver: resolver,
215
+ externalOwnerWalkSegments: isExternal
216
+ ? (0, external_column_owner_path_1.toExternalOwnerWalkSegments)(ownerFullPath, rootAlias)
217
+ : undefined,
218
+ externalColumnKey: isExternal ? externalColumnKey : undefined,
219
+ externalDependencyQueryPaths,
85
220
  fullPath: globalPath,
86
221
  name: propertyKey,
87
222
  type: targetProperty.type
88
223
  };
89
224
  }
90
- });
225
+ }
91
226
  if (paths) {
92
227
  const idProperty = (0, get_id_property_1.getIdProperty)(target);
93
228
  const pathKeys = Object.keys(paths);
94
229
  for (const pathProperty of pathKeys) {
95
230
  const path = paths[pathProperty];
96
- const linkProperty = (path.type === 'indirect'
97
- ? core.storage.getProperties(path.target()).find((p) => p.isRelation && p.getRelationType() === target)
98
- : core.storage.getProperties(target).find((p) => p.isRelation && p.getRelationType() === path.target()));
231
+ const pathObjectClass = (0, get_entity_object_class_1.getEntityObjectClass)(path.target());
232
+ const linkProperty = resolveJoinLinkProperty(path, pathProperty, targetObjectClass, pathObjectClass);
99
233
  if (!linkProperty && !path.condition) {
100
- const line1 = `Unable to find linkProperty to ${path.alias}:${path.target()?.name} into query:${target.name}`;
234
+ const line1 = `Unable to find linkProperty to ${path.alias}:${pathObjectClass?.name} into query:${target.name}`;
101
235
  const line2 = `Use @Relation(() => <target>) to define`;
102
236
  throw new Error(`${line1}\n${line2}`);
103
237
  }
104
- const targetIdProperty = (0, get_id_property_1.getIdProperty)(path.target());
238
+ const joinSqlAlias = path.alias;
239
+ if (usedJoinSqlAliases.has(joinSqlAlias)) {
240
+ throw new Error(`Duplicate query join SQL alias "${joinSqlAlias}" (paths key "${pathProperty}" under "${currentPath}"). ` +
241
+ `Each joinOne/joinMany must use a globally unique alias in this query (e.g. routerDataCenter vs serverDataCenter).`);
242
+ }
243
+ usedJoinSqlAliases.add(joinSqlAlias);
244
+ const targetIdProperty = (0, get_id_property_1.getIdProperty)(pathObjectClass);
245
+ const joinEntityAlias = joinSqlAlias;
105
246
  const condition = path.condition ?? (() => {
106
- const linkName = path.linkProperty || linkProperty.columnName;
247
+ const linkName = linkProperty.columnName;
107
248
  return path.type === "direct"
108
- ? `"${entityAlias}"."${linkName}" = "${path.alias}"."${targetIdProperty.columnName}"`
109
- : `"${entityAlias}"."${idProperty.columnName}" = "${path.alias}"."${linkName}"`;
249
+ ? `"${entityAlias}"."${linkName}" = "${joinEntityAlias}"."${targetIdProperty.columnName}"`
250
+ : `"${entityAlias}"."${idProperty.columnName}" = "${joinEntityAlias}"."${linkName}"`;
110
251
  })();
111
252
  (0, exports.loadProperties)({
112
253
  alias: pathProperty,
113
- entityAlias: path.alias,
254
+ entityAlias: joinEntityAlias,
114
255
  properties,
115
256
  target: path.target(),
116
257
  type: "relation",
117
258
  paths: path.paths,
118
259
  secure: path.secure,
119
260
  rootEntity,
261
+ fullPath: currentPath,
262
+ initializedObjects,
263
+ rootAlias,
264
+ usedJoinSqlAliases,
265
+ externalSubtree,
120
266
  relation: {
121
267
  type: path.type,
122
- mapTo: `${alias}.${pathProperty}`,
268
+ /**
269
+ * TypeORM maps onto `parentJoinAlias.entityProperty`. The parent side must be this node's
270
+ * SQL join alias (`entityAlias`), not the path key (`alias`). Keys match for most joins, but
271
+ * `joinOne({ alias: "dcRouterA", ... })` under path `routerA` must map as `dcRouterA.server`,
272
+ * not `routerA.server` (there is no query alias `routerA`).
273
+ */
274
+ mapTo: `${entityAlias}.${pathProperty}`,
123
275
  condition,
124
276
  },
125
- fullPath: currentPath,
126
277
  parent: {
127
278
  alias,
128
279
  target,
@@ -130,8 +281,7 @@ const loadProperties = ({ type, target, alias, entityAlias, properties, parent,
130
281
  relation,
131
282
  parent,
132
283
  entityAlias
133
- },
134
- initializedObjects
284
+ }
135
285
  });
136
286
  }
137
287
  }
@@ -1 +1 @@
1
- {"version":3,"file":"load-properties.js","sourceRoot":"./","sources":["query/functions/load-properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-properties.js","sourceRoot":"./","sources":["query/functions/load-properties.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const mapQueryPropertyToColumnName = (queryObject, item) => {
9
9
  case "root":
10
10
  return `${queryProperty.path.entityAlias}.${queryProperty.name}`;
11
11
  case "embedded":
12
- return queryProperty.path.rootOrRelationFullPath;
12
+ return queryProperty.path.rootOrRelationPath;
13
13
  default:
14
14
  throw new Error(`${item} not found on query`);
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"map-query-property-to-column-name.js","sourceRoot":"./","sources":["query/functions/map-query-property-to-column-name.ts"],"names":[],"mappings":";;;AAGO,MAAM,4BAA4B,GAAG,CAAC,WAAqC,EAAE,IAAY,EAAE,EAAE;IAEjG,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC;IAC/C,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAE5C,QAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM;YACR,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;QACpE,KAAK,UAAU;YACZ,OAAO,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC;QACpD;YACG,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAC;IACpD,CAAC;AACJ,CAAC,CAAA;AAdY,QAAA,4BAA4B,gCAcxC"}
1
+ {"version":3,"file":"map-query-property-to-column-name.js","sourceRoot":"./","sources":["query/functions/map-query-property-to-column-name.ts"],"names":[],"mappings":";;;AAGO,MAAM,4BAA4B,GAAG,CAAC,WAAqC,EAAE,IAAY,EAAE,EAAE;IAEjG,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC;IAC/C,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAE5C,QAAQ,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM;YACR,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;QACpE,KAAK,UAAU;YACZ,OAAO,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAChD;YACG,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAC;IACpD,CAAC;AACJ,CAAC,CAAA;AAdY,QAAA,4BAA4B,gCAcxC"}
@@ -0,0 +1,24 @@
1
+ import { QueryPath } from '../interfaces/query';
2
+ /**
3
+ * Returns cached native select (asArry, asMap) for the given structure hash, or undefined.
4
+ * Caller receives copies so cache entries are never mutated.
5
+ */
6
+ export declare function getCachedNativeSelect(structureHash: string): {
7
+ asArry: string[];
8
+ asMap: Map<string, string>;
9
+ } | undefined;
10
+ /**
11
+ * Stores native select result for the given structure hash.
12
+ * Evicts oldest entry when at MAX_ENTRIES (LRU).
13
+ */
14
+ export declare function setCachedNativeSelect(structureHash: string, asArry: string[], asMap: Map<string, string>): void;
15
+ /**
16
+ * Returns cached join plan (array of QueryPath) for the given join structure hash.
17
+ * Paths are applied to a fresh QB each request – we never cache the QB or EntityManager.
18
+ */
19
+ export declare function getCachedJoinPlan(joinStructureHash: string): QueryPath[] | undefined;
20
+ /**
21
+ * Stores join plan (order of paths to apply) for the given join structure hash.
22
+ * Evicts oldest entry when at MAX_ENTRIES (LRU).
23
+ */
24
+ export declare function setCachedJoinPlan(joinStructureHash: string, paths: QueryPath[]): void;