@rockster/core 0.0.4 → 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 (309) hide show
  1. package/access/access.module.js +3 -7
  2. package/access/access.module.js.map +1 -1
  3. package/access/constants.d.ts +2 -0
  4. package/access/constants.js +6 -0
  5. package/access/constants.js.map +1 -0
  6. package/access/controllers/controllers.d.ts +2 -1
  7. package/access/controllers/controllers.js +3 -1
  8. package/access/controllers/controllers.js.map +1 -1
  9. package/access/controllers/scope-access-profile.controller.d.ts +17 -0
  10. package/access/controllers/scope-access-profile.controller.js +111 -0
  11. package/access/controllers/scope-access-profile.controller.js.map +1 -0
  12. package/access/controllers/scope-group-user.controller.d.ts +11 -4
  13. package/access/controllers/scope-group-user.controller.js +57 -9
  14. package/access/controllers/scope-group-user.controller.js.map +1 -1
  15. package/access/controllers/scope-group.controller.d.ts +8 -5
  16. package/access/controllers/scope-group.controller.js +66 -12
  17. package/access/controllers/scope-group.controller.js.map +1 -1
  18. package/access/controllers/scope-owner.controller.d.ts +3 -2
  19. package/access/controllers/scope-owner.controller.js +18 -4
  20. package/access/controllers/scope-owner.controller.js.map +1 -1
  21. package/access/controllers/scope-user.controller.d.ts +2 -2
  22. package/access/controllers/scope-user.controller.js +19 -5
  23. package/access/controllers/scope-user.controller.js.map +1 -1
  24. package/access/decorators/context-params.decorator.d.ts +2 -0
  25. package/access/decorators/context-params.decorator.js +13 -0
  26. package/access/decorators/context-params.decorator.js.map +1 -0
  27. package/access/decorators/index.d.ts +2 -0
  28. package/access/decorators/index.js +19 -0
  29. package/access/decorators/index.js.map +1 -0
  30. package/access/decorators/scope-context-id-resolver.decorator.d.ts +10 -0
  31. package/access/decorators/scope-context-id-resolver.decorator.js +22 -0
  32. package/access/decorators/scope-context-id-resolver.decorator.js.map +1 -0
  33. package/access/entities/entities.d.ts +3 -1
  34. package/access/entities/entities.js +4 -0
  35. package/access/entities/entities.js.map +1 -1
  36. package/access/entities/index.d.ts +2 -0
  37. package/access/entities/index.js +2 -0
  38. package/access/entities/index.js.map +1 -1
  39. package/access/entities/scope-access-profile-key.d.ts +6 -0
  40. package/access/entities/scope-access-profile-key.js +40 -0
  41. package/access/entities/scope-access-profile-key.js.map +1 -0
  42. package/access/entities/scope-access-profile.d.ts +6 -0
  43. package/access/entities/scope-access-profile.js +37 -0
  44. package/access/entities/scope-access-profile.js.map +1 -0
  45. package/access/entities/scope-group.d.ts +3 -0
  46. package/access/entities/scope-group.js +16 -0
  47. package/access/entities/scope-group.js.map +1 -1
  48. package/access/functions/assert-context-admin-access.d.ts +15 -0
  49. package/access/functions/assert-context-admin-access.js +62 -0
  50. package/access/functions/assert-context-admin-access.js.map +1 -0
  51. package/access/functions/assert-master-or-owner.d.ts +9 -0
  52. package/access/functions/assert-master-or-owner.js +40 -0
  53. package/access/functions/assert-master-or-owner.js.map +1 -0
  54. package/access/functions/assert-scope-action-access.d.ts +32 -0
  55. package/access/functions/assert-scope-action-access.js +189 -0
  56. package/access/functions/assert-scope-action-access.js.map +1 -0
  57. package/access/functions/build-scope-resolver-initial-data.d.ts +4 -0
  58. package/access/functions/build-scope-resolver-initial-data.js +17 -0
  59. package/access/functions/build-scope-resolver-initial-data.js.map +1 -0
  60. package/access/functions/describe-action-scope.d.ts +9 -0
  61. package/access/functions/describe-action-scope.js +27 -0
  62. package/access/functions/describe-action-scope.js.map +1 -0
  63. package/access/functions/index.d.ts +5 -0
  64. package/access/functions/index.js +5 -0
  65. package/access/functions/index.js.map +1 -1
  66. package/access/functions/init-scope-service-executors.d.ts +3 -0
  67. package/access/functions/init-scope-service-executors.js +38 -0
  68. package/access/functions/init-scope-service-executors.js.map +1 -0
  69. package/access/functions/normalize-scope-keys.d.ts +4 -0
  70. package/access/functions/normalize-scope-keys.js +17 -0
  71. package/access/functions/normalize-scope-keys.js.map +1 -0
  72. package/access/functions/register-scope.d.ts +16 -5
  73. package/access/functions/register-scope.js +57 -45
  74. package/access/functions/register-scope.js.map +1 -1
  75. package/access/functions/resolve-scope-context-id.d.ts +9 -0
  76. package/access/functions/resolve-scope-context-id.js +71 -0
  77. package/access/functions/resolve-scope-context-id.js.map +1 -0
  78. package/access/functions/warn-if-public.d.ts +12 -0
  79. package/access/functions/warn-if-public.js +20 -0
  80. package/access/functions/warn-if-public.js.map +1 -0
  81. package/access/index.d.ts +2 -0
  82. package/access/index.js +2 -0
  83. package/access/index.js.map +1 -1
  84. package/access/interfaces/index.d.ts +1 -0
  85. package/access/interfaces/index.js +1 -0
  86. package/access/interfaces/index.js.map +1 -1
  87. package/access/interfaces/resolve-scope-context-id.d.ts +21 -0
  88. package/access/interfaces/resolve-scope-context-id.js +3 -0
  89. package/access/interfaces/resolve-scope-context-id.js.map +1 -0
  90. package/access/interfaces/scope-service-registry.d.ts +16 -1
  91. package/access/interfaces/scope-service.d.ts +6 -7
  92. package/access/models/scope-access-profile-keys-update.d.ts +5 -0
  93. package/access/models/scope-access-profile-keys-update.js +27 -0
  94. package/access/models/scope-access-profile-keys-update.js.map +1 -0
  95. package/access/models/scope-group-apply-access-profile.d.ts +6 -0
  96. package/access/models/scope-group-apply-access-profile.js +32 -0
  97. package/access/models/scope-group-apply-access-profile.js.map +1 -0
  98. package/access/models/scope-user-mapped.d.ts +1 -0
  99. package/access/models/scope-user-mapped.js +6 -0
  100. package/access/models/scope-user-mapped.js.map +1 -1
  101. package/access/models/scope-user.js +4 -2
  102. package/access/models/scope-user.js.map +1 -1
  103. package/access/queries/scope-access-profile.query.d.ts +1 -0
  104. package/access/queries/scope-access-profile.query.js +10 -0
  105. package/access/queries/scope-access-profile.query.js.map +1 -0
  106. package/access/queries/scope-group.query.js +9 -2
  107. package/access/queries/scope-group.query.js.map +1 -1
  108. package/access/services/index.d.ts +1 -0
  109. package/access/services/index.js +1 -0
  110. package/access/services/index.js.map +1 -1
  111. package/access/services/scope-access-profile.service.d.ts +13 -0
  112. package/access/services/scope-access-profile.service.js +75 -0
  113. package/access/services/scope-access-profile.service.js.map +1 -0
  114. package/access/services/scope-access.service.js +4 -2
  115. package/access/services/scope-access.service.js.map +1 -1
  116. package/access/services/scope-group-user.service.js +2 -2
  117. package/access/services/scope-group-user.service.js.map +1 -1
  118. package/access/services/scope-group.service.d.ts +10 -0
  119. package/access/services/scope-group.service.js +38 -1
  120. package/access/services/scope-group.service.js.map +1 -1
  121. package/access/services/scope-owner.service.d.ts +3 -0
  122. package/access/services/scope-owner.service.js +26 -1
  123. package/access/services/scope-owner.service.js.map +1 -1
  124. package/command/services/post-action-builder.js +19 -17
  125. package/command/services/post-action-builder.js.map +1 -1
  126. package/command/services/remove-action-builder.js +30 -22
  127. package/command/services/remove-action-builder.js.map +1 -1
  128. package/controllers/interfaces/controller-property.d.ts +7 -1
  129. package/controllers/services/default-action-builder.js +12 -30
  130. package/controllers/services/default-action-builder.js.map +1 -1
  131. package/controllers/services/restful-action-builder.js +25 -1
  132. package/controllers/services/restful-action-builder.js.map +1 -1
  133. package/core/contexts/request-context.d.ts +5 -0
  134. package/core/contexts/request-context.js +6 -0
  135. package/core/contexts/request-context.js.map +1 -0
  136. package/core/core.controller.js +6 -1
  137. package/core/core.controller.js.map +1 -1
  138. package/core/interfaces/action-docs.d.ts +15 -0
  139. package/core/interfaces/request-context.d.ts +5 -0
  140. package/core/services/request-router.js +2 -1
  141. package/core/services/request-router.js.map +1 -1
  142. package/database/database.controller.d.ts +1 -3
  143. package/database/database.controller.js +1 -5
  144. package/database/database.controller.js.map +1 -1
  145. package/database/decorators/protect-entity.decorator.d.ts +1 -0
  146. package/database/decorators/protect-entity.decorator.js +2 -3
  147. package/database/decorators/protect-entity.decorator.js.map +1 -1
  148. package/database/decorators/protected-entity.decorator.d.ts +1 -0
  149. package/database/decorators/protected-entity.decorator.js +2 -16
  150. package/database/decorators/protected-entity.decorator.js.map +1 -1
  151. package/database/functions/inject-repository-handle.js +4 -3
  152. package/database/functions/inject-repository-handle.js.map +1 -1
  153. package/database/interfaces/entity-object.d.ts +0 -6
  154. package/database/interfaces/index.d.ts +0 -1
  155. package/database/interfaces/index.js +0 -1
  156. package/database/interfaces/index.js.map +1 -1
  157. package/database/interfaces/repository.d.ts +8 -8
  158. package/docs/docs.module.js +3 -1
  159. package/docs/docs.module.js.map +1 -1
  160. package/docs/migrations/1747584000000-CreateDocsTables.d.ts +5 -0
  161. package/docs/migrations/1747584000000-CreateDocsTables.js +90 -0
  162. package/docs/migrations/1747584000000-CreateDocsTables.js.map +1 -0
  163. package/docs/migrations/migrations.d.ts +2 -0
  164. package/docs/migrations/migrations.js +8 -0
  165. package/docs/migrations/migrations.js.map +1 -0
  166. package/global.d.ts +2 -0
  167. package/global.js +1 -0
  168. package/global.js.map +1 -1
  169. package/index.d.ts +2 -1
  170. package/index.js +2 -1
  171. package/index.js.map +1 -1
  172. package/jobs/jobs.controller.d.ts +2 -0
  173. package/jobs/jobs.controller.js +20 -16
  174. package/jobs/jobs.controller.js.map +1 -1
  175. package/package.json +70 -70
  176. package/query/functions/add-join.js +2 -13
  177. package/query/functions/add-join.js.map +1 -1
  178. package/query/functions/create-query-builder.js +0 -10
  179. package/query/functions/create-query-builder.js.map +1 -1
  180. package/query/functions/execute-query.js +34 -0
  181. package/query/functions/execute-query.js.map +1 -1
  182. package/query/functions/load-properties.js +73 -5
  183. package/query/functions/load-properties.js.map +1 -1
  184. package/query/services/query-action-builder.js +12 -18
  185. package/query/services/query-action-builder.js.map +1 -1
  186. package/remote-logs/dtos/index.d.ts +2 -0
  187. package/remote-logs/dtos/index.js +19 -0
  188. package/remote-logs/dtos/index.js.map +1 -0
  189. package/remote-logs/dtos/remote-log-hooks.dto.d.ts +72 -0
  190. package/remote-logs/dtos/remote-log-hooks.dto.js +280 -0
  191. package/remote-logs/dtos/remote-log-hooks.dto.js.map +1 -0
  192. package/remote-logs/dtos/remote-log-search.dto.d.ts +34 -0
  193. package/remote-logs/dtos/remote-log-search.dto.js +146 -0
  194. package/remote-logs/dtos/remote-log-search.dto.js.map +1 -0
  195. package/remote-logs/environment.d.ts +4 -0
  196. package/remote-logs/environment.js +5 -0
  197. package/remote-logs/environment.js.map +1 -0
  198. package/remote-logs/index.d.ts +3 -0
  199. package/remote-logs/index.js +20 -0
  200. package/remote-logs/index.js.map +1 -0
  201. package/remote-logs/interfaces/index.d.ts +1 -0
  202. package/remote-logs/interfaces/index.js +18 -0
  203. package/remote-logs/interfaces/index.js.map +1 -0
  204. package/remote-logs/interfaces/remote-logs-module-options.d.ts +8 -0
  205. package/remote-logs/interfaces/remote-logs-module-options.js +3 -0
  206. package/remote-logs/interfaces/remote-logs-module-options.js.map +1 -0
  207. package/remote-logs/remote-logs-hooks.controller.d.ts +60 -0
  208. package/remote-logs/remote-logs-hooks.controller.js +331 -0
  209. package/remote-logs/remote-logs-hooks.controller.js.map +1 -0
  210. package/remote-logs/remote-logs.controller.d.ts +8 -0
  211. package/remote-logs/remote-logs.controller.js +41 -0
  212. package/remote-logs/remote-logs.controller.js.map +1 -0
  213. package/remote-logs/remote-logs.module.d.ts +12 -0
  214. package/remote-logs/remote-logs.module.js +107 -0
  215. package/remote-logs/remote-logs.module.js.map +1 -0
  216. package/remote-logs/services/opensearch.service.d.ts +13 -0
  217. package/remote-logs/services/opensearch.service.js +167 -0
  218. package/remote-logs/services/opensearch.service.js.map +1 -0
  219. package/security/auth.controller.js +4 -4
  220. package/security/auth.controller.js.map +1 -1
  221. package/security/functions/add-protected.d.ts +2 -2
  222. package/security/functions/add-protected.js +8 -5
  223. package/security/functions/add-protected.js.map +1 -1
  224. package/security/functions/create-authentication-interceptor.d.ts +44 -0
  225. package/security/functions/create-authentication-interceptor.js +114 -0
  226. package/security/functions/create-authentication-interceptor.js.map +1 -0
  227. package/security/functions/find-auth-context.d.ts +1 -2
  228. package/security/functions/find-auth-context.js +6 -11
  229. package/security/functions/find-auth-context.js.map +1 -1
  230. package/security/index.d.ts +1 -0
  231. package/security/index.js +1 -0
  232. package/security/index.js.map +1 -1
  233. package/security/interfaces/authorization-schema.d.ts +3 -1
  234. package/security/services/authorization.service.d.ts +5 -3
  235. package/security/services/authorization.service.js +56 -37
  236. package/security/services/authorization.service.js.map +1 -1
  237. package/storage/services/routes.service.js +1 -1
  238. package/storage/services/routes.service.js.map +1 -1
  239. package/tasks/constants.d.ts +3 -0
  240. package/tasks/constants.js +2 -1
  241. package/tasks/constants.js.map +1 -1
  242. package/tasks/controllers/task.controller.d.ts +3 -2
  243. package/tasks/controllers/task.controller.js +11 -40
  244. package/tasks/controllers/task.controller.js.map +1 -1
  245. package/tasks/decorators/index.d.ts +1 -0
  246. package/tasks/decorators/index.js +1 -0
  247. package/tasks/decorators/index.js.map +1 -1
  248. package/tasks/decorators/task-payload.decorator.d.ts +1 -0
  249. package/tasks/decorators/task-payload.decorator.js +12 -0
  250. package/tasks/decorators/task-payload.decorator.js.map +1 -0
  251. package/tasks/decorators/task.decorator.js +3 -0
  252. package/tasks/decorators/task.decorator.js.map +1 -1
  253. package/tasks/functions/compile-all-task-post-hooks.d.ts +1 -0
  254. package/tasks/functions/compile-all-task-post-hooks.js +27 -0
  255. package/tasks/functions/compile-all-task-post-hooks.js.map +1 -0
  256. package/tasks/functions/compile-task-hook-handle.d.ts +6 -0
  257. package/tasks/functions/compile-task-hook-handle.js +67 -0
  258. package/tasks/functions/compile-task-hook-handle.js.map +1 -0
  259. package/tasks/functions/create-task-hook.d.ts +9 -0
  260. package/tasks/functions/create-task-hook.js +13 -0
  261. package/tasks/functions/create-task-hook.js.map +1 -0
  262. package/tasks/functions/create-task-message-post.js +2 -0
  263. package/tasks/functions/create-task-message-post.js.map +1 -1
  264. package/tasks/functions/register-task-post-hook-interceptors.d.ts +3 -0
  265. package/tasks/functions/register-task-post-hook-interceptors.js +86 -0
  266. package/tasks/functions/register-task-post-hook-interceptors.js.map +1 -0
  267. package/tasks/functions/run-task-post-hooks.d.ts +11 -0
  268. package/tasks/functions/run-task-post-hooks.js +18 -0
  269. package/tasks/functions/run-task-post-hooks.js.map +1 -0
  270. package/tasks/functions/task-message-operations.d.ts +18 -0
  271. package/tasks/functions/task-message-operations.js +100 -0
  272. package/tasks/functions/task-message-operations.js.map +1 -0
  273. package/tasks/functions/validate-task-payload.d.ts +2 -0
  274. package/tasks/functions/validate-task-payload.js +19 -0
  275. package/tasks/functions/validate-task-payload.js.map +1 -0
  276. package/tasks/hook-constants.d.ts +2 -0
  277. package/tasks/hook-constants.js +6 -0
  278. package/tasks/hook-constants.js.map +1 -0
  279. package/tasks/index.d.ts +3 -0
  280. package/tasks/index.js +3 -0
  281. package/tasks/index.js.map +1 -1
  282. package/tasks/interfaces/compiled-task-post-hooks.d.ts +17 -0
  283. package/tasks/interfaces/compiled-task-post-hooks.js +3 -0
  284. package/tasks/interfaces/compiled-task-post-hooks.js.map +1 -0
  285. package/tasks/interfaces/index.d.ts +3 -0
  286. package/tasks/interfaces/index.js +3 -0
  287. package/tasks/interfaces/index.js.map +1 -1
  288. package/tasks/interfaces/task-hook.d.ts +16 -0
  289. package/tasks/interfaces/task-hook.js +8 -0
  290. package/tasks/interfaces/task-hook.js.map +1 -0
  291. package/tasks/interfaces/task-object.d.ts +4 -0
  292. package/tasks/interfaces/task-post-hook.d.ts +2 -0
  293. package/{database/interfaces/protector.js → tasks/interfaces/task-post-hook.js} +1 -1
  294. package/tasks/interfaces/task-post-hook.js.map +1 -0
  295. package/tasks/interfaces/task-settings.d.ts +5 -0
  296. package/tasks/services/task-runner.service.d.ts +24 -3
  297. package/tasks/services/task-runner.service.js +66 -28
  298. package/tasks/services/task-runner.service.js.map +1 -1
  299. package/database/functions/use-protector.d.ts +0 -2
  300. package/database/functions/use-protector.js +0 -11
  301. package/database/functions/use-protector.js.map +0 -1
  302. package/database/interfaces/protector.d.ts +0 -51
  303. package/database/interfaces/protector.js.map +0 -1
  304. package/database/services/protect-builder.d.ts +0 -60
  305. package/database/services/protect-builder.js +0 -524
  306. package/database/services/protect-builder.js.map +0 -1
  307. package/security/functions/add-protect.d.ts +0 -2
  308. package/security/functions/add-protect.js +0 -11
  309. package/security/functions/add-protect.js.map +0 -1
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"./","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,qDAAmC;AACnC,wDAAsC;AACtC,oDAAkC;AAClC,6DAA2C;AAC3C,gEAA8C;AAC9C,sEAAoD;AACpD,kEAAgD;AAChD,0EAAuD;AACvD,wDAAsC;AACtC,wDAAsC;AACtC,qDAAmC;AACnC,qEAAmD;AACnD,oFAAkE;AAClE,mFAAiE;AACjE,oDAAkC;AAClC,wDAAsC;AACtC,4EAA0D;AAC1D,sDAAoC;AACpC,sDAAoC;AACpC,0DAAwC;AACxC,2DAAyC;AACzC,gFAA8D;AAC9D,2DAAyC;AACzC,sEAAoD;AACpD,2DAAyC;AACzC,iEAA+C;AAC/C,kEAAgD;AAChD,yEAAuD;AACvD,qDAAmC;AACnC,6EAA2D;AAC3D,mFAAiE;AAEjE,uDAAqC;AACrC,uDAAqC;AACrC,mEAAiD;AACjD,qEAAmD;AACnD,2EAAyD;AACzD,uDAAqC;AACrC,oDAAkC;AAClC,oDAAkC;AAClC,qFAAmE;AACnE,qFAAmE;AACnE,kFAAgE;AAChE,6EAA2D;AAC3D,gEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"./","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,qDAAmC;AACnC,wDAAsC;AACtC,oDAAkC;AAClC,6DAA2C;AAC3C,gEAA8C;AAC9C,sEAAoD;AACpD,kEAAgD;AAChD,0EAAuD;AACvD,wDAAsC;AACtC,wDAAsC;AACtC,qDAAmC;AACnC,oFAAkE;AAClE,mFAAiE;AACjE,oDAAkC;AAClC,wDAAsC;AACtC,4EAA0D;AAC1D,yFAAuE;AACvE,sDAAoC;AACpC,sDAAoC;AACpC,0DAAwC;AACxC,2DAAyC;AACzC,gFAA8D;AAC9D,2DAAyC;AACzC,sEAAoD;AACpD,2DAAyC;AACzC,iEAA+C;AAC/C,kEAAgD;AAChD,yEAAuD;AACvD,qDAAmC;AACnC,6EAA2D;AAC3D,mFAAiE;AAEjE,uDAAqC;AACrC,uDAAqC;AACrC,mEAAiD;AACjD,qEAAmD;AACnD,2EAAyD;AACzD,uDAAqC;AACrC,oDAAkC;AAClC,oDAAkC;AAClC,qFAAmE;AACnE,qFAAmE;AACnE,kFAAgE;AAChE,6EAA2D;AAC3D,gEAA8C;AAC9C,gDAA8B"}
@@ -12,6 +12,8 @@ export declare class JobsController extends ObjectLoader<IJobObject> {
12
12
  init(): Promise<void>;
13
13
  configJobs(): Promise<void>;
14
14
  checkContinue(): Promise<void>;
15
+ /** Fire-and-forget so one slow job does not block the scheduler tick or other jobs. */
16
+ protected dispatchJob(job: JobData): void;
15
17
  execute(jobName: string): Promise<Error>;
16
18
  protected logFinal(jobName: string, error?: Error): void;
17
19
  protected displayNextRun(job: JobData): void;
@@ -66,27 +66,31 @@ let JobsController = class JobsController extends core_1.ObjectLoader {
66
66
  if (isTimeToRun && !job.isPending) {
67
67
  job.nextRun = job.cron.getNextDate();
68
68
  job.isPending = true;
69
- if (core.workers) {
70
- await (0, dispatch_task_1.dispatchTask)({
71
- type: interfaces_1.WorkerMessageType.initRun,
72
- jobName: job.name
73
- }, async (message) => {
74
- job.isPending = false;
75
- this.logFinal(job.name, message.error);
76
- job.shown = false;
77
- });
78
- }
79
- else {
80
- const error = await this.execute(job.name);
81
- this.logFinal(job.name, error);
82
- job.shown = false;
83
- job.isPending = false;
84
- }
69
+ void this.dispatchJob(job);
85
70
  }
86
71
  this.displayNextRun(job);
87
72
  }
88
73
  this.dispatching = false;
89
74
  }
