@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
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compileTaskPostHooks = exports.compileTaskHookHandle = void 0;
4
+ const class_injector_1 = require("@rockster/class-injector");
5
+ const constants_1 = require("../../controllers/constants");
6
+ const hook_constants_1 = require("../hook-constants");
7
+ const task_hook_1 = require("../interfaces/task-hook");
8
+ const compileTaskHookHandle = async (hook, taskObjectKey) => {
9
+ const hookDef = (core.taskHooks[hook.name] ?? hook);
10
+ const instance = hookDef.instance
11
+ ?? await (0, class_injector_1.createInstance)(hookDef.executor);
12
+ hookDef.instance = instance;
13
+ const objectNote = classInjector.storage.findObject(hookDef.executor);
14
+ const interceptProperty = classInjector.storage
15
+ .getProperties(hookDef.executor)
16
+ .find((property) => property.propertyKey === "intercept");
17
+ const interceptorName = `TaskHook:${taskObjectKey}:${hook.name}`;
18
+ let run;
19
+ if (!interceptProperty || interceptProperty.overrides.length === 0) {
20
+ run = async (initialData) => {
21
+ await instance.intercept({
22
+ context: initialData.requestContext,
23
+ });
24
+ };
25
+ }
26
+ else {
27
+ const params = (0, class_injector_1.resolveParams)(objectNote.objectKey, interceptProperty.overrides, interceptProperty.metadata["design:paramtypes"], "intercept");
28
+ run = async (initialData) => {
29
+ const data = {
30
+ payload: initialData.payload,
31
+ requestContext: initialData.requestContext,
32
+ message: initialData.message,
33
+ [hook_constants_1.TASK_PAYLOAD_KEY]: initialData.payload,
34
+ [constants_1.REQUEST_CONTEXT_KEY]: initialData.requestContext,
35
+ [hook_constants_1.TASK_MESSAGE_KEY]: initialData.message,
36
+ };
37
+ const args = await Promise.all(params.map((param) => param(data)));
38
+ await instance.intercept(...args);
39
+ };
40
+ }
41
+ const handle = Object.assign(run, {
42
+ interceptorName,
43
+ phase: hook.phase,
44
+ });
45
+ return handle;
46
+ };
47
+ exports.compileTaskHookHandle = compileTaskHookHandle;
48
+ const compileTaskPostHooks = async (object) => {
49
+ const hooks = object.postHooks ?? [];
50
+ const compiled = {
51
+ beforeValidation: [],
52
+ beforeExecute: [],
53
+ };
54
+ for (const hook of hooks) {
55
+ const handle = await (0, exports.compileTaskHookHandle)(hook, object.objectKey);
56
+ if (hook.phase === task_hook_1.taskHookPhase.beforeValidation) {
57
+ compiled.beforeValidation.push(handle);
58
+ }
59
+ else {
60
+ compiled.beforeExecute.push(handle);
61
+ }
62
+ }
63
+ object.compiledPostHooks = compiled;
64
+ return compiled;
65
+ };
66
+ exports.compileTaskPostHooks = compileTaskPostHooks;
67
+ //# sourceMappingURL=compile-task-hook-handle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-task-hook-handle.js","sourceRoot":"./","sources":["tasks/functions/compile-task-hook-handle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Instantiable } from "@rockster/common";
2
+ import { TaskHookDef, TaskHookPhase } from "../interfaces/task-hook";
3
+ export declare const createTaskHook: {
4
+ only: (def: {
5
+ name: string;
6
+ phase: TaskHookPhase;
7
+ executor: Instantiable;
8
+ }) => TaskHookDef;
9
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTaskHook = void 0;
4
+ const registerTaskHook = (def) => {
5
+ core.taskHooks[def.name] = def;
6
+ };
7
+ exports.createTaskHook = {
8
+ only: (def) => {
9
+ registerTaskHook(def);
10
+ return def;
11
+ },
12
+ };
13
+ //# sourceMappingURL=create-task-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-task-hook.js","sourceRoot":"./","sources":["tasks/functions/create-task-hook.ts"],"names":[],"mappings":";;;AAGA,MAAM,gBAAgB,GAAG,CAAC,GAAgB,EAAE,EAAE;IAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAe,CAAC;AAC9C,CAAC,CAAC;AAEW,QAAA,cAAc,GAAG;IAC3B,IAAI,EAAE,CAAC,GAIN,EAAe,EAAE;QACf,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACd,CAAC;CACH,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { ObjectNote } from "@rockster/class-memory";
2
2
  import { ITaskObject } from "../interfaces/task-object";
3
- export declare function createTaskMessageReceptor(object: ObjectNote<ITaskObject>): void;
3
+ export declare function createTaskMessagePost(object: ObjectNote<ITaskObject>): void;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTaskMessageReceptor = createTaskMessageReceptor;
3
+ exports.createTaskMessagePost = createTaskMessagePost;
4
4
  const action_decorator_1 = require("../../controllers/decorators/actions/action.decorator");
5
5
  const controllers_1 = require("../../controllers");
6
- function createTaskMessageReceptor(object) {
6
+ const register_task_post_hook_interceptors_1 = require("./register-task-post-hook-interceptors");
7
+ function createTaskMessagePost(object) {
7
8
  const ObjectController = object.MessageController;
8
9
  const actionName = object
9
10
  .naming
@@ -14,6 +15,12 @@ function createTaskMessageReceptor(object) {
14
15
  return this.create(object, actionContent, requestContext);
15
16
  };
16
17
  Reflect.defineMetadata('design:paramtypes', [Payload, object], ObjectController.prototype, actionName);
18
+ if (object.postInterceptors?.length > 0) {
19
+ object.postInterceptors.forEach((Interceptor) => {
20
+ Interceptor()(ObjectController.prototype, actionName);
21
+ });
22
+ }
23
+ (0, register_task_post_hook_interceptors_1.registerTaskPostHookInterceptors)(object);
17
24
  (0, action_decorator_1.Action)({
18
25
  public: object.settings.public,
19
26
  response: () => object.MessageModel
@@ -21,4 +28,4 @@ function createTaskMessageReceptor(object) {
21
28
  (0, controllers_1.ActionContent)()(ObjectController.prototype, actionName, 0);
22
29
  (0, controllers_1.RequestContext)()(ObjectController.prototype, actionName, 1);
23
30
  }
24
- //# sourceMappingURL=create-task-message-receptor.js.map
31
+ //# sourceMappingURL=create-task-message-post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-task-message-post.js","sourceRoot":"./","sources":["tasks/functions/create-task-message-post.ts"],"names":[],"mappings":";;AASA,sDAwCC;AA/CD,4FAA+E;AAC/E,mDAG2B;AAC3B,iGAA0F;AAE1F,SAAgB,qBAAqB,CAAC,MAA+B;IAElE,MAAM,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM;SACrB,MAAM;SACN,UAAU,CAAC;IACf,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAEjC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC;QACnC,UAAU,aAAa,EAAE,cAAc;YACpC,OAAO,IAAI,CAAC,MAAM,CACf,MAAM,EACN,aAAa,EACb,cAAc,CAChB,CAAC;QACL,CAAC,CAAC;IAEL,OAAO,CAAC,cAAc,CACnB,mBAAmB,EACnB,CAAC,OAAO,EAAE,MAAM,CAAC,EACjB,gBAAgB,CAAC,SAAS,EAC1B,UAAU,CACZ,CAAC;IAEF,IAAI,MAAM,CAAC,gBAAgB,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAC7C,WAAW,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAA,uEAAgC,EAAC,MAAM,CAAC,CAAC;IAEzC,IAAA,yBAAM,EAAC;QACJ,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY;KACrC,CAAC,CAAE,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5C,IAAA,2BAAa,GAAE,CACX,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAA,4BAAc,GAAE,CACZ,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ObjectNote } from "@rockster/class-memory";
2
+ import { ITaskObject } from "../interfaces/task-object";
3
+ export declare const registerTaskPostHookInterceptors: (object: ObjectNote<ITaskObject>) => void;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.registerTaskPostHookInterceptors = void 0;
10
+ const class_injector_1 = require("@rockster/class-injector");
11
+ const core_1 = require("../../core");
12
+ const request_interceptor_1 = require("../../controllers/interfaces/enum/request-interceptor");
13
+ const constants_1 = require("../../controllers/constants");
14
+ const hook_constants_1 = require("../hook-constants");
15
+ const task_hook_1 = require("../interfaces/task-hook");
16
+ const constants_2 = require("../constants");
17
+ const getInterceptorFilter = (phase) => {
18
+ return phase === task_hook_1.taskHookPhase.beforeValidation
19
+ ? request_interceptor_1.requestInterceptor.onBeforeValidation
20
+ : core_1.commonInterceptor.onBeforeExecute;
21
+ };
22
+ const getInterceptorName = (taskObjectKey, hookName) => `TaskHook:${taskObjectKey}:${hookName}`;
23
+ const createSyntheticExecutor = (taskObjectKey, hookName, interceptorName) => {
24
+ let SyntheticTaskHookExecutor = class SyntheticTaskHookExecutor {
25
+ async intercept(args) {
26
+ const object = constants_2.constants.taskObjects.find((item) => item.objectKey === taskObjectKey);
27
+ const compiled = object?.compiledPostHooks;
28
+ if (!compiled) {
29
+ return;
30
+ }
31
+ const hook = object?.postHooks?.find((item) => item.name === hookName);
32
+ const handles = hook?.phase === task_hook_1.taskHookPhase.beforeValidation
33
+ ? compiled.beforeValidation
34
+ : compiled.beforeExecute;
35
+ const handle = handles?.find((item) => item.interceptorName === interceptorName);
36
+ if (!handle) {
37
+ return;
38
+ }
39
+ const ref = args.action?.requestRef;
40
+ const payload = ref
41
+ ? args.context?.request?.[ref]
42
+ : undefined;
43
+ await handle({
44
+ payload,
45
+ requestContext: args.context,
46
+ [hook_constants_1.TASK_PAYLOAD_KEY]: payload,
47
+ [constants_1.REQUEST_CONTEXT_KEY]: args.context,
48
+ });
49
+ }
50
+ };
51
+ SyntheticTaskHookExecutor = __decorate([
52
+ (0, class_injector_1.Injectable)()
53
+ ], SyntheticTaskHookExecutor);
54
+ return SyntheticTaskHookExecutor;
55
+ };
56
+ const registerInterceptor = (object, hook) => {
57
+ const interceptorName = getInterceptorName(object.objectKey, hook.name);
58
+ if (core.interceptors[interceptorName]) {
59
+ return interceptorName;
60
+ }
61
+ const interceptor = {
62
+ name: interceptorName,
63
+ filters: [getInterceptorFilter(hook.phase)],
64
+ executor: createSyntheticExecutor(object.objectKey, hook.name, interceptorName),
65
+ };
66
+ core.interceptors[interceptor.name] = interceptor;
67
+ return interceptorName;
68
+ };
69
+ const registerTaskPostHookInterceptors = (object) => {
70
+ const hooks = object.postHooks;
71
+ if (!hooks?.length) {
72
+ return;
73
+ }
74
+ const ObjectController = object.MessageController;
75
+ const actionName = object.naming.postAction;
76
+ const property = core.storage.createProperty(ObjectController.prototype, actionName);
77
+ for (const hook of hooks) {
78
+ const interceptorName = registerInterceptor(object, hook);
79
+ const exists = property.interceptors.find((item) => item.name === interceptorName);
80
+ if (!exists) {
81
+ property.interceptors.push({ name: interceptorName });
82
+ }
83
+ }
84
+ };
85
+ exports.registerTaskPostHookInterceptors = registerTaskPostHookInterceptors;
86
+ //# sourceMappingURL=register-task-post-hook-interceptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-task-post-hook-interceptors.js","sourceRoot":"./","sources":["tasks/functions/register-task-post-hook-interceptors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ObjectNote } from "@rockster/class-memory";
2
+ import { ITaskMessage } from "@rockster/common/tasks";
3
+ import { IRequestContext } from "../../core/interfaces/request-context";
4
+ import { ITaskObject } from "../interfaces/task-object";
5
+ import { TaskHookPhase } from "../interfaces/task-hook";
6
+ export type RunTaskPostHooksContext = {
7
+ payload: unknown;
8
+ requestContext?: IRequestContext;
9
+ message?: Partial<ITaskMessage>;
10
+ };
11
+ export declare const runTaskPostHooks: (object: ObjectNote<ITaskObject>, phase: TaskHookPhase, ctx: RunTaskPostHooksContext) => Promise<void>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runTaskPostHooks = void 0;
4
+ const task_hook_1 = require("../interfaces/task-hook");
5
+ const runTaskPostHooks = async (object, phase, ctx) => {
6
+ const compiled = object.compiledPostHooks;
7
+ if (!compiled) {
8
+ return;
9
+ }
10
+ const handles = phase === task_hook_1.taskHookPhase.beforeValidation
11
+ ? compiled.beforeValidation
12
+ : compiled.beforeExecute;
13
+ for (const handle of handles) {
14
+ await handle(ctx);
15
+ }
16
+ };
17
+ exports.runTaskPostHooks = runTaskPostHooks;
18
+ //# sourceMappingURL=run-task-post-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-task-post-hooks.js","sourceRoot":"./","sources":["tasks/functions/run-task-post-hooks.ts"],"names":[],"mappings":";;;AAIA,uDAAuE;AAQhE,MAAM,gBAAgB,GAAG,KAAK,EAClC,MAA+B,EAC/B,KAAoB,EACpB,GAA4B,EACd,EAAE;IAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACb,OAAO;IACV,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,KAAK,yBAAa,CAAC,gBAAgB;QACrD,CAAC,CAAC,QAAQ,CAAC,gBAAgB;QAC3B,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAE5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,gBAAgB,oBAiB3B"}
@@ -0,0 +1,18 @@
1
+ import { ObjectNote } from "@rockster/class-memory";
2
+ import { Instantiable } from "@rockster/common";
3
+ import { ITaskMessage } from "@rockster/common/tasks";
4
+ import { IQueryContent } from "../../query/interfaces/query";
5
+ import { ITaskObject } from "../interfaces/task-object";
6
+ import { IRequestContext } from "../../core/interfaces/request-context";
7
+ import { TaskHookPhase } from "../interfaces/task-hook";
8
+ export type CreateTaskMessageOptions = {
9
+ requestContext?: IRequestContext;
10
+ skipPhases?: TaskHookPhase[];
11
+ };
12
+ /** Same semantics as {@link TaskController.query}. */
13
+ export declare function queryTaskMessages(content: IQueryContent<any>): Promise<import("../../query/interfaces/query").Query<any>>;
14
+ /** Same semantics as {@link TaskController.create}. */
15
+ export declare function createTaskMessage(task: ObjectNote<ITaskObject>, payload: unknown, options?: CreateTaskMessageOptions): Promise<ITaskMessage>;
16
+ export declare function createTaskMessage(task: Instantiable, payload: unknown, options?: CreateTaskMessageOptions): Promise<ITaskMessage>;
17
+ /** Same semantics as {@link TaskController.retry}. */
18
+ export declare function retryTaskMessage(object: ObjectNote<ITaskObject>, message: ITaskMessage): Promise<ITaskMessage>;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.queryTaskMessages = queryTaskMessages;
4
+ exports.createTaskMessage = createTaskMessage;
5
+ exports.retryTaskMessage = retryTaskMessage;
6
+ const common_1 = require("@rockster/common");
7
+ const tasks_1 = require("@rockster/common/tasks");
8
+ const execute_post_1 = require("../../command/functions/execute-post");
9
+ const use_repository_1 = require("../../database/functions/use-repository");
10
+ const execute_query_1 = require("../../query/functions/execute-query");
11
+ const generate_entity_id_1 = require("./generate-entity-id");
12
+ const request_context_1 = require("../../core/contexts/request-context");
13
+ const task_hook_1 = require("../interfaces/task-hook");
14
+ const run_task_post_hooks_1 = require("./run-task-post-hooks");
15
+ const validate_task_payload_1 = require("./validate-task-payload");
16
+ function isTaskObjectNote(task) {
17
+ return typeof task === "object" && task != null && "objectKey" in task;
18
+ }
19
+ function resolveTaskObject(task) {
20
+ if (isTaskObjectNote(task)) {
21
+ return task;
22
+ }
23
+ return core.storage.findObject(task);
24
+ }
25
+ const createEmptyRequestContext = () => ({
26
+ response: {},
27
+ request: {},
28
+ pendings: [],
29
+ callbacks: {
30
+ success: [],
31
+ error: [],
32
+ },
33
+ onSuccess: async () => { },
34
+ onError: async () => { },
35
+ });
36
+ function resolveRequestContext(options) {
37
+ return options?.requestContext
38
+ ?? request_context_1.requestContextStore.getStore()
39
+ ?? createEmptyRequestContext();
40
+ }
41
+ /** Same semantics as {@link TaskController.query}. */
42
+ async function queryTaskMessages(content) {
43
+ return (0, execute_query_1.executeQuery)({ content });
44
+ }
45
+ async function createTaskMessage(task, payload, options) {
46
+ const object = resolveTaskObject(task);
47
+ const skipPhases = new Set(options?.skipPhases ?? []);
48
+ const requestContext = resolveRequestContext(options);
49
+ const Payload = object.payload();
50
+ if (!skipPhases.has(task_hook_1.taskHookPhase.beforeValidation)) {
51
+ await (0, run_task_post_hooks_1.runTaskPostHooks)(object, task_hook_1.taskHookPhase.beforeValidation, {
52
+ payload,
53
+ requestContext,
54
+ });
55
+ await (0, validate_task_payload_1.validateTaskPayload)(Payload, payload);
56
+ }
57
+ const data = {
58
+ id: (0, generate_entity_id_1.generateEntityId)(),
59
+ partitionId: object.nextPartitionId(),
60
+ payload,
61
+ createdAt: new Date(),
62
+ lastModifiedAt: new Date(),
63
+ };
64
+ if (!skipPhases.has(task_hook_1.taskHookPhase.beforeExecute)) {
65
+ await (0, run_task_post_hooks_1.runTaskPostHooks)(object, task_hook_1.taskHookPhase.beforeExecute, {
66
+ payload,
67
+ requestContext,
68
+ message: data,
69
+ });
70
+ }
71
+ return (0, execute_post_1.executePost)({
72
+ type: "create",
73
+ target: object.MessageModel,
74
+ idProperty: "id",
75
+ data,
76
+ });
77
+ }
78
+ /** Same semantics as {@link TaskController.retry}. */
79
+ async function retryTaskMessage(object, message) {
80
+ const repository = (0, use_repository_1.useRepository)(object.MessageModel);
81
+ const stored = await repository.findOneBy({
82
+ id: message.id,
83
+ });
84
+ if (!stored || stored.status !== tasks_1.TaskMessageStatus.failed) {
85
+ throw new common_1.BadRequestError({
86
+ message: `Reprocessing unavailable for this task`,
87
+ });
88
+ }
89
+ const data = {
90
+ payload: message.payload,
91
+ lastModifiedAt: new Date(),
92
+ status: tasks_1.TaskMessageStatus.pending,
93
+ };
94
+ await repository.update({
95
+ id: message.id,
96
+ partitionId: stored.partitionId,
97
+ }, data);
98
+ return { ...stored, ...data };
99
+ }
100
+ //# sourceMappingURL=task-message-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-message-operations.js","sourceRoot":"./","sources":["tasks/functions/task-message-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Instantiable } from "@rockster/common";
2
+ export declare const validateTaskPayload: (Payload: Instantiable, payload: unknown) => Promise<void>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateTaskPayload = void 0;
4
+ const class_pipe_1 = require("@rockster/class-pipe");
5
+ const global_1 = require("../../global");
6
+ const validateTaskPayload = async (Payload, payload) => {
7
+ const sanitized = {};
8
+ const errors = await (0, class_pipe_1.validate)(Payload, payload, sanitized, {
9
+ groups: [global_1.actionGroups.create],
10
+ });
11
+ if (errors) {
12
+ throw errors;
13
+ }
14
+ if (payload && typeof payload === "object" && !Array.isArray(payload)) {
15
+ Object.assign(payload, sanitized);
16
+ }
17
+ };
18
+ exports.validateTaskPayload = validateTaskPayload;
19
+ //# sourceMappingURL=validate-task-payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-task-payload.js","sourceRoot":"./","sources":["tasks/functions/validate-task-payload.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAChD,yCAA4C;AAErC,MAAM,mBAAmB,GAAG,KAAK,EACrC,OAAqB,EACrB,OAAgB,EACF,EAAE;IAChB,MAAM,SAAS,GAAG,EAA6B,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAQ,EAC1B,OAAO,EACP,OAAO,EACP,SAAS,EACT;QACG,MAAM,EAAE,CAAC,qBAAY,CAAC,MAAM,CAAC;KAC/B,CACH,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACV,MAAM,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,OAAiB,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,mBAAmB,uBAqB9B"}
@@ -0,0 +1,2 @@
1
+ export declare const TASK_PAYLOAD_KEY = "TASK_PAYLOAD";
2
+ export declare const TASK_MESSAGE_KEY = "TASK_MESSAGE";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TASK_MESSAGE_KEY = exports.TASK_PAYLOAD_KEY = void 0;
4
+ exports.TASK_PAYLOAD_KEY = 'TASK_PAYLOAD';
5
+ exports.TASK_MESSAGE_KEY = 'TASK_MESSAGE';
6
+ //# sourceMappingURL=hook-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-constants.js","sourceRoot":"./","sources":["tasks/hook-constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAClC,QAAA,gBAAgB,GAAG,cAAc,CAAC"}
package/tasks/index.d.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  export * from './interfaces';
2
2
  export * from './decorators';
3
+ export * from './hook-constants';
4
+ export * from './functions/create-task-hook';
3
5
  export * from './functions/throw-task-error';
6
+ export * from './functions/task-message-operations';
4
7
  export * from './tasks.module';
5
8
  export * from './models';
package/tasks/index.js CHANGED
@@ -16,7 +16,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./interfaces"), exports);
18
18
  __exportStar(require("./decorators"), exports);
19
+ __exportStar(require("./hook-constants"), exports);
20
+ __exportStar(require("./functions/create-task-hook"), exports);
19
21
  __exportStar(require("./functions/throw-task-error"), exports);
22
+ __exportStar(require("./functions/task-message-operations"), exports);
20
23
  __exportStar(require("./tasks.module"), exports);
21
24
  __exportStar(require("./models"), exports);
22
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"./","sources":["tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,+DAA6C;AAC7C,iDAA+B;AAC/B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"./","sources":["tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,mDAAiC;AACjC,+DAA6C;AAC7C,+DAA6C;AAC7C,sEAAoD;AACpD,iDAA+B;AAC/B,2CAAyB"}
@@ -0,0 +1,17 @@
1
+ import { Dictionary } from "@rockster/common";
2
+ import { IRequestContext } from "../../core/interfaces/request-context";
3
+ import { ITaskMessage } from "@rockster/common/tasks";
4
+ export type TaskPostHookInitialData = Dictionary<unknown> & {
5
+ payload: unknown;
6
+ requestContext?: IRequestContext;
7
+ message?: Partial<ITaskMessage>;
8
+ };
9
+ export type TaskPostHookHandle = {
10
+ (initialData: TaskPostHookInitialData): Promise<void>;
11
+ interceptorName: string;
12
+ phase: string;
13
+ };
14
+ export type CompiledTaskPostHooks = {
15
+ beforeValidation: TaskPostHookHandle[];
16
+ beforeExecute: TaskPostHookHandle[];
17
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=compiled-task-post-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiled-task-post-hooks.js","sourceRoot":"./","sources":["tasks/interfaces/compiled-task-post-hooks.ts"],"names":[],"mappings":""}
@@ -1,5 +1,8 @@
1
1
  export * from './task-naming';
2
2
  export * from './task-object';
3
+ export * from './task-hook';
4
+ export * from './task-post-hook';
5
+ export * from './compiled-task-post-hooks';
3
6
  export * from './task-post-intercept';
4
7
  export * from './task-runner';
5
8
  export * from './task-search-intercept';
@@ -16,6 +16,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./task-naming"), exports);
18
18
  __exportStar(require("./task-object"), exports);
19
+ __exportStar(require("./task-hook"), exports);
20
+ __exportStar(require("./task-post-hook"), exports);
21
+ __exportStar(require("./compiled-task-post-hooks"), exports);
19
22
  __exportStar(require("./task-post-intercept"), exports);
20
23
  __exportStar(require("./task-runner"), exports);
21
24
  __exportStar(require("./task-search-intercept"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"./","sources":["tasks/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,wDAAsC;AACtC,gDAA8B;AAC9B,0DAAwC;AACxC,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"./","sources":["tasks/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,8CAA4B;AAC5B,mDAAiC;AACjC,6DAA2C;AAC3C,wDAAsC;AACtC,gDAA8B;AAC9B,0DAAwC;AACxC,kDAAgC"}
@@ -0,0 +1,16 @@
1
+ import { Instantiable } from "@rockster/common";
2
+ export declare const taskHookPhase: {
3
+ readonly beforeValidation: "taskHook.beforeValidation";
4
+ readonly beforeExecute: "taskHook.beforeExecute";
5
+ };
6
+ export type TaskHookPhase = typeof taskHookPhase[keyof typeof taskHookPhase];
7
+ export type TaskHookDef = {
8
+ name: string;
9
+ phase: TaskHookPhase;
10
+ executor: Instantiable;
11
+ };
12
+ export type TaskHook = TaskHookDef & {
13
+ instance?: {
14
+ intercept(...args: unknown[]): Promise<unknown>;
15
+ };
16
+ };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.taskHookPhase = void 0;
4
+ exports.taskHookPhase = {
5
+ beforeValidation: 'taskHook.beforeValidation',
6
+ beforeExecute: 'taskHook.beforeExecute',
7
+ };
8
+ //# sourceMappingURL=task-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-hook.js","sourceRoot":"./","sources":["tasks/interfaces/task-hook.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAG;IAC1B,gBAAgB,EAAE,2BAA2B;IAC7C,aAAa,EAAE,wBAAwB;CAChC,CAAC"}
@@ -4,6 +4,9 @@ import { IObject } from "../../core";
4
4
  import { ITaskSettings } from "./task-settings";
5
5
  import { PgTableWithColumns } from "drizzle-orm/pg-core";
6
6
  import { ITaskNaming } from "./task-naming";
7
+ import { CompiledTaskPostHooks } from "./compiled-task-post-hooks";
8
+ import { TaskPostHook } from "./task-post-hook";
9
+ import { TaskPostIntercept } from "./task-post-intercept";
7
10
  export interface ITaskObject extends IObject {
8
11
  type: ObjectType.task;
9
12
  settings: ITaskSettings<unknown>;
@@ -14,6 +17,7 @@ export interface ITaskObject extends IObject {
14
17
  Query: MethodDecorator;
15
18
  naming: ITaskNaming;
16
19
  nextPartitionId: () => number;
17
- postIntercept?: boolean;
18
- searchIntercept?: boolean;
20
+ postInterceptors?: TaskPostIntercept[];
21
+ postHooks?: TaskPostHook[];
22
+ compiledPostHooks?: CompiledTaskPostHooks;
19
23
  }
@@ -0,0 +1,2 @@
1
+ import { TaskHookDef } from "./task-hook";
2
+ export type TaskPostHook = TaskHookDef;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=task-post-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-post-hook.js","sourceRoot":"./","sources":["tasks/interfaces/task-post-hook.ts"],"names":[],"mappings":""}
@@ -1,8 +1 @@
1
- import { IRequestContext } from "../../core/interfaces/request-context";
2
- export type TaskOnPostArgs<T> = {
3
- requestContext: IRequestContext;
4
- messages: T[];
5
- };
6
- export interface ITaskPostIntercept<T> {
7
- onPost(args: TaskOnPostArgs<T>): Promise<void>;
8
- }
1
+ export type TaskPostIntercept = () => (target: any, propertyKey: string) => void;
@@ -1,5 +1,6 @@
1
+ import { ITaskMessage } from "@rockster/common/tasks";
1
2
  export type TaskOnRun<T> = {
2
- message: T;
3
+ message: ITaskMessage<T>;
3
4
  };
4
5
  export interface ITaskRunner<T> {
5
6
  onRun(args: TaskOnRun<T>): Promise<void>;