75
+ /** Fire-and-forget so one slow job does not block the scheduler tick or other jobs. */
76
+ dispatchJob(job) {
77
+ if (core.workers) {
78
+ void (0, dispatch_task_1.dispatchTask)({
79
+ type: interfaces_1.WorkerMessageType.initRun,
80
+ jobName: job.name,
81
+ }, async (message) => {
82
+ job.isPending = false;
83
+ this.logFinal(job.name, message.error);
84
+ job.shown = false;
85
+ });
86
+ return;
87
+ }
88
+ void this.execute(job.name).then((error) => {
89
+ this.logFinal(job.name, error);
90
+ job.shown = false;
91
+ job.isPending = false;
92
+ });
93
+ }
90
94
  async execute(jobName) {
91
95
  try {
92
96
  const job = constants_1.jobs
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.controller.js","sourceRoot":"./","sources":["jobs/jobs.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs.controller.js","sourceRoot":"./","sources":["jobs/jobs.controller.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,72 +1,72 @@
1
1
  {
2
- "name": "@rockster/core",
3
- "version": "0.0.4",
4
- "main": "index",
5
- "types": "index.d.ts",
6
- "scripts": {
7
- "pre:build": "rm -rf ./dist && mkdir ./dist && cp package.json ./dist",
8
- "build:prod": "npm run pre:build && tsc -p tsconfig.prod.json",
9
- "build:dev": "npm run pre:build && tsc -p tsconfig.prod.json -w",
10
- "post:publish": "cd ./dist && npm publish"
11
- },
12
- "author": "Hubseat",
13
- "license": "MIT",
14
- "publishConfig": {
15
- "access": "public"
16
- },
17
- "repository": {
18
- "type": "git",
19
- "url": "https://git.hubseat.io/rockster/rockster-core"
20
- },
21
- "dependencies": {
22
- "@dr.pogodin/csurf": "^1.13.0",
23
- "@formatjs/intl": "^2.9.0",
24
- "@google-cloud/storage": "^7.5.0",
25
- "@paralleldrive/cuid2": "^2.2.2",
26
- "@rockster/class-injector": "0.0.2",
27
- "@rockster/class-memory": "0.0.3",
28
- "@rockster/class-pipe": "^0.0.3",
29
- "@rockster/common": "0.0.3",
30
- "@rockster/logger": "0.0.3",
31
- "@types/body-parser": "^1.19.2",
32
- "@types/busboy": "^1.5.2",
33
- "@types/cors": "^2.8.13",
34
- "@types/dot-object": "^2.1.2",
35
- "@types/express": "^4.17.21",
36
- "@types/lodash": "^4.14.195",
37
- "@types/node": "^20.8.10",
38
- "@types/uuid": "^10.0.0",
39
- "@types/validator": "^13.11.1",
40
- "@types/ws": "^8.5.5",
41
- "axios": "^1.5.1",
42
- "body-parser": "^1.20.2",
43
- "busboy": "^1.6.0",
44
- "cors": "^2.8.5",
45
- "cron-schedule": "^3.0.6",
46
- "dot-object": "^2.1.4",
47
- "drizzle-orm": "^0.39.2",
48
- "express": "^4.18.2",
49
- "google-auth-library": "^10.5.0",
50
- "helmet": "^7.0.0",
51
- "inflection": "^3.0.2",
52
- "lodash": "^4.17.21",
53
- "moment": "^2.29.4",
54
- "mongodb": "^5.5.0",
55
- "msgpackr": "^1.11.5",
56
- "nanoid": "^3.3.8",
57
- "path-to-regexp": "^8.3.0",
58
- "pg": "^8.11.0",
59
- "radash": "^12.1.0",
60
- "redis": "^4.6.7",
61
- "typeorm": "^0.3.16",
62
- "typeorm-naming-strategies": "^4.1.0",
63
- "uuid": "^10.0.0",
64
- "validator": "^13.11.0",
65
- "ws": "^8.13.0",
66
- "xxhash-wasm": "^1.1.0",
67
- "zod": "^3.23.8"
68
- },
69
- "devDependencies": {
70
- "typescript": "^5.2.2"
71
- }
2
+ "name": "@rockster/core",
3
+ "version": "0.1.0",
4
+ "main": "index",
5
+ "types": "index.d.ts",
6
+ "scripts": {
7
+ "pre:build": "rm -rf ./dist && mkdir ./dist && cp package.json ./dist",
8
+ "build:prod": "npm run pre:build && tsc -p tsconfig.prod.json",
9
+ "build:dev": "npm run pre:build && tsc -p tsconfig.prod.json -w",
10
+ "post:publish": "cd ./dist && npm publish"
11
+ },
12
+ "author": "Hubseat",
13
+ "license": "MIT",
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://git.hubseat.io/rockster/rockster-core"
20
+ },
21
+ "dependencies": {
22
+ "@dr.pogodin/csurf": "^1.13.0",
23
+ "@formatjs/intl": "^2.9.0",
24
+ "@google-cloud/storage": "^7.5.0",
25
+ "@paralleldrive/cuid2": "^2.2.2",
26
+ "@rockster/class-injector": "0.1.0",
27
+ "@rockster/class-memory": "0.1.0",
28
+ "@rockster/class-pipe": "^0.1.0",
29
+ "@rockster/common": "0.1.0",
30
+ "@rockster/logger": "0.1.0",
31
+ "@types/body-parser": "^1.19.2",
32
+ "@types/busboy": "^1.5.2",
33
+ "@types/cors": "^2.8.13",
34
+ "@types/dot-object": "^2.1.2",
35
+ "@types/express": "^4.17.21",
36
+ "@types/lodash": "^4.14.195",
37
+ "@types/node": "^20.8.10",
38
+ "@types/uuid": "^10.0.0",
39
+ "@types/validator": "^13.11.1",
40
+ "@types/ws": "^8.5.5",
41
+ "axios": "^1.5.1",
42
+ "body-parser": "^1.20.2",
43
+ "busboy": "^1.6.0",
44
+ "cors": "^2.8.5",
45
+ "cron-schedule": "^3.0.6",
46
+ "dot-object": "^2.1.4",
47
+ "drizzle-orm": "^0.39.2",
48
+ "express": "^4.18.2",
49
+ "google-auth-library": "^10.5.0",
50
+ "helmet": "^7.0.0",
51
+ "inflection": "^3.0.2",
52
+ "lodash": "^4.17.21",
53
+ "moment": "^2.29.4",
54
+ "mongodb": "^5.5.0",
55
+ "msgpackr": "^1.11.5",
56
+ "nanoid": "^3.3.8",
57
+ "path-to-regexp": "^8.3.0",
58
+ "pg": "8.21.0",
59
+ "radash": "^12.1.0",
60
+ "redis": "^4.6.7",
61
+ "typeorm": "^0.3.28",
62
+ "typeorm-naming-strategies": "^4.1.0",
63
+ "uuid": "^10.0.0",
64
+ "validator": "^13.11.0",
65
+ "ws": "^8.13.0",
66
+ "xxhash-wasm": "^1.1.0",
67
+ "zod": "^3.23.8"
68
+ },
69
+ "devDependencies": {
70
+ "typescript": "^5.2.2"
71
+ }
72
72
  }
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addJoin = void 0;
4
- const use_protector_1 = require("../../database/functions/use-protector");
5
4
  const get_entity_object_class_1 = require("./get-entity-object-class");
6
5
  const addJoin = (RootEntity, queryContent, joins, queryBuilder, path, entityManager) => {
7
6
  if (path.type === "embedded") {
@@ -14,16 +13,6 @@ const addJoin = (RootEntity, queryContent, joins, queryBuilder, path, entityMana
14
13
  if (path.parent) {
15
14
  (0, exports.addJoin)(RootEntity, queryContent, joins, queryBuilder, path.parent, entityManager);
16
15
  }
17
- const protector = (0, use_protector_1.useProtector)(path.target);
18
- const secure = path.secure && protector
19
- ? protector
20
- .relationCondition({
21
- userId: queryContent.userId,
22
- contextParams: queryContent.context,
23
- alias: path.entityAlias,
24
- rootPath: RootEntity
25
- })
26
- : '';
27
16
  const result = typeof path.relation.condition === 'string'
28
17
  ? path
29
18
  .relation
@@ -32,8 +21,8 @@ const addJoin = (RootEntity, queryContent, joins, queryBuilder, path, entityMana
32
21
  .relation
33
22
  .condition(queryBuilder, queryContent, entityManager);
34
23
  path.relation.type === "direct"
35
- ? queryBuilder.leftJoinAndMapOne(path.relation.mapTo, result?.tableName ?? (0, get_entity_object_class_1.getEntityObjectClass)(path.target), path.entityAlias, result?.condition ?? result + ` ${secure}`)
36
- : queryBuilder.leftJoinAndMapMany(path.relation.mapTo, result?.tableName ?? (0, get_entity_object_class_1.getEntityObjectClass)(path.target), path.entityAlias, result?.condition ?? result + ` ${secure}`);
24
+ ? queryBuilder.leftJoinAndMapOne(path.relation.mapTo, result?.tableName ?? (0, get_entity_object_class_1.getEntityObjectClass)(path.target), path.entityAlias, result?.condition ?? result)
25
+ : queryBuilder.leftJoinAndMapMany(path.relation.mapTo, result?.tableName ?? (0, get_entity_object_class_1.getEntityObjectClass)(path.target), path.entityAlias, result?.condition ?? result);
37
26
  joins[joinKey] = true;
38
27
  }
39
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"add-join.js","sourceRoot":"./","sources":["query/functions/add-join.ts"],"names":[],"mappings":";;;AAIA,0EAAsE;AACtE,uEAAiE;AAE1D,MAAM,OAAO,GAAG,CACpB,UAAwB,EACxB,YAAgC,EAChC,KAA0B,EAC1B,YAAqC,EACrC,IAAe,EACf,aAA4B,EAC7B,EAAE;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC5B,IAAA,eAAO,EACJ,UAAU,EACV,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,IAAI,CAAC,MAAM,EACX,aAAa,CACf,CAAC;IACL,CAAC;IAED,0GAA0G;IAC1G,MAAM,OAAO,GACV,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAEhC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,IAAA,eAAO,EACJ,UAAU,EACV,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,IAAI,CAAC,MAAM,EACX,aAAa,CACf,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,4BAAY,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS;YACpC,CAAC,CAAC,SAAS;iBACP,iBAAiB,CAAC;gBAChB,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,aAAa,EAAE,YAAY,CAAC,OAAO;gBACnC,KAAK,EAAE,IAAI,CAAC,WAAW;gBACvB,QAAQ,EAAE,UAAU;aACtB,CAAC;YACL,CAAC,CAAC,EAAE,CAAA;QAEP,MAAM,MAAM,GAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,QAAQ;YAC5D,CAAC,CAAC,IAAI;iBACF,QAAQ;iBACR,SAAS;YACb,CAAC,CAAC,IAAI;iBACF,QAAQ;iBACR,SAAS,CACP,YAAY,EACZ,YAAY,EACZ,aAAa,CACf,CAAC;QAER,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;YAC5B,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,EACnB,MAAM,EAAE,SAAS,IAAI,IAAA,8CAAoB,EAAC,IAAI,CAAC,MAAM,CAAC,EACtD,IAAI,CAAC,WAAW,EAChB,MAAM,EAAE,SAAS,IAAI,MAAM,GAAG,IAAI,MAAM,EAAE,CAC5C;YACD,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,EACnB,MAAM,EAAE,SAAS,IAAI,IAAA,8CAAoB,EAAC,IAAI,CAAC,MAAM,CAAC,EACtD,IAAI,CAAC,WAAW,EAChB,MAAM,EAAE,SAAS,IAAI,MAAM,GAAG,IAAI,MAAM,EAAE,CAC5C,CAAC;QAEL,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACzB,CAAC;AACJ,CAAC,CAAC;AA5EW,QAAA,OAAO,WA4ElB"}
1
+ {"version":3,"file":"add-join.js","sourceRoot":"./","sources":["query/functions/add-join.ts"],"names":[],"mappings":";;;AAIA,uEAAiE;AAE1D,MAAM,OAAO,GAAG,CACpB,UAAwB,EACxB,YAAgC,EAChC,KAA0B,EAC1B,YAAqC,EACrC,IAAe,EACf,aAA4B,EAC7B,EAAE;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC5B,IAAA,eAAO,EACJ,UAAU,EACV,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,IAAI,CAAC,MAAM,EACX,aAAa,CACf,CAAC;IACL,CAAC;IAED,0GAA0G;IAC1G,MAAM,OAAO,GACV,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAEhC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,IAAA,eAAO,EACJ,UAAU,EACV,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,IAAI,CAAC,MAAM,EACX,aAAa,CACf,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,QAAQ;YAC5D,CAAC,CAAC,IAAI;iBACF,QAAQ;iBACR,SAAS;YACb,CAAC,CAAC,IAAI;iBACF,QAAQ;iBACR,SAAS,CACP,YAAY,EACZ,YAAY,EACZ,aAAa,CACf,CAAC;QAER,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;YAC5B,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,EACnB,MAAM,EAAE,SAAS,IAAI,IAAA,8CAAoB,EAAC,IAAI,CAAC,MAAM,CAAC,EACtD,IAAI,CAAC,WAAW,EAChB,MAAM,EAAE,SAAS,IAAI,MAAM,CAC7B;YACD,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,EACnB,MAAM,EAAE,SAAS,IAAI,IAAA,8CAAoB,EAAC,IAAI,CAAC,MAAM,CAAC,EACtD,IAAI,CAAC,WAAW,EAChB,MAAM,EAAE,SAAS,IAAI,MAAM,CAC7B,CAAC;QAEL,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACzB,CAAC;AACJ,CAAC,CAAC;AAjEW,QAAA,OAAO,WAiElB"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createQueryBuilder = void 0;
4
4
  const use_repository_1 = require("../../database/functions/use-repository");
5
- const use_protector_1 = require("../../database/functions/use-protector");
6
5
  const add_join_1 = require("./add-join");
7
6
  const get_native_select_1 = require("./get-native-select");
8
7
  const create_query_cache_hash_1 = require("./create-query-cache-hash");
@@ -24,15 +23,6 @@ const createQueryBuilder = async (queryContent, intercept) => {
24
23
  if (intercept) {
25
24
  await intercept(queryBuilder);
26
25
  }
27
- const rootProtector = (0, use_protector_1.useProtector)(RootEntity);
28
- if (object.rootPath.secure && rootProtector) {
29
- rootProtector.rootCondition({
30
- rootAlias: object.rootPath.alias,
31
- queryBuilder: queryBuilder,
32
- userId: queryContent.userId,
33
- contextParams: queryContent.context
34
- });
35
- }
36
26
  const joins = {};
37
27
  const joinHash = (0, create_query_cache_hash_1.getJoinStructureHash)(queryContent.target.name, queryContent.query.select);
38
28
  const cachedPaths = (0, query_structure_cache_1.getCachedJoinPlan)(joinHash);
@@ -1 +1 @@
1
- {"version":3,"file":"create-query-builder.js","sourceRoot":"./","sources":["query/functions/create-query-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-query-builder.js","sourceRoot":"./","sources":["query/functions/create-query-builder.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,40 @@ const executeQuery = async ({ content: queryContent, intercept, preFilter }) =>
48
48
  });
49
49
  }
50
50
  queryBuilder.select(queryForBuilder.nativeSelectAsArry);
51
+ /**
52
+ * When selecting only a subset of columns, TypeORM will NOT hydrate mapped joins unless it can
53
+ * identify joined rows. In practice, that requires selecting the joined entity's primary column(s).
54
+ *
55
+ * We DO NOT addSelect(join.alias.name) because that selects *all* columns for the join alias and can
56
+ * duplicate columns already in nativeSelect, causing ambiguous column references in DISTINCT wrappers.
57
+ *
58
+ * Instead, ensure each mapped join has its primary key(s) selected (if not already).
59
+ */
60
+ const currentSelections = new Set((queryBuilder.expressionMap.selects ?? [])
61
+ .map((s) => s.selection)
62
+ .filter((s) => typeof s === "string" && s.length > 0));
63
+ const mainAlias = queryBuilder.expressionMap.mainAlias;
64
+ if (mainAlias?.name && mainAlias.metadata) {
65
+ for (const pk of mainAlias.metadata.primaryColumns ?? []) {
66
+ const sel = `${mainAlias.name}.${pk.propertyPath}`;
67
+ if (!currentSelections.has(sel)) {
68
+ queryBuilder.addSelect(sel);
69
+ currentSelections.add(sel);
70
+ }
71
+ }
72
+ }
73
+ for (const join of queryBuilder.expressionMap.joinAttributes) {
74
+ if (!join.mapToProperty || !join.alias?.name || !join.metadata)
75
+ continue;
76
+ const alias = join.alias.name;
77
+ for (const pk of join.metadata.primaryColumns ?? []) {
78
+ const sel = `${alias}.${pk.propertyPath}`;
79
+ if (!currentSelections.has(sel)) {
80
+ queryBuilder.addSelect(sel);
81
+ currentSelections.add(sel);
82
+ }
83
+ }
84
+ }
51
85
  queryBuilder.getVirtualSelect().forEach((virtualSelect) => {
52
86
  queryBuilder.addSelect(virtualSelect.selection, virtualSelect.alias);
53
87
  });
@@ -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":";;;AAAA,6DAA0D;AAE1D,iEAA4D;AAG5D,qDAAiD;AACjD,6CAA0C;AAQ1C,yCAA4C;AAC5C,qFAA+E;AAC/E,yGAAkG;AAY3F,MAAM,YAAY,GAAG,KAAK,EAAU,EACxC,OAAO,EAAE,YAAY,EACrB,SAAS,EACT,SAAS,EACkB,EAAE,EAAE;IAE/B,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI;SACf,OAAO;SACP,UAAU,CAAC,YAAY,CAAC,MAAM,CACP,CAAC;IAC5B,MAAM,eAAe,GAAG,IAAA,+EAAoC,EACzD,MAAM,CAAC,UAAU,EACjB,KAAK,CAAC,MAAM,EACZ,MAAM,CACR,CAAC;IACF,MAAM,eAAe,GAA0B;QAC5C,GAAG,YAAY;QACf,KAAK,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE;KAC3D,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,IAAA,yCAAkB,EAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAE1E,IAAI,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;IACnC,IAAI,QAAQ,GAAG,OAAO,CAAA;IACtB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,KAAa,CAAC;IAElB,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,QAAQ,GAAG,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACb,YAAY,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;QAClC,QAAQ,GAAG,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACR,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAChB,YAAY,CAAC,QAAQ,CAAC,CACnB,KAAK,CAAC,MAAM,EACZ,YAAY,CAAC,UAAU,CACzB,CAAC;QACF,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACjB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,EAAoB,CAAC;YACpE,MAAM,WAAW,GAAG,eAAe,CAAC,iBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7E,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,kBAAmB,CAAC,CAAC;IACzD;;;;;;;;OAQG;IACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC9B,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACvB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CACvE,CAAC;IAEF,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC;IACvD,IAAI,SAAS,EAAE,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzC,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;YACnD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC5B,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACJ,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,SAAS;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC9B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;YAC1C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC5B,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACJ,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QACvD,YAAY,CAAC,SAAS,CACnB,aAAa,CAAC,SAAS,EACvB,aAAa,CAAC,KAAK,CACrB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAEpC,IAAI,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;IAEzC,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAC/C,CAAC;IACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;YACtC,MAAM,aAAa,GAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAmB;gBAC7D,EAAE,gBAAgB,CAAC;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CACR,oBAAoB,IAAI,yFAAyF,CACnH,CAAC;gBACF,SAAS;YACZ,CAAC;YACD,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,eAAe,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,IAAA,4DAA2B,EACvC,KAAK,EACL,gBAAgB,EAChB,eAAe,CAAC,SAAS,IAAI,EAAE,EAC/B,MAAM,CAAC,UAAU,CACnB,CAAC;YACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,SAAS;YACZ,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAc,EAAC,aAAa,CAKlD,CAAC;YACF,IAAI,OAAO,QAAQ,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CACR,GAAG,aAAa,CAAC,IAAI,iEAAiE,CACxF,CAAC;gBACF,SAAS;YACZ,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,OAAO,CACzC;gBACG,KAAK,EAAE,KAAK;gBACZ,mBAAmB,EAAE,gBAAgB;gBACrC,MAAM;aACR,EACD,YAAY,CACd,CAAC;YACF,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAChC,KAAK,GAAG,aAAyB,CAAC;YACrC,CAAC;QACJ,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/C,OAAO,IAAA,sBAAS,EAAC;YACd,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChC,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,GAAG,eAAe,CAAC,SAAS,GAAG;YACzC,MAAM,EAAE,CAAC,qBAAY,CAAC,KAAK,CAAC;SAC9B,CAAC,CAAC;IACN,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO;QACJ,IAAI,EAAE,IAAI;YACP,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,SAAS;QACd,IAAI,EAAE,IAAI;YACP,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,SAAS;QACd,KAAK,EAAE,IAAI;YACR,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,SAAS;QACd,QAAQ,EAAE,KAAK,CAAC,MAAM;YACnB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,SAAS;QACd,IAAI,EAAE,IAAI;KACK,CAAC;AACtB,CAAC,CAAA;AA7LY,QAAA,YAAY,gBA6LxB"}
@@ -6,6 +6,70 @@ const object_type_1 = require("../../common/interfaces/enum/object-type");
6
6
  const get_id_property_1 = require("../../database/functions/get-id-property");
7
7
  const get_entity_object_class_1 = require("./get-entity-object-class");
8
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
+ }
9
73
  function resolveExternalColumnClass(ep, entityLabel, propertyKey) {
10
74
  const Resolver = ep.getExternalResolver?.();
11
75
  if (!Resolver) {
@@ -165,9 +229,7 @@ const loadProperties = ({ type, target, alias, entityAlias, properties, parent,
165
229
  for (const pathProperty of pathKeys) {
166
230
  const path = paths[pathProperty];
167
231
  const pathObjectClass = (0, get_entity_object_class_1.getEntityObjectClass)(path.target());
168
- const linkProperty = (path.type === 'indirect'
169
- ? core.storage.getProperties(pathObjectClass).find((p) => p.isRelation && p.getRelationType() === targetObjectClass)
170
- : core.storage.getProperties(targetObjectClass).find((p) => p.isRelation && p.getRelationType() === pathObjectClass));
232
+ const linkProperty = resolveJoinLinkProperty(path, pathProperty, targetObjectClass, pathObjectClass);
171
233
  if (!linkProperty && !path.condition) {
172
234
  const line1 = `Unable to find linkProperty to ${path.alias}:${pathObjectClass?.name} into query:${target.name}`;
173
235
  const line2 = `Use @Relation(() => <target>) to define`;
@@ -182,7 +244,7 @@ const loadProperties = ({ type, target, alias, entityAlias, properties, parent,
182
244
  const targetIdProperty = (0, get_id_property_1.getIdProperty)(pathObjectClass);
183
245
  const joinEntityAlias = joinSqlAlias;
184
246
  const condition = path.condition ?? (() => {
185
- const linkName = path.linkProperty || linkProperty.columnName;
247
+ const linkName = linkProperty.columnName;
186
248
  return path.type === "direct"
187
249
  ? `"${entityAlias}"."${linkName}" = "${joinEntityAlias}"."${targetIdProperty.columnName}"`
188
250
  : `"${entityAlias}"."${idProperty.columnName}" = "${joinEntityAlias}"."${linkName}"`;
@@ -203,7 +265,13 @@ const loadProperties = ({ type, target, alias, entityAlias, properties, parent,
203
265
  externalSubtree,
204
266
  relation: {
205
267
  type: path.type,
206
- 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}`,
207
275
  condition,
208
276
  },
209
277
  parent: {
@@ -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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"}
@@ -10,7 +10,6 @@ exports.QueryActionBuilder = void 0;
10
10
  const class_injector_1 = require("@rockster/class-injector");
11
11
  const interfaces_1 = require("../../controllers/interfaces");
12
12
  const class_pipe_1 = require("@rockster/class-pipe");
13
- const common_1 = require("@rockster/common");
14
13
  const constants_1 = require("../constants");
15
14
  const interceptor_1 = require("../../core/interfaces/interceptor");
16
15
  const constants_2 = require("../../controllers/constants");
@@ -20,8 +19,9 @@ const docs_1 = require("@rockster/common/docs");
20
19
  const get_action_path_1 = require("../../core/functions/get-action-path");
21
20
  const create_interceptor_1 = require("../../core/functions/create-interceptor");
22
21
  const create_action_1 = require("../../core/functions/create-action");
23
- const get_user_keys_1 = require("../../access/functions/get-user-keys");
24
- const get_is_owner_1 = require("../../access/functions/get-is-owner");
22
+ const assert_scope_action_access_1 = require("../../access/functions/assert-scope-action-access");
23
+ const warn_if_public_1 = require("../../access/functions/warn-if-public");
24
+ const describe_action_scope_1 = require("../../access/functions/describe-action-scope");
25
25
  const resolve_action_transactional_1 = require("../../core/functions/resolve-action-transactional");
26
26
  let QueryActionBuilder = class QueryActionBuilder {
27
27
  constructor() {
@@ -41,6 +41,7 @@ let QueryActionBuilder = class QueryActionBuilder {
41
41
  const isSecure = !property.public;
42
42
  const name = property.name || property.propertyKey;
43
43
  const path = (0, get_action_path_1.getActionPath)(object.alias, name);
44
+ (0, warn_if_public_1.warnIfPublic)(path, property);
44
45
  this.beforeInterceptors[path] =
45
46
  (0, create_interceptor_1.createExecuteInterceptors)([interceptor_1.commonInterceptor.onBeforeExecute], object, property);
46
47
  this.afterInterceptors[path] =
@@ -77,6 +78,8 @@ let QueryActionBuilder = class QueryActionBuilder {
77
78
  path: path,
78
79
  description: property.description,
79
80
  isSecure: isSecure,
81
+ authenticated: property.authenticated,
82
+ keys: (0, describe_action_scope_1.describeActionScopeKeys)(property),
80
83
  payload: Payload,
81
84
  response: Response,
82
85
  exposeGroups: property.exposeGroups,
@@ -86,21 +89,12 @@ let QueryActionBuilder = class QueryActionBuilder {
86
89
  };
87
90
  }
88
91
  async onBefore(pending, context, property) {
89
- if (property.keys?.has('query')) {
90
- const userId = context.session.userId;
91
- const key = property.keys.get('query');
92
- const contextId = key.withId ? null : null;
93
- const isOwner = await (0, get_is_owner_1.getIsOwner)(key.contextName, userId, contextId);
94
- if (!isOwner) {
95
- const userKeys = await (0, get_user_keys_1.getUserKeys)(userId, contextId);
96
- if (!userKeys.includes(key.name)) {
97
- throw new common_1.ForbiddenError({
98
- message: `Query require permissions to execute`,
99
- requirements: [key.name]
100
- });
101
- }
102
- }
103
- }
92
+ await (0, assert_scope_action_access_1.assertScopeActionAccess)({
93
+ property,
94
+ slot: "query",
95
+ pending,
96
+ context,
97
+ });
104
98
  if (property.data) {
105
99
  const payload = context.request[pending.requestRef];
106
100
  await this.beforeValidationInterceptors[pending.path]({