@elsikora/nestjs-crud-automator 2.10.0 → 3.0.0-dev.1

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 (1130) hide show
  1. package/README.md +130 -27
  2. package/dist/cjs/class/api/authorization/bootstrap-validation.service.class.d.ts +9 -2
  3. package/dist/cjs/class/api/authorization/bootstrap-validation.service.class.js +32 -5
  4. package/dist/cjs/class/api/authorization/bootstrap-validation.service.class.js.map +1 -1
  5. package/dist/cjs/class/api/authorization/engine.class.js +1 -0
  6. package/dist/cjs/class/api/authorization/engine.class.js.map +1 -1
  7. package/dist/cjs/class/api/authorization/guard.class.js +1 -0
  8. package/dist/cjs/class/api/authorization/guard.class.js.map +1 -1
  9. package/dist/cjs/class/api/authorization/hook/permission/cache.class.d.ts +2 -0
  10. package/dist/cjs/class/api/authorization/hook/permission/cache.class.js +5 -1
  11. package/dist/cjs/class/api/authorization/hook/permission/cache.class.js.map +1 -1
  12. package/dist/cjs/class/api/authorization/hook/permission/resolver.class.js +1 -1
  13. package/dist/cjs/class/api/authorization/hook/permission/resolver.class.js.map +1 -1
  14. package/dist/cjs/class/api/authorization/iam/attachment/cache.class.d.ts +2 -0
  15. package/dist/cjs/class/api/authorization/iam/attachment/cache.class.js +5 -1
  16. package/dist/cjs/class/api/authorization/iam/attachment/cache.class.js.map +1 -1
  17. package/dist/cjs/class/api/authorization/iam/attachment/resolver.class.js +1 -1
  18. package/dist/cjs/class/api/authorization/iam/attachment/resolver.class.js.map +1 -1
  19. package/dist/cjs/class/api/authorization/iam/document/cache.class.d.ts +2 -0
  20. package/dist/cjs/class/api/authorization/iam/document/cache.class.js +5 -1
  21. package/dist/cjs/class/api/authorization/iam/document/cache.class.js.map +1 -1
  22. package/dist/cjs/class/api/authorization/iam/document/resolver.class.js +2 -2
  23. package/dist/cjs/class/api/authorization/iam/document/resolver.class.js.map +1 -1
  24. package/dist/cjs/class/api/authorization/iam/document/validator.class.js +1 -0
  25. package/dist/cjs/class/api/authorization/iam/document/validator.class.js.map +1 -1
  26. package/dist/cjs/class/api/authorization/iam/engine.class.js +2 -1
  27. package/dist/cjs/class/api/authorization/iam/engine.class.js.map +1 -1
  28. package/dist/cjs/class/api/authorization/policy/base.class.js +1 -0
  29. package/dist/cjs/class/api/authorization/policy/base.class.js.map +1 -1
  30. package/dist/cjs/class/api/authorization/policy/discovery-service.class.d.ts +1 -1
  31. package/dist/cjs/class/api/authorization/policy/discovery-service.class.js +2 -2
  32. package/dist/cjs/class/api/authorization/policy/discovery-service.class.js.map +1 -1
  33. package/dist/cjs/class/api/authorization/policy/executor.class.js +1 -1
  34. package/dist/cjs/class/api/authorization/policy/executor.class.js.map +1 -1
  35. package/dist/cjs/class/api/authorization/policy/registry.class.js +2 -2
  36. package/dist/cjs/class/api/authorization/policy/registry.class.js.map +1 -1
  37. package/dist/cjs/class/api/authorization/resolver/cache.class.d.ts +11 -0
  38. package/dist/cjs/class/api/authorization/resolver/cache.class.js +89 -0
  39. package/dist/cjs/class/api/authorization/resolver/cache.class.js.map +1 -0
  40. package/dist/cjs/class/api/authorization/resolver/index.d.ts +1 -0
  41. package/dist/cjs/class/api/authorization/runtime.class.d.ts +1 -1
  42. package/dist/cjs/class/api/authorization/runtime.class.js +11 -10
  43. package/dist/cjs/class/api/authorization/runtime.class.js.map +1 -1
  44. package/dist/cjs/class/api/authorization/simulator.class.d.ts +1 -1
  45. package/dist/cjs/class/api/authorization/simulator.class.js +1 -1
  46. package/dist/cjs/class/api/authorization/simulator.class.js.map +1 -1
  47. package/dist/cjs/class/api/controller/get-list/index.d.ts +1 -0
  48. package/dist/cjs/class/api/controller/get-list/query/index.d.ts +2 -0
  49. package/dist/cjs/class/api/controller/get-list/query/plan-compiler.class.d.ts +27 -0
  50. package/dist/cjs/class/api/controller/get-list/query/plan-compiler.class.js +355 -0
  51. package/dist/cjs/class/api/controller/get-list/query/plan-compiler.class.js.map +1 -0
  52. package/dist/cjs/class/api/controller/get-list/query/runtime.class.d.ts +11 -0
  53. package/dist/cjs/class/api/controller/get-list/query/runtime.class.js +266 -0
  54. package/dist/cjs/class/api/controller/get-list/query/runtime.class.js.map +1 -0
  55. package/dist/cjs/class/api/controller/index.d.ts +1 -0
  56. package/dist/cjs/class/api/function/context-storage.class.d.ts +7 -1
  57. package/dist/cjs/class/api/function/context-storage.class.js +72 -7
  58. package/dist/cjs/class/api/function/context-storage.class.js.map +1 -1
  59. package/dist/cjs/class/api/function/custom-runtime.class.d.ts +1 -0
  60. package/dist/cjs/class/api/function/custom-runtime.class.js +13 -2
  61. package/dist/cjs/class/api/function/custom-runtime.class.js.map +1 -1
  62. package/dist/cjs/class/api/function/index.d.ts +2 -1
  63. package/dist/cjs/class/api/function/step-runtime.class.d.ts +2 -0
  64. package/dist/cjs/class/api/function/step-runtime.class.js +30 -0
  65. package/dist/cjs/class/api/function/step-runtime.class.js.map +1 -1
  66. package/dist/cjs/class/api/function/transaction/exception/commit-unknown-outcome.class.d.ts +23 -0
  67. package/dist/cjs/class/api/function/transaction/exception/commit-unknown-outcome.class.js +69 -0
  68. package/dist/cjs/class/api/function/transaction/exception/commit-unknown-outcome.class.js.map +1 -0
  69. package/dist/cjs/class/api/function/transaction/exception/index.d.ts +3 -0
  70. package/dist/cjs/class/api/function/transaction/exception/post-commit.class.d.ts +20 -0
  71. package/dist/cjs/class/api/function/transaction/exception/post-commit.class.js +64 -0
  72. package/dist/cjs/class/api/function/transaction/exception/post-commit.class.js.map +1 -0
  73. package/dist/cjs/class/api/function/transaction/exception/rollback.class.d.ts +26 -0
  74. package/dist/cjs/class/api/function/transaction/exception/rollback.class.js +74 -0
  75. package/dist/cjs/class/api/function/transaction/exception/rollback.class.js.map +1 -0
  76. package/dist/cjs/class/api/function/transaction/index.d.ts +5 -0
  77. package/dist/cjs/class/api/function/transaction/lifecycle.class.d.ts +13 -0
  78. package/dist/cjs/class/api/function/transaction/lifecycle.class.js +228 -0
  79. package/dist/cjs/class/api/function/transaction/lifecycle.class.js.map +1 -0
  80. package/dist/cjs/class/api/function/transaction/registry.class.d.ts +23 -0
  81. package/dist/cjs/class/api/function/transaction/registry.class.js +119 -0
  82. package/dist/cjs/class/api/function/transaction/registry.class.js.map +1 -0
  83. package/dist/cjs/class/api/function/transaction/runtime.class.d.ts +11 -0
  84. package/dist/cjs/class/api/function/transaction/runtime.class.js +116 -0
  85. package/dist/cjs/class/api/function/transaction/runtime.class.js.map +1 -0
  86. package/dist/cjs/class/api/function/{transaction-scope.class.d.ts → transaction/scope.class.d.ts} +3 -1
  87. package/dist/cjs/class/api/function/transaction/scope.class.js +78 -0
  88. package/dist/cjs/class/api/function/transaction/scope.class.js.map +1 -0
  89. package/dist/cjs/class/api/index.d.ts +1 -1
  90. package/dist/cjs/class/api/route-runtime.class.d.ts +1 -0
  91. package/dist/cjs/class/api/route-runtime.class.js +115 -56
  92. package/dist/cjs/class/api/route-runtime.class.js.map +1 -1
  93. package/dist/cjs/class/api/subscriber/discovery-service.class.js +3 -3
  94. package/dist/cjs/class/api/subscriber/discovery-service.class.js.map +1 -1
  95. package/dist/cjs/class/api/subscriber/executor.class.js +14 -6
  96. package/dist/cjs/class/api/subscriber/executor.class.js.map +1 -1
  97. package/dist/cjs/class/api/subscriber/index.d.ts +7 -7
  98. package/dist/cjs/class/api/subscriber/registry.class.d.ts +3 -0
  99. package/dist/cjs/class/api/subscriber/registry.class.js +12 -1
  100. package/dist/cjs/class/api/subscriber/registry.class.js.map +1 -1
  101. package/dist/cjs/class/utility/dto/exception/details/foreign-key-violation.class.js +9 -1
  102. package/dist/cjs/class/utility/dto/exception/details/foreign-key-violation.class.js.map +1 -1
  103. package/dist/cjs/class/utility/dto/exception/details/unique-violation.class.js +9 -1
  104. package/dist/cjs/class/utility/dto/exception/details/unique-violation.class.js.map +1 -1
  105. package/dist/cjs/class/utility/dto/property/factory/number.class.js +9 -1
  106. package/dist/cjs/class/utility/dto/property/factory/number.class.js.map +1 -1
  107. package/dist/cjs/class/utility/dto/property/factory/relation.class.js +9 -1
  108. package/dist/cjs/class/utility/dto/property/factory/relation.class.js.map +1 -1
  109. package/dist/cjs/class/utility/dto/strategy/body.class.js +9 -1
  110. package/dist/cjs/class/utility/dto/strategy/body.class.js.map +1 -1
  111. package/dist/cjs/class/utility/dto/strategy/query.class.js +9 -1
  112. package/dist/cjs/class/utility/dto/strategy/query.class.js.map +1 -1
  113. package/dist/cjs/class/utility/dto/strategy/request.class.js +9 -1
  114. package/dist/cjs/class/utility/dto/strategy/request.class.js.map +1 -1
  115. package/dist/cjs/class/utility/dto/strategy/response.class.js +9 -1
  116. package/dist/cjs/class/utility/dto/strategy/response.class.js.map +1 -1
  117. package/dist/cjs/constant/decorator/api/controller.constant.d.ts +1 -0
  118. package/dist/cjs/constant/decorator/api/controller.constant.js +2 -0
  119. package/dist/cjs/constant/decorator/api/controller.constant.js.map +1 -1
  120. package/dist/cjs/constant/decorator/api/function.constant.js +1 -0
  121. package/dist/cjs/constant/decorator/api/function.constant.js.map +1 -1
  122. package/dist/cjs/constant/factory-dto-get-list-query.constant.d.ts +1 -0
  123. package/dist/cjs/constant/factory-dto-get-list-query.constant.js +2 -0
  124. package/dist/cjs/constant/factory-dto-get-list-query.constant.js.map +1 -1
  125. package/dist/cjs/constant/filter/index.d.ts +1 -0
  126. package/dist/cjs/constant/filter/operator-registry.constant.d.ts +9 -0
  127. package/dist/cjs/constant/filter/operator-registry.constant.js +169 -0
  128. package/dist/cjs/constant/filter/operator-registry.constant.js.map +1 -0
  129. package/dist/cjs/constant/index.d.ts +0 -1
  130. package/dist/cjs/constant/swagger/index.d.ts +1 -0
  131. package/dist/cjs/constant/swagger/metadata.constant.d.ts +4 -0
  132. package/dist/cjs/constant/swagger/metadata.constant.js +10 -0
  133. package/dist/cjs/constant/swagger/metadata.constant.js.map +1 -0
  134. package/dist/cjs/constant/utility/api/get-default-string-format-properties/bigint-string/constant.d.ts +4 -3
  135. package/dist/cjs/constant/utility/api/get-default-string-format-properties/bigint-string/constant.js.map +1 -1
  136. package/dist/cjs/constant/utility/api/get-default-string-format-properties/bigint-string/sign/default.constant.d.ts +2 -2
  137. package/dist/cjs/constant/utility/api/get-default-string-format-properties/bigint-string/sign/default.constant.js +3 -1
  138. package/dist/cjs/constant/utility/api/get-default-string-format-properties/bigint-string/sign/default.constant.js.map +1 -1
  139. package/dist/cjs/constant/utility/api/get-default-string-format-properties/bigint-string/sign/properties.constant.d.ts +3 -2
  140. package/dist/cjs/constant/utility/api/get-default-string-format-properties/bigint-string/sign/properties.constant.js +11 -9
  141. package/dist/cjs/constant/utility/api/get-default-string-format-properties/bigint-string/sign/properties.constant.js.map +1 -1
  142. package/dist/cjs/constant/utility/api/get-default-string-format-properties/constant.d.ts +4 -3
  143. package/dist/cjs/constant/utility/api/get-default-string-format-properties/constant.js +4 -2
  144. package/dist/cjs/constant/utility/api/get-default-string-format-properties/constant.js.map +1 -1
  145. package/dist/cjs/constant/utility/api/get-default-string-format-properties/{customizer/map.constant.d.ts → customizer-map.constant.d.ts} +1 -1
  146. package/dist/cjs/constant/utility/api/get-default-string-format-properties/customizer-map.constant.js +37 -0
  147. package/dist/cjs/constant/utility/api/get-default-string-format-properties/customizer-map.constant.js.map +1 -0
  148. package/dist/cjs/constant/utility/api/get-default-string-format-properties/index.d.ts +1 -0
  149. package/dist/cjs/constant/utility/api/index.d.ts +1 -1
  150. package/dist/cjs/constant/utility/dto/constant.d.ts +2 -1
  151. package/dist/cjs/constant/utility/dto/constant.js +12 -2
  152. package/dist/cjs/constant/utility/dto/constant.js.map +1 -1
  153. package/dist/cjs/constant/utility/dto/index.d.ts +1 -0
  154. package/dist/cjs/constant/utility/dto/manual-property-metadata.constant.d.ts +3 -0
  155. package/dist/cjs/constant/utility/dto/manual-property-metadata.constant.js +9 -0
  156. package/dist/cjs/constant/utility/dto/manual-property-metadata.constant.js.map +1 -0
  157. package/dist/cjs/constant/utility/index.d.ts +1 -1
  158. package/dist/cjs/decorator/api/function/create.decorator.js +16 -4
  159. package/dist/cjs/decorator/api/function/create.decorator.js.map +1 -1
  160. package/dist/cjs/decorator/api/function/custom.decorator.js +12 -3
  161. package/dist/cjs/decorator/api/function/custom.decorator.js.map +1 -1
  162. package/dist/cjs/decorator/api/function/decorator.js +16 -8
  163. package/dist/cjs/decorator/api/function/decorator.js.map +1 -1
  164. package/dist/cjs/decorator/api/function/delete.decorator.js +17 -5
  165. package/dist/cjs/decorator/api/function/delete.decorator.js.map +1 -1
  166. package/dist/cjs/decorator/api/function/get/decorator.js +22 -16
  167. package/dist/cjs/decorator/api/function/get/decorator.js.map +1 -1
  168. package/dist/cjs/decorator/api/function/get/list.decorator.js +16 -4
  169. package/dist/cjs/decorator/api/function/get/list.decorator.js.map +1 -1
  170. package/dist/cjs/decorator/api/function/get/many.decorator.js +16 -4
  171. package/dist/cjs/decorator/api/function/get/many.decorator.js.map +1 -1
  172. package/dist/cjs/decorator/api/function/step.decorator.js +12 -3
  173. package/dist/cjs/decorator/api/function/step.decorator.js.map +1 -1
  174. package/dist/cjs/decorator/api/function/update.decorator.js +49 -30
  175. package/dist/cjs/decorator/api/function/update.decorator.js.map +1 -1
  176. package/dist/cjs/decorator/api/index.d.ts +2 -2
  177. package/dist/cjs/decorator/api/method.decorator.js +12 -4
  178. package/dist/cjs/decorator/api/method.decorator.js.map +1 -1
  179. package/dist/cjs/decorator/api/property/boolean.decorator.js +13 -5
  180. package/dist/cjs/decorator/api/property/boolean.decorator.js.map +1 -1
  181. package/dist/cjs/decorator/api/property/date.decorator.js +13 -5
  182. package/dist/cjs/decorator/api/property/date.decorator.js.map +1 -1
  183. package/dist/cjs/decorator/api/property/enum.decorator.js +4 -4
  184. package/dist/cjs/decorator/api/property/enum.decorator.js.map +1 -1
  185. package/dist/cjs/decorator/api/property/number.decorator.js +13 -5
  186. package/dist/cjs/decorator/api/property/number.decorator.js.map +1 -1
  187. package/dist/cjs/decorator/api/property/object.decorator.js +7 -7
  188. package/dist/cjs/decorator/api/property/object.decorator.js.map +1 -1
  189. package/dist/cjs/decorator/api/property/string.decorator.js +13 -5
  190. package/dist/cjs/decorator/api/property/string.decorator.js.map +1 -1
  191. package/dist/cjs/decorator/api/property/uuid.decorator.js +13 -5
  192. package/dist/cjs/decorator/api/property/uuid.decorator.js.map +1 -1
  193. package/dist/cjs/decorator/api/route-custom.decorator.js +10 -2
  194. package/dist/cjs/decorator/api/route-custom.decorator.js.map +1 -1
  195. package/dist/cjs/decorator/api/service/decorator.js +12 -2
  196. package/dist/cjs/decorator/api/service/decorator.js.map +1 -1
  197. package/dist/cjs/decorator/api/service/index.d.ts +2 -2
  198. package/dist/cjs/decorator/api/subscriber/index.d.ts +2 -2
  199. package/dist/cjs/enum/class/authorization/cache-mode.enum.d.ts +4 -0
  200. package/dist/cjs/enum/class/authorization/cache-mode.enum.js +8 -0
  201. package/dist/cjs/enum/class/authorization/cache-mode.enum.js.map +1 -0
  202. package/dist/cjs/enum/class/authorization/index.d.ts +1 -0
  203. package/dist/cjs/enum/decorator/api/controller/get-list/index.d.ts +1 -0
  204. package/dist/cjs/enum/decorator/api/controller/get-list/query/filter/index.d.ts +1 -0
  205. package/dist/cjs/enum/decorator/api/controller/get-list/query/filter/missing-behavior.enum.d.ts +5 -0
  206. package/dist/cjs/enum/decorator/api/controller/get-list/query/filter/missing-behavior.enum.js +9 -0
  207. package/dist/cjs/enum/decorator/api/controller/get-list/query/filter/missing-behavior.enum.js.map +1 -0
  208. package/dist/cjs/enum/decorator/api/controller/get-list/query/index.d.ts +2 -0
  209. package/dist/cjs/enum/decorator/api/controller/get-list/query/unlisted-fields.enum.d.ts +4 -0
  210. package/dist/cjs/enum/decorator/api/controller/get-list/query/unlisted-fields.enum.js +8 -0
  211. package/dist/cjs/enum/decorator/api/controller/get-list/query/unlisted-fields.enum.js.map +1 -0
  212. package/dist/cjs/enum/decorator/api/controller/index.d.ts +1 -0
  213. package/dist/cjs/enum/decorator/api/function/context-storage-kind.enum.d.ts +5 -0
  214. package/dist/cjs/enum/decorator/api/function/context-storage-kind.enum.js +9 -0
  215. package/dist/cjs/enum/decorator/api/function/context-storage-kind.enum.js.map +1 -0
  216. package/dist/cjs/enum/decorator/api/function/index.d.ts +2 -1
  217. package/dist/cjs/enum/decorator/api/function/transaction/event-status.enum.d.ts +4 -0
  218. package/dist/cjs/enum/decorator/api/function/transaction/event-status.enum.js +8 -0
  219. package/dist/cjs/enum/decorator/api/function/transaction/event-status.enum.js.map +1 -0
  220. package/dist/cjs/enum/decorator/api/function/transaction/failure-stage.enum.d.ts +10 -0
  221. package/dist/cjs/enum/decorator/api/function/transaction/failure-stage.enum.js +14 -0
  222. package/dist/cjs/enum/decorator/api/function/transaction/failure-stage.enum.js.map +1 -0
  223. package/dist/cjs/enum/decorator/api/function/transaction/index.d.ts +6 -0
  224. package/dist/cjs/enum/decorator/api/function/{transaction-mode.enum.js → transaction/mode.enum.js} +1 -1
  225. package/dist/cjs/enum/decorator/api/function/transaction/mode.enum.js.map +1 -0
  226. package/dist/cjs/enum/decorator/api/function/transaction/outcome.enum.d.ts +5 -0
  227. package/dist/cjs/enum/decorator/api/function/transaction/outcome.enum.js +9 -0
  228. package/dist/cjs/enum/decorator/api/function/transaction/outcome.enum.js.map +1 -0
  229. package/dist/cjs/enum/decorator/api/function/transaction/owner-kind.enum.d.ts +5 -0
  230. package/dist/cjs/enum/decorator/api/function/transaction/owner-kind.enum.js +9 -0
  231. package/dist/cjs/enum/decorator/api/function/transaction/owner-kind.enum.js.map +1 -0
  232. package/dist/cjs/enum/decorator/api/function/transaction/trace-type.enum.d.ts +3 -0
  233. package/dist/cjs/enum/decorator/api/function/transaction/trace-type.enum.js +7 -0
  234. package/dist/cjs/enum/decorator/api/function/transaction/trace-type.enum.js.map +1 -0
  235. package/dist/cjs/enum/decorator/api/index.d.ts +4 -4
  236. package/dist/cjs/enum/filter/index.d.ts +1 -0
  237. package/dist/cjs/enum/filter/operand.enum.d.ts +6 -0
  238. package/dist/cjs/enum/filter/operand.enum.js +10 -0
  239. package/dist/cjs/enum/filter/operand.enum.js.map +1 -0
  240. package/dist/cjs/enum/index.d.ts +1 -1
  241. package/dist/cjs/enum/utility/get-default-string-format-properties-bigint-string-sign.enum.d.ts +5 -0
  242. package/dist/cjs/enum/utility/get-default-string-format-properties-bigint-string-sign.enum.js +9 -0
  243. package/dist/cjs/enum/utility/get-default-string-format-properties-bigint-string-sign.enum.js.map +1 -0
  244. package/dist/cjs/enum/utility/index.d.ts +2 -1
  245. package/dist/cjs/enum/utility/{dto/manual/property-metadata/decorator.enum.js → manual-dto-property-metadata-decorator.enum.js} +1 -1
  246. package/dist/cjs/enum/utility/manual-dto-property-metadata-decorator.enum.js.map +1 -0
  247. package/dist/cjs/enum/validator/index.d.ts +0 -1
  248. package/dist/cjs/factory/api-controller.factory.js +40 -13
  249. package/dist/cjs/factory/api-controller.factory.js.map +1 -1
  250. package/dist/cjs/index.js +75 -20
  251. package/dist/cjs/index.js.map +1 -1
  252. package/dist/cjs/interface/class/api/authorization/cache/index.d.ts +2 -0
  253. package/dist/cjs/interface/class/api/authorization/cache/memory-options.interface.d.ts +6 -0
  254. package/dist/cjs/interface/class/api/authorization/cache/source-first-options.interface.d.ts +4 -0
  255. package/dist/cjs/interface/class/api/authorization/decision/interface.d.ts +2 -2
  256. package/dist/cjs/interface/class/api/authorization/decision/trace.interface.d.ts +2 -2
  257. package/dist/cjs/interface/class/api/authorization/index.d.ts +1 -0
  258. package/dist/cjs/interface/class/api/authorization/module-options/async.interface.d.ts +2 -2
  259. package/dist/cjs/interface/class/api/authorization/module-options/interface.d.ts +2 -0
  260. package/dist/cjs/interface/class/api/authorization/policy/attachment/source.interface.d.ts +1 -1
  261. package/dist/cjs/interface/class/api/authorization/policy/subscriber/context/interface.d.ts +1 -1
  262. package/dist/cjs/interface/class/api/controller/get-list/index.d.ts +1 -0
  263. package/dist/cjs/interface/class/api/controller/get-list/query/ast/index.d.ts +2 -0
  264. package/dist/cjs/interface/class/api/controller/get-list/query/ast/interface.d.ts +4 -0
  265. package/dist/cjs/interface/class/api/controller/get-list/query/ast/node.interface.d.ts +7 -0
  266. package/dist/cjs/interface/class/api/controller/get-list/query/index.d.ts +5 -0
  267. package/dist/cjs/interface/class/api/controller/get-list/query/operator.interface.d.ts +8 -0
  268. package/dist/cjs/interface/class/api/controller/get-list/query/plan/condition.interface.d.ts +6 -0
  269. package/dist/cjs/interface/class/api/controller/get-list/query/plan/filter/field.interface.d.ts +14 -0
  270. package/dist/cjs/interface/class/api/controller/get-list/query/plan/filter/index.d.ts +2 -0
  271. package/dist/cjs/interface/class/api/controller/get-list/query/plan/filter/interface.d.ts +7 -0
  272. package/dist/cjs/interface/class/api/controller/get-list/query/plan/index.d.ts +4 -0
  273. package/dist/cjs/interface/class/api/controller/get-list/query/plan/interface.d.ts +9 -0
  274. package/dist/cjs/interface/class/api/controller/get-list/query/plan/order/field.interface.d.ts +4 -0
  275. package/dist/cjs/interface/class/api/controller/get-list/query/plan/order/index.d.ts +2 -0
  276. package/dist/cjs/interface/class/api/controller/get-list/query/plan/order/interface.d.ts +7 -0
  277. package/dist/cjs/interface/class/api/controller/get-list/query/raw-group.interface.d.ts +5 -0
  278. package/dist/cjs/interface/class/api/controller/get-list/query/runtime-result.interface.d.ts +10 -0
  279. package/dist/cjs/interface/class/api/controller/index.d.ts +1 -0
  280. package/dist/cjs/interface/class/api/function/context/interface.d.ts +1 -1
  281. package/dist/cjs/interface/class/api/function/index.d.ts +1 -0
  282. package/dist/cjs/interface/class/api/function/transaction/event/failed.interface.d.ts +11 -0
  283. package/dist/cjs/interface/class/api/function/transaction/event/index.d.ts +2 -0
  284. package/dist/cjs/interface/class/api/function/transaction/event/succeeded.interface.d.ts +10 -0
  285. package/dist/cjs/interface/class/api/function/transaction/failure.interface.d.ts +6 -0
  286. package/dist/cjs/interface/class/api/function/transaction/index.d.ts +4 -0
  287. package/dist/cjs/interface/class/api/function/transaction/interface.d.ts +5 -0
  288. package/dist/cjs/interface/class/api/function/transaction/owner/function.interface.d.ts +9 -0
  289. package/dist/cjs/interface/class/api/function/transaction/owner/index.d.ts +3 -0
  290. package/dist/cjs/interface/class/api/function/transaction/owner/route.interface.d.ts +7 -0
  291. package/dist/cjs/interface/class/api/function/transaction/owner/scope.interface.d.ts +5 -0
  292. package/dist/cjs/interface/class/api/route/runtime/generated/execution-options.interface.d.ts +1 -1
  293. package/dist/cjs/interface/class/api/subscriber/function/execution/context/{data/interface.d.ts → data.interface.d.ts} +2 -2
  294. package/dist/cjs/interface/class/api/subscriber/function/execution/context/index.d.ts +2 -1
  295. package/dist/cjs/interface/class/api/subscriber/function/execution/context/update-data.interface.d.ts +12 -0
  296. package/dist/cjs/interface/class/api/subscriber/function/index.d.ts +1 -0
  297. package/dist/cjs/interface/class/api/subscriber/function/interface.d.ts +12 -2
  298. package/dist/cjs/interface/class/api/subscriber/function/transaction/context/data.interface.d.ts +7 -0
  299. package/dist/cjs/interface/class/api/subscriber/function/transaction/context/index.d.ts +2 -0
  300. package/dist/cjs/interface/class/api/subscriber/function/transaction/context/interface.d.ts +4 -0
  301. package/dist/cjs/interface/class/api/subscriber/index.d.ts +4 -4
  302. package/dist/cjs/interface/class/api/subscriber/route/execution/context/data/extended.interface.d.ts +1 -1
  303. package/dist/cjs/interface/decorator/api/controller/properties/route/base/index.d.ts +1 -0
  304. package/dist/cjs/interface/decorator/api/controller/properties/route/base/interface.d.ts +2 -1
  305. package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/request/load.interface.d.ts +2 -1
  306. package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/response/load.interface.d.ts +1 -1
  307. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/index.d.ts +1 -0
  308. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/interface.d.ts +3 -2
  309. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/filter/index.d.ts +1 -0
  310. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/filter/interface.d.ts +6 -0
  311. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/index.d.ts +3 -0
  312. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/interface.d.ts +7 -0
  313. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/order/index.d.ts +1 -0
  314. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/query/order/interface.d.ts +6 -0
  315. package/dist/cjs/interface/decorator/api/controller/properties/route/base/response/interface.d.ts +1 -1
  316. package/dist/cjs/interface/decorator/api/controller/properties/route/base/transaction.interface.d.ts +4 -0
  317. package/dist/cjs/interface/decorator/api/controller/properties.interface.d.ts +1 -1
  318. package/dist/cjs/interface/decorator/api/function/update-executor-properties.interface.d.ts +2 -2
  319. package/dist/cjs/interface/decorator/api/index.d.ts +3 -3
  320. package/dist/cjs/interface/decorator/api/method-properties.interface.d.ts +5 -0
  321. package/dist/cjs/interface/decorator/api/route/custom-properties.interface.d.ts +1 -1
  322. package/dist/cjs/interface/decorator/api/route/metadata/interface.d.ts +2 -2
  323. package/dist/cjs/interface/decorator/api/route/response/properties.interface.d.ts +1 -1
  324. package/dist/cjs/interface/decorator/api/route/security/authentication-properties.interface.d.ts +1 -1
  325. package/dist/cjs/interface/utility/dto-generate-cache-key.interface.d.ts +2 -0
  326. package/dist/cjs/module/api/authorization.module.js +1 -0
  327. package/dist/cjs/module/api/authorization.module.js.map +1 -1
  328. package/dist/cjs/type/class/api/authorization/cache-options.type.d.ts +2 -0
  329. package/dist/cjs/type/class/api/authorization/index.d.ts +1 -0
  330. package/dist/cjs/type/class/api/authorization/policy/context/before/create-context.type.d.ts +1 -1
  331. package/dist/cjs/type/class/api/authorization/policy/context/before/get/list-context.type.d.ts +1 -1
  332. package/dist/cjs/type/class/api/authorization/policy/context/before/partial-update-context.type.d.ts +1 -1
  333. package/dist/cjs/type/class/api/authorization/policy/context/before/update-context.type.d.ts +1 -1
  334. package/dist/cjs/type/class/api/authorization/policy/hook/type.d.ts +1 -1
  335. package/dist/cjs/type/class/api/authorization/policy/subscriber/index.d.ts +1 -1
  336. package/dist/cjs/type/class/api/authorization/policy/subscriber/{permission-rule-options/without-transform.type.d.ts → permission-rule-options-without-transform.type.d.ts} +2 -2
  337. package/dist/cjs/type/class/api/function/context-storage-entry.type.d.ts +13 -5
  338. package/dist/cjs/type/class/api/function/index.d.ts +2 -0
  339. package/dist/cjs/type/class/api/function/transaction/event.type.d.ts +2 -0
  340. package/dist/cjs/type/class/api/function/transaction/index.d.ts +3 -0
  341. package/dist/cjs/type/class/api/function/transaction/owner.type.d.ts +2 -0
  342. package/dist/cjs/type/class/api/function/transaction/trace-type.type.d.ts +2 -0
  343. package/dist/cjs/type/class/api/index.d.ts +1 -0
  344. package/dist/cjs/type/class/api/subscriber/function/after/create-context.type.d.ts +1 -1
  345. package/dist/cjs/type/class/api/subscriber/function/after/delete-context.type.d.ts +1 -1
  346. package/dist/cjs/type/class/api/subscriber/function/after/get/context.type.d.ts +1 -1
  347. package/dist/cjs/type/class/api/subscriber/function/after/get/list-context.type.d.ts +1 -1
  348. package/dist/cjs/type/class/api/subscriber/function/after/get/many-context.type.d.ts +1 -1
  349. package/dist/cjs/type/class/api/subscriber/function/after/update-context.type.d.ts +1 -1
  350. package/dist/cjs/type/class/api/subscriber/function/before/create-context.type.d.ts +1 -1
  351. package/dist/cjs/type/class/api/subscriber/function/before/delete-context.type.d.ts +1 -1
  352. package/dist/cjs/type/class/api/subscriber/function/before/get/context.type.d.ts +1 -1
  353. package/dist/cjs/type/class/api/subscriber/function/before/get/list-context.type.d.ts +1 -1
  354. package/dist/cjs/type/class/api/subscriber/function/before/get/many-context.type.d.ts +1 -1
  355. package/dist/cjs/type/class/api/subscriber/function/before/update-context.type.d.ts +3 -2
  356. package/dist/cjs/type/class/api/subscriber/function/{execution/context/data.type.d.ts → execution-context-data.type.d.ts} +4 -4
  357. package/dist/cjs/type/class/api/subscriber/function/index.d.ts +1 -1
  358. package/dist/cjs/type/class/api/subscriber/function/transaction/data.type.d.ts +1 -1
  359. package/dist/cjs/type/decorator/api/controller/get-list/index.d.ts +1 -0
  360. package/dist/cjs/type/decorator/api/controller/get-list/query/dto-contract.type.d.ts +14 -0
  361. package/dist/cjs/type/decorator/api/controller/get-list/query/field/disabled.type.d.ts +6 -0
  362. package/dist/cjs/type/decorator/api/controller/get-list/query/field/index.d.ts +1 -0
  363. package/dist/cjs/type/decorator/api/controller/get-list/query/filter/condition.type.d.ts +19 -0
  364. package/dist/cjs/type/decorator/api/controller/get-list/query/filter/field/enabled.type.d.ts +15 -0
  365. package/dist/cjs/type/decorator/api/controller/get-list/query/filter/field/index.d.ts +3 -0
  366. package/dist/cjs/type/decorator/api/controller/get-list/query/filter/field/map.type.d.ts +5 -0
  367. package/dist/cjs/type/decorator/api/controller/get-list/query/filter/field/type.d.ts +3 -0
  368. package/dist/cjs/type/decorator/api/controller/get-list/query/filter/index.d.ts +3 -0
  369. package/dist/cjs/type/decorator/api/controller/get-list/query/filter/operation-for-value.type.d.ts +2 -0
  370. package/dist/cjs/type/decorator/api/controller/get-list/query/index.d.ts +6 -0
  371. package/dist/cjs/type/decorator/api/controller/get-list/query/order/field/enabled.type.d.ts +6 -0
  372. package/dist/cjs/type/decorator/api/controller/get-list/query/order/field/index.d.ts +3 -0
  373. package/dist/cjs/type/decorator/api/controller/get-list/query/order/field/map.type.d.ts +3 -0
  374. package/dist/cjs/type/decorator/api/controller/get-list/query/order/field/type.d.ts +3 -0
  375. package/dist/cjs/type/decorator/api/controller/get-list/query/order/index.d.ts +1 -0
  376. package/dist/cjs/type/decorator/api/controller/get-list/query/path/direct-scalar.type.d.ts +4 -0
  377. package/dist/cjs/type/decorator/api/controller/get-list/query/path/filter.type.d.ts +3 -0
  378. package/dist/cjs/type/decorator/api/controller/get-list/query/path/index.d.ts +7 -0
  379. package/dist/cjs/type/decorator/api/controller/get-list/query/path/one-hop-to-one-scalar.type.d.ts +7 -0
  380. package/dist/cjs/type/decorator/api/controller/get-list/query/path/order.type.d.ts +2 -0
  381. package/dist/cjs/type/decorator/api/controller/get-list/query/path/scalar-value.type.d.ts +1 -0
  382. package/dist/cjs/type/decorator/api/controller/get-list/query/path/to-one-relation.type.d.ts +2 -0
  383. package/dist/cjs/type/decorator/api/controller/get-list/query/path/value.type.d.ts +2 -0
  384. package/dist/cjs/type/decorator/api/controller/{get-list-query.type.d.ts → get-list/query/type.d.ts} +2 -2
  385. package/dist/cjs/type/decorator/api/controller/index.d.ts +1 -1
  386. package/dist/cjs/type/decorator/api/controller/properties-route.type.d.ts +2 -1
  387. package/dist/cjs/type/decorator/api/route/{custom/dto-properties.type.d.ts → custom-dto-properties.type.d.ts} +3 -3
  388. package/dist/{esm/type/decorator/api/route/discriminated/dto-properties.type.d.ts → cjs/type/decorator/api/route/discriminated-dto-properties.type.d.ts} +1 -1
  389. package/dist/cjs/type/decorator/api/route/index.d.ts +2 -2
  390. package/dist/{esm/type/utility/api/discriminator/validate/config-properties.type.d.ts → cjs/type/utility/api/discriminator-validate-config-properties.type.d.ts} +1 -1
  391. package/dist/cjs/type/utility/api/get-default-string-format-properties/bigint-string/index.d.ts +1 -1
  392. package/dist/cjs/type/utility/api/get-default-string-format-properties/bigint-string/options.type.d.ts +2 -2
  393. package/dist/cjs/type/utility/api/get-default-string-format-properties/bigint-string/{sign/properties.type.d.ts → sign-properties.type.d.ts} +1 -1
  394. package/dist/cjs/type/utility/api/index.d.ts +1 -1
  395. package/dist/cjs/type/utility/dto/index.d.ts +1 -1
  396. package/dist/cjs/type/utility/dto/{manual/property-metadata.type.d.ts → manual-property-metadata.type.d.ts} +2 -2
  397. package/dist/cjs/type/utility/index.d.ts +1 -0
  398. package/dist/cjs/type/utility/non-empty-readonly-array.type.d.ts +1 -0
  399. package/dist/cjs/type/validator/has-paired-custom-suffixes-fields/index.d.ts +0 -1
  400. package/dist/cjs/utility/api/controller/apply/decorators.utility.d.ts +3 -1
  401. package/dist/cjs/utility/api/controller/apply/decorators.utility.js +17 -3
  402. package/dist/cjs/utility/api/controller/apply/decorators.utility.js.map +1 -1
  403. package/dist/cjs/utility/api/controller/apply/metadata.utility.d.ts +3 -1
  404. package/dist/cjs/utility/api/controller/apply/metadata.utility.js +14 -5
  405. package/dist/cjs/utility/api/controller/apply/metadata.utility.js.map +1 -1
  406. package/dist/cjs/utility/api/controller/build-route-documentation.utility.js +9 -1
  407. package/dist/cjs/utility/api/controller/build-route-documentation.utility.js.map +1 -1
  408. package/dist/cjs/utility/api/controller/get/dto.utility.d.ts +3 -1
  409. package/dist/cjs/utility/api/controller/get/dto.utility.js +15 -4
  410. package/dist/cjs/utility/api/controller/get/dto.utility.js.map +1 -1
  411. package/dist/cjs/utility/api/controller/get-list/query/enum-values.utility.d.ts +6 -0
  412. package/dist/cjs/utility/api/controller/get-list/query/enum-values.utility.js +19 -0
  413. package/dist/cjs/utility/api/controller/get-list/query/enum-values.utility.js.map +1 -0
  414. package/dist/cjs/utility/api/controller/get-list/query/index.d.ts +3 -0
  415. package/dist/cjs/utility/api/controller/get-list/query/open-api/decorators.utility.d.ts +7 -0
  416. package/dist/cjs/utility/api/controller/get-list/query/open-api/decorators.utility.js +101 -0
  417. package/dist/cjs/utility/api/controller/get-list/query/open-api/decorators.utility.js.map +1 -0
  418. package/dist/cjs/utility/api/controller/get-list/query/open-api/index.d.ts +2 -0
  419. package/dist/cjs/utility/api/controller/get-list/query/open-api/value-schema.utility.d.ts +8 -0
  420. package/dist/cjs/utility/api/controller/get-list/query/open-api/value-schema.utility.js +83 -0
  421. package/dist/cjs/utility/api/controller/get-list/query/open-api/value-schema.utility.js.map +1 -0
  422. package/dist/cjs/utility/api/controller/get-list/query/plan/get.utility.d.ts +8 -0
  423. package/dist/cjs/utility/api/controller/get-list/query/plan/get.utility.js +17 -0
  424. package/dist/cjs/utility/api/controller/get-list/query/plan/get.utility.js.map +1 -0
  425. package/dist/cjs/utility/api/controller/get-list/query/plan/index.d.ts +2 -0
  426. package/dist/cjs/utility/api/controller/get-list/query/plan/set.utility.d.ts +9 -0
  427. package/dist/cjs/utility/api/controller/get-list/query/plan/set.utility.js +18 -0
  428. package/dist/cjs/utility/api/controller/get-list/query/plan/set.utility.js.map +1 -0
  429. package/dist/cjs/utility/api/controller/get-list/transform/filter.utility.js +10 -2
  430. package/dist/cjs/utility/api/controller/get-list/transform/filter.utility.js.map +1 -1
  431. package/dist/cjs/utility/api/controller/get-list/transform/operation.utility.js +1 -0
  432. package/dist/cjs/utility/api/controller/get-list/transform/operation.utility.js.map +1 -1
  433. package/dist/cjs/utility/api/controller/handle-request-relations.utility.js +49 -3
  434. package/dist/cjs/utility/api/controller/handle-request-relations.utility.js.map +1 -1
  435. package/dist/cjs/utility/api/controller/transform-data.utility.js +11 -2
  436. package/dist/cjs/utility/api/controller/transform-data.utility.js.map +1 -1
  437. package/dist/cjs/utility/api/controller/write/dto-swagger.utility.d.ts +3 -1
  438. package/dist/cjs/utility/api/controller/write/dto-swagger.utility.js +15 -6
  439. package/dist/cjs/utility/api/controller/write/dto-swagger.utility.js.map +1 -1
  440. package/dist/cjs/utility/api/{discriminator/validate/config.utility.d.ts → discriminator-validate-config.utility.d.ts} +1 -1
  441. package/dist/cjs/utility/api/{discriminator/validate/config.utility.js → discriminator-validate-config.utility.js} +2 -2
  442. package/dist/cjs/utility/api/discriminator-validate-config.utility.js.map +1 -0
  443. package/dist/cjs/utility/api/function-transaction.utility.d.ts +9 -2
  444. package/dist/cjs/utility/api/function-transaction.utility.js +75 -15
  445. package/dist/cjs/utility/api/function-transaction.utility.js.map +1 -1
  446. package/dist/{esm/utility/api/get-default-string-format-properties/bigint-string/apply-options.utility.d.ts → cjs/utility/api/get-default-string-format-properties/bigint-string-apply-options.utility.d.ts} +2 -2
  447. package/dist/cjs/utility/api/get-default-string-format-properties/{bigint-string/apply-options.utility.js → bigint-string-apply-options.utility.js} +4 -2
  448. package/dist/cjs/utility/api/get-default-string-format-properties/bigint-string-apply-options.utility.js.map +1 -0
  449. package/dist/{esm/utility/api/get-default-string-format-properties/customizer/apply.utility.d.ts → cjs/utility/api/get-default-string-format-properties/customizer-apply.utility.d.ts} +2 -2
  450. package/dist/cjs/utility/api/get-default-string-format-properties/{customizer/apply.utility.js → customizer-apply.utility.js} +3 -2
  451. package/dist/cjs/utility/api/get-default-string-format-properties/customizer-apply.utility.js.map +1 -0
  452. package/dist/cjs/utility/api/get-default-string-format-properties/index.d.ts +2 -0
  453. package/dist/cjs/utility/api/get-default-string-format-properties/utility.js +2 -2
  454. package/dist/cjs/utility/api/get-default-string-format-properties/utility.js.map +1 -1
  455. package/dist/cjs/utility/api/index.d.ts +2 -2
  456. package/dist/cjs/utility/api/route/apply-dto-metadata.utility.js +12 -4
  457. package/dist/cjs/utility/api/route/apply-dto-metadata.utility.js.map +1 -1
  458. package/dist/cjs/utility/api/route/discriminator/build-open-api-schema.utility.js.map +1 -1
  459. package/dist/cjs/utility/api/route/discriminator/resolve-dto.utility.js +1 -1
  460. package/dist/cjs/utility/api/route/discriminator/resolve-dto.utility.js.map +1 -1
  461. package/dist/cjs/utility/api/route/discriminator/validate-dto-properties.utility.js +2 -2
  462. package/dist/cjs/utility/api/route/discriminator/validate-dto-properties.utility.js.map +1 -1
  463. package/dist/cjs/utility/api/route/{dto/collect-with-registered-children.utility.js → dto-collect-with-registered-children.utility.js} +2 -2
  464. package/dist/cjs/utility/api/route/dto-collect-with-registered-children.utility.js.map +1 -0
  465. package/dist/cjs/utility/api/route/index.d.ts +2 -2
  466. package/dist/cjs/utility/api/route/response/project-relation.utility.js +9 -1
  467. package/dist/cjs/utility/api/route/response/project-relation.utility.js.map +1 -1
  468. package/dist/cjs/utility/api/route/{validation/flatten-errors.utility.js → validation-flatten-errors.utility.js} +1 -1
  469. package/dist/cjs/utility/api/route/validation-flatten-errors.utility.js.map +1 -0
  470. package/dist/cjs/utility/authorization/permission/set-matches.utility.js +1 -0
  471. package/dist/cjs/utility/authorization/permission/set-matches.utility.js.map +1 -1
  472. package/dist/cjs/utility/authorization/resolve-default-principal.utility.js +1 -0
  473. package/dist/cjs/utility/authorization/resolve-default-principal.utility.js.map +1 -1
  474. package/dist/cjs/utility/dto/build-decorator.utility.js +14 -4
  475. package/dist/cjs/utility/dto/build-decorator.utility.js.map +1 -1
  476. package/dist/cjs/utility/dto/generate/cache-key.utility.d.ts +1 -1
  477. package/dist/cjs/utility/dto/generate/cache-key.utility.js +2 -2
  478. package/dist/cjs/utility/dto/generate/cache-key.utility.js.map +1 -1
  479. package/dist/cjs/utility/dto/generate/core.utility.d.ts +3 -1
  480. package/dist/cjs/utility/dto/generate/core.utility.js +46 -44
  481. package/dist/cjs/utility/dto/generate/core.utility.js.map +1 -1
  482. package/dist/cjs/utility/dto/generate/dynamic.utility.js +11 -3
  483. package/dist/cjs/utility/dto/generate/dynamic.utility.js.map +1 -1
  484. package/dist/cjs/utility/dto/generate/exception.utility.js +9 -1
  485. package/dist/cjs/utility/dto/generate/exception.utility.js.map +1 -1
  486. package/dist/cjs/utility/dto/generate/filter-decorator.utility.d.ts +4 -1
  487. package/dist/cjs/utility/dto/generate/filter-decorator.utility.js +17 -2
  488. package/dist/cjs/utility/dto/generate/filter-decorator.utility.js.map +1 -1
  489. package/dist/cjs/utility/dto/generate/get-list-query-properties.utility.d.ts +25 -0
  490. package/dist/cjs/utility/dto/generate/get-list-query-properties.utility.js +107 -0
  491. package/dist/cjs/utility/dto/generate/get-list-query-properties.utility.js.map +1 -0
  492. package/dist/cjs/utility/dto/generate/get-list-response.utility.js +9 -1
  493. package/dist/cjs/utility/dto/generate/get-list-response.utility.js.map +1 -1
  494. package/dist/cjs/utility/dto/generate/manual-child.utility.js +2 -2
  495. package/dist/cjs/utility/dto/generate/manual-child.utility.js.map +1 -1
  496. package/dist/cjs/utility/dto/get/get-list-query-base-class.utility.d.ts +3 -1
  497. package/dist/cjs/utility/dto/get/get-list-query-base-class.utility.js +19 -4
  498. package/dist/cjs/utility/dto/get/get-list-query-base-class.utility.js.map +1 -1
  499. package/dist/cjs/utility/dto/handle-date-property.utility.js +9 -1
  500. package/dist/cjs/utility/dto/handle-date-property.utility.js.map +1 -1
  501. package/dist/cjs/utility/dto/is/property/index.d.ts +1 -0
  502. package/dist/cjs/utility/dto/is/property/infrastructure-timestamp.utility.d.ts +7 -0
  503. package/dist/cjs/utility/dto/is/property/infrastructure-timestamp.utility.js +45 -0
  504. package/dist/cjs/utility/dto/is/property/infrastructure-timestamp.utility.js.map +1 -0
  505. package/dist/cjs/utility/dto/is/property/should-be-marked.utility.d.ts +2 -2
  506. package/dist/cjs/utility/dto/is/property/should-be-marked.utility.js +14 -5
  507. package/dist/cjs/utility/dto/is/property/should-be-marked.utility.js.map +1 -1
  508. package/dist/cjs/utility/dto/is/should-be-generated.utility.js +9 -1
  509. package/dist/cjs/utility/dto/is/should-be-generated.utility.js.map +1 -1
  510. package/dist/cjs/utility/dto/manual/index.d.ts +1 -0
  511. package/dist/cjs/utility/dto/manual/property-metadata/get.utility.d.ts +8 -0
  512. package/dist/cjs/utility/dto/manual/property-metadata/get.utility.js +32 -0
  513. package/dist/cjs/utility/dto/manual/property-metadata/get.utility.js.map +1 -0
  514. package/dist/cjs/utility/dto/manual/property-metadata/index.d.ts +2 -0
  515. package/dist/cjs/utility/dto/manual/property-metadata/register.utility.d.ts +9 -0
  516. package/dist/cjs/utility/dto/manual/property-metadata/register.utility.js +22 -0
  517. package/dist/cjs/utility/dto/manual/property-metadata/register.utility.js.map +1 -0
  518. package/dist/cjs/utility/queue-auto-context-retry.utility.js +1 -1
  519. package/dist/cjs/utility/queue-auto-context-retry.utility.js.map +1 -1
  520. package/dist/cjs/validator/has/paired-custom-suffixes-fields.validator.js +21 -25
  521. package/dist/cjs/validator/has/paired-custom-suffixes-fields.validator.js.map +1 -1
  522. package/dist/cjs/validator/must-match-one-of-schemas.validator.js +0 -1
  523. package/dist/cjs/validator/must-match-one-of-schemas.validator.js.map +1 -1
  524. package/dist/esm/class/api/authorization/bootstrap-validation.service.class.d.ts +9 -2
  525. package/dist/esm/class/api/authorization/bootstrap-validation.service.class.js +32 -5
  526. package/dist/esm/class/api/authorization/bootstrap-validation.service.class.js.map +1 -1
  527. package/dist/esm/class/api/authorization/engine.class.js +1 -0
  528. package/dist/esm/class/api/authorization/engine.class.js.map +1 -1
  529. package/dist/esm/class/api/authorization/guard.class.js +1 -0
  530. package/dist/esm/class/api/authorization/guard.class.js.map +1 -1
  531. package/dist/esm/class/api/authorization/hook/permission/cache.class.d.ts +2 -0
  532. package/dist/esm/class/api/authorization/hook/permission/cache.class.js +5 -1
  533. package/dist/esm/class/api/authorization/hook/permission/cache.class.js.map +1 -1
  534. package/dist/esm/class/api/authorization/hook/permission/resolver.class.js +1 -1
  535. package/dist/esm/class/api/authorization/hook/permission/resolver.class.js.map +1 -1
  536. package/dist/esm/class/api/authorization/iam/attachment/cache.class.d.ts +2 -0
  537. package/dist/esm/class/api/authorization/iam/attachment/cache.class.js +5 -1
  538. package/dist/esm/class/api/authorization/iam/attachment/cache.class.js.map +1 -1
  539. package/dist/esm/class/api/authorization/iam/attachment/resolver.class.js +1 -1
  540. package/dist/esm/class/api/authorization/iam/attachment/resolver.class.js.map +1 -1
  541. package/dist/esm/class/api/authorization/iam/document/cache.class.d.ts +2 -0
  542. package/dist/esm/class/api/authorization/iam/document/cache.class.js +5 -1
  543. package/dist/esm/class/api/authorization/iam/document/cache.class.js.map +1 -1
  544. package/dist/esm/class/api/authorization/iam/document/resolver.class.js +2 -2
  545. package/dist/esm/class/api/authorization/iam/document/resolver.class.js.map +1 -1
  546. package/dist/esm/class/api/authorization/iam/document/validator.class.js +1 -0
  547. package/dist/esm/class/api/authorization/iam/document/validator.class.js.map +1 -1
  548. package/dist/esm/class/api/authorization/iam/engine.class.js +2 -1
  549. package/dist/esm/class/api/authorization/iam/engine.class.js.map +1 -1
  550. package/dist/esm/class/api/authorization/policy/base.class.js +1 -0
  551. package/dist/esm/class/api/authorization/policy/base.class.js.map +1 -1
  552. package/dist/esm/class/api/authorization/policy/discovery-service.class.d.ts +1 -1
  553. package/dist/esm/class/api/authorization/policy/discovery-service.class.js +2 -2
  554. package/dist/esm/class/api/authorization/policy/discovery-service.class.js.map +1 -1
  555. package/dist/esm/class/api/authorization/policy/executor.class.js +1 -1
  556. package/dist/esm/class/api/authorization/policy/executor.class.js.map +1 -1
  557. package/dist/esm/class/api/authorization/policy/registry.class.js +2 -2
  558. package/dist/esm/class/api/authorization/policy/registry.class.js.map +1 -1
  559. package/dist/esm/class/api/authorization/resolver/cache.class.d.ts +11 -0
  560. package/dist/esm/class/api/authorization/resolver/cache.class.js +87 -0
  561. package/dist/esm/class/api/authorization/resolver/cache.class.js.map +1 -0
  562. package/dist/esm/class/api/authorization/resolver/index.d.ts +1 -0
  563. package/dist/esm/class/api/authorization/runtime.class.d.ts +1 -1
  564. package/dist/esm/class/api/authorization/runtime.class.js +11 -10
  565. package/dist/esm/class/api/authorization/runtime.class.js.map +1 -1
  566. package/dist/esm/class/api/authorization/simulator.class.d.ts +1 -1
  567. package/dist/esm/class/api/authorization/simulator.class.js +1 -1
  568. package/dist/esm/class/api/authorization/simulator.class.js.map +1 -1
  569. package/dist/esm/class/api/controller/get-list/index.d.ts +1 -0
  570. package/dist/esm/class/api/controller/get-list/query/index.d.ts +2 -0
  571. package/dist/esm/class/api/controller/get-list/query/plan-compiler.class.d.ts +27 -0
  572. package/dist/esm/class/api/controller/get-list/query/plan-compiler.class.js +353 -0
  573. package/dist/esm/class/api/controller/get-list/query/plan-compiler.class.js.map +1 -0
  574. package/dist/esm/class/api/controller/get-list/query/runtime.class.d.ts +11 -0
  575. package/dist/esm/class/api/controller/get-list/query/runtime.class.js +264 -0
  576. package/dist/esm/class/api/controller/get-list/query/runtime.class.js.map +1 -0
  577. package/dist/esm/class/api/controller/index.d.ts +1 -0
  578. package/dist/esm/class/api/function/context-storage.class.d.ts +7 -1
  579. package/dist/esm/class/api/function/context-storage.class.js +72 -7
  580. package/dist/esm/class/api/function/context-storage.class.js.map +1 -1
  581. package/dist/esm/class/api/function/custom-runtime.class.d.ts +1 -0
  582. package/dist/esm/class/api/function/custom-runtime.class.js +13 -2
  583. package/dist/esm/class/api/function/custom-runtime.class.js.map +1 -1
  584. package/dist/esm/class/api/function/index.d.ts +2 -1
  585. package/dist/esm/class/api/function/step-runtime.class.d.ts +2 -0
  586. package/dist/esm/class/api/function/step-runtime.class.js +30 -0
  587. package/dist/esm/class/api/function/step-runtime.class.js.map +1 -1
  588. package/dist/esm/class/api/function/transaction/exception/commit-unknown-outcome.class.d.ts +23 -0
  589. package/dist/esm/class/api/function/transaction/exception/commit-unknown-outcome.class.js +67 -0
  590. package/dist/esm/class/api/function/transaction/exception/commit-unknown-outcome.class.js.map +1 -0
  591. package/dist/esm/class/api/function/transaction/exception/index.d.ts +3 -0
  592. package/dist/esm/class/api/function/transaction/exception/post-commit.class.d.ts +20 -0
  593. package/dist/esm/class/api/function/transaction/exception/post-commit.class.js +62 -0
  594. package/dist/esm/class/api/function/transaction/exception/post-commit.class.js.map +1 -0
  595. package/dist/esm/class/api/function/transaction/exception/rollback.class.d.ts +26 -0
  596. package/dist/esm/class/api/function/transaction/exception/rollback.class.js +72 -0
  597. package/dist/esm/class/api/function/transaction/exception/rollback.class.js.map +1 -0
  598. package/dist/esm/class/api/function/transaction/index.d.ts +5 -0
  599. package/dist/esm/class/api/function/transaction/lifecycle.class.d.ts +13 -0
  600. package/dist/esm/class/api/function/transaction/lifecycle.class.js +226 -0
  601. package/dist/esm/class/api/function/transaction/lifecycle.class.js.map +1 -0
  602. package/dist/esm/class/api/function/transaction/registry.class.d.ts +23 -0
  603. package/dist/esm/class/api/function/transaction/registry.class.js +117 -0
  604. package/dist/esm/class/api/function/transaction/registry.class.js.map +1 -0
  605. package/dist/esm/class/api/function/transaction/runtime.class.d.ts +11 -0
  606. package/dist/esm/class/api/function/transaction/runtime.class.js +114 -0
  607. package/dist/esm/class/api/function/transaction/runtime.class.js.map +1 -0
  608. package/dist/esm/class/api/function/{transaction-scope.class.d.ts → transaction/scope.class.d.ts} +3 -1
  609. package/dist/esm/class/api/function/transaction/scope.class.js +76 -0
  610. package/dist/esm/class/api/function/transaction/scope.class.js.map +1 -0
  611. package/dist/esm/class/api/index.d.ts +1 -1
  612. package/dist/esm/class/api/route-runtime.class.d.ts +1 -0
  613. package/dist/esm/class/api/route-runtime.class.js +113 -54
  614. package/dist/esm/class/api/route-runtime.class.js.map +1 -1
  615. package/dist/esm/class/api/subscriber/discovery-service.class.js +3 -3
  616. package/dist/esm/class/api/subscriber/discovery-service.class.js.map +1 -1
  617. package/dist/esm/class/api/subscriber/executor.class.js +14 -6
  618. package/dist/esm/class/api/subscriber/executor.class.js.map +1 -1
  619. package/dist/esm/class/api/subscriber/index.d.ts +7 -7
  620. package/dist/esm/class/api/subscriber/registry.class.d.ts +3 -0
  621. package/dist/esm/class/api/subscriber/registry.class.js +12 -1
  622. package/dist/esm/class/api/subscriber/registry.class.js.map +1 -1
  623. package/dist/esm/class/utility/dto/exception/details/foreign-key-violation.class.js +9 -1
  624. package/dist/esm/class/utility/dto/exception/details/foreign-key-violation.class.js.map +1 -1
  625. package/dist/esm/class/utility/dto/exception/details/unique-violation.class.js +9 -1
  626. package/dist/esm/class/utility/dto/exception/details/unique-violation.class.js.map +1 -1
  627. package/dist/esm/class/utility/dto/property/factory/number.class.js +9 -1
  628. package/dist/esm/class/utility/dto/property/factory/number.class.js.map +1 -1
  629. package/dist/esm/class/utility/dto/property/factory/relation.class.js +9 -1
  630. package/dist/esm/class/utility/dto/property/factory/relation.class.js.map +1 -1
  631. package/dist/esm/class/utility/dto/strategy/body.class.js +9 -1
  632. package/dist/esm/class/utility/dto/strategy/body.class.js.map +1 -1
  633. package/dist/esm/class/utility/dto/strategy/query.class.js +9 -1
  634. package/dist/esm/class/utility/dto/strategy/query.class.js.map +1 -1
  635. package/dist/esm/class/utility/dto/strategy/request.class.js +9 -1
  636. package/dist/esm/class/utility/dto/strategy/request.class.js.map +1 -1
  637. package/dist/esm/class/utility/dto/strategy/response.class.js +9 -1
  638. package/dist/esm/class/utility/dto/strategy/response.class.js.map +1 -1
  639. package/dist/esm/constant/decorator/api/controller.constant.d.ts +1 -0
  640. package/dist/esm/constant/decorator/api/controller.constant.js +2 -0
  641. package/dist/esm/constant/decorator/api/controller.constant.js.map +1 -1
  642. package/dist/esm/constant/decorator/api/function.constant.js +1 -0
  643. package/dist/esm/constant/decorator/api/function.constant.js.map +1 -1
  644. package/dist/esm/constant/factory-dto-get-list-query.constant.d.ts +1 -0
  645. package/dist/esm/constant/factory-dto-get-list-query.constant.js +2 -0
  646. package/dist/esm/constant/factory-dto-get-list-query.constant.js.map +1 -1
  647. package/dist/esm/constant/filter/index.d.ts +1 -0
  648. package/dist/esm/constant/filter/operator-registry.constant.d.ts +9 -0
  649. package/dist/esm/constant/filter/operator-registry.constant.js +167 -0
  650. package/dist/esm/constant/filter/operator-registry.constant.js.map +1 -0
  651. package/dist/esm/constant/index.d.ts +0 -1
  652. package/dist/esm/constant/swagger/index.d.ts +1 -0
  653. package/dist/esm/constant/swagger/metadata.constant.d.ts +4 -0
  654. package/dist/esm/constant/swagger/metadata.constant.js +8 -0
  655. package/dist/esm/constant/swagger/metadata.constant.js.map +1 -0
  656. package/dist/esm/constant/utility/api/get-default-string-format-properties/bigint-string/constant.d.ts +4 -3
  657. package/dist/esm/constant/utility/api/get-default-string-format-properties/bigint-string/constant.js.map +1 -1
  658. package/dist/esm/constant/utility/api/get-default-string-format-properties/bigint-string/sign/default.constant.d.ts +2 -2
  659. package/dist/esm/constant/utility/api/get-default-string-format-properties/bigint-string/sign/default.constant.js +3 -1
  660. package/dist/esm/constant/utility/api/get-default-string-format-properties/bigint-string/sign/default.constant.js.map +1 -1
  661. package/dist/esm/constant/utility/api/get-default-string-format-properties/bigint-string/sign/properties.constant.d.ts +3 -2
  662. package/dist/esm/constant/utility/api/get-default-string-format-properties/bigint-string/sign/properties.constant.js +11 -9
  663. package/dist/esm/constant/utility/api/get-default-string-format-properties/bigint-string/sign/properties.constant.js.map +1 -1
  664. package/dist/esm/constant/utility/api/get-default-string-format-properties/constant.d.ts +4 -3
  665. package/dist/esm/constant/utility/api/get-default-string-format-properties/constant.js +3 -1
  666. package/dist/esm/constant/utility/api/get-default-string-format-properties/constant.js.map +1 -1
  667. package/dist/esm/constant/utility/api/get-default-string-format-properties/{customizer/map.constant.d.ts → customizer-map.constant.d.ts} +1 -1
  668. package/dist/esm/constant/utility/api/get-default-string-format-properties/customizer-map.constant.js +35 -0
  669. package/dist/esm/constant/utility/api/get-default-string-format-properties/customizer-map.constant.js.map +1 -0
  670. package/dist/esm/constant/utility/api/get-default-string-format-properties/index.d.ts +1 -0
  671. package/dist/esm/constant/utility/api/index.d.ts +1 -1
  672. package/dist/esm/constant/utility/dto/constant.d.ts +2 -1
  673. package/dist/esm/constant/utility/dto/constant.js +12 -2
  674. package/dist/esm/constant/utility/dto/constant.js.map +1 -1
  675. package/dist/esm/constant/utility/dto/index.d.ts +1 -0
  676. package/dist/esm/constant/utility/dto/manual-property-metadata.constant.d.ts +3 -0
  677. package/dist/esm/constant/utility/dto/manual-property-metadata.constant.js +7 -0
  678. package/dist/esm/constant/utility/dto/manual-property-metadata.constant.js.map +1 -0
  679. package/dist/esm/constant/utility/index.d.ts +1 -1
  680. package/dist/esm/decorator/api/function/create.decorator.js +15 -3
  681. package/dist/esm/decorator/api/function/create.decorator.js.map +1 -1
  682. package/dist/esm/decorator/api/function/custom.decorator.js +11 -2
  683. package/dist/esm/decorator/api/function/custom.decorator.js.map +1 -1
  684. package/dist/esm/decorator/api/function/decorator.js +16 -8
  685. package/dist/esm/decorator/api/function/decorator.js.map +1 -1
  686. package/dist/esm/decorator/api/function/delete.decorator.js +16 -4
  687. package/dist/esm/decorator/api/function/delete.decorator.js.map +1 -1
  688. package/dist/esm/decorator/api/function/get/decorator.js +21 -15
  689. package/dist/esm/decorator/api/function/get/decorator.js.map +1 -1
  690. package/dist/esm/decorator/api/function/get/list.decorator.js +15 -3
  691. package/dist/esm/decorator/api/function/get/list.decorator.js.map +1 -1
  692. package/dist/esm/decorator/api/function/get/many.decorator.js +15 -3
  693. package/dist/esm/decorator/api/function/get/many.decorator.js.map +1 -1
  694. package/dist/esm/decorator/api/function/step.decorator.js +11 -2
  695. package/dist/esm/decorator/api/function/step.decorator.js.map +1 -1
  696. package/dist/esm/decorator/api/function/update.decorator.js +48 -29
  697. package/dist/esm/decorator/api/function/update.decorator.js.map +1 -1
  698. package/dist/esm/decorator/api/index.d.ts +2 -2
  699. package/dist/esm/decorator/api/method.decorator.js +11 -3
  700. package/dist/esm/decorator/api/method.decorator.js.map +1 -1
  701. package/dist/esm/decorator/api/property/boolean.decorator.js +11 -3
  702. package/dist/esm/decorator/api/property/boolean.decorator.js.map +1 -1
  703. package/dist/esm/decorator/api/property/date.decorator.js +11 -3
  704. package/dist/esm/decorator/api/property/date.decorator.js.map +1 -1
  705. package/dist/esm/decorator/api/property/enum.decorator.js +2 -2
  706. package/dist/esm/decorator/api/property/number.decorator.js +11 -3
  707. package/dist/esm/decorator/api/property/number.decorator.js.map +1 -1
  708. package/dist/esm/decorator/api/property/object.decorator.js +3 -3
  709. package/dist/esm/decorator/api/property/string.decorator.js +11 -3
  710. package/dist/esm/decorator/api/property/string.decorator.js.map +1 -1
  711. package/dist/esm/decorator/api/property/uuid.decorator.js +11 -3
  712. package/dist/esm/decorator/api/property/uuid.decorator.js.map +1 -1
  713. package/dist/esm/decorator/api/route-custom.decorator.js +10 -2
  714. package/dist/esm/decorator/api/route-custom.decorator.js.map +1 -1
  715. package/dist/esm/decorator/api/service/decorator.js +12 -2
  716. package/dist/esm/decorator/api/service/decorator.js.map +1 -1
  717. package/dist/esm/decorator/api/service/index.d.ts +2 -2
  718. package/dist/esm/decorator/api/subscriber/index.d.ts +2 -2
  719. package/dist/esm/enum/class/authorization/cache-mode.enum.d.ts +4 -0
  720. package/dist/esm/enum/class/authorization/cache-mode.enum.js +8 -0
  721. package/dist/esm/enum/class/authorization/cache-mode.enum.js.map +1 -0
  722. package/dist/esm/enum/class/authorization/index.d.ts +1 -0
  723. package/dist/esm/enum/decorator/api/controller/get-list/index.d.ts +1 -0
  724. package/dist/esm/enum/decorator/api/controller/get-list/query/filter/index.d.ts +1 -0
  725. package/dist/esm/enum/decorator/api/controller/get-list/query/filter/missing-behavior.enum.d.ts +5 -0
  726. package/dist/esm/enum/decorator/api/controller/get-list/query/filter/missing-behavior.enum.js +9 -0
  727. package/dist/esm/enum/decorator/api/controller/get-list/query/filter/missing-behavior.enum.js.map +1 -0
  728. package/dist/esm/enum/decorator/api/controller/get-list/query/index.d.ts +2 -0
  729. package/dist/esm/enum/decorator/api/controller/get-list/query/unlisted-fields.enum.d.ts +4 -0
  730. package/dist/esm/enum/decorator/api/controller/get-list/query/unlisted-fields.enum.js +8 -0
  731. package/dist/esm/enum/decorator/api/controller/get-list/query/unlisted-fields.enum.js.map +1 -0
  732. package/dist/esm/enum/decorator/api/controller/index.d.ts +1 -0
  733. package/dist/esm/enum/decorator/api/function/context-storage-kind.enum.d.ts +5 -0
  734. package/dist/esm/enum/decorator/api/function/context-storage-kind.enum.js +9 -0
  735. package/dist/esm/enum/decorator/api/function/context-storage-kind.enum.js.map +1 -0
  736. package/dist/esm/enum/decorator/api/function/index.d.ts +2 -1
  737. package/dist/esm/enum/decorator/api/function/transaction/event-status.enum.d.ts +4 -0
  738. package/dist/esm/enum/decorator/api/function/transaction/event-status.enum.js +8 -0
  739. package/dist/esm/enum/decorator/api/function/transaction/event-status.enum.js.map +1 -0
  740. package/dist/esm/enum/decorator/api/function/transaction/failure-stage.enum.d.ts +10 -0
  741. package/dist/esm/enum/decorator/api/function/transaction/failure-stage.enum.js +14 -0
  742. package/dist/esm/enum/decorator/api/function/transaction/failure-stage.enum.js.map +1 -0
  743. package/dist/esm/enum/decorator/api/function/transaction/index.d.ts +6 -0
  744. package/dist/esm/enum/decorator/api/function/{transaction-mode.enum.js → transaction/mode.enum.js} +1 -1
  745. package/dist/esm/enum/decorator/api/function/transaction/mode.enum.js.map +1 -0
  746. package/dist/esm/enum/decorator/api/function/transaction/outcome.enum.d.ts +5 -0
  747. package/dist/esm/enum/decorator/api/function/transaction/outcome.enum.js +9 -0
  748. package/dist/esm/enum/decorator/api/function/transaction/outcome.enum.js.map +1 -0
  749. package/dist/esm/enum/decorator/api/function/transaction/owner-kind.enum.d.ts +5 -0
  750. package/dist/esm/enum/decorator/api/function/transaction/owner-kind.enum.js +9 -0
  751. package/dist/esm/enum/decorator/api/function/transaction/owner-kind.enum.js.map +1 -0
  752. package/dist/esm/enum/decorator/api/function/transaction/trace-type.enum.d.ts +3 -0
  753. package/dist/esm/enum/decorator/api/function/transaction/trace-type.enum.js +7 -0
  754. package/dist/esm/enum/decorator/api/function/transaction/trace-type.enum.js.map +1 -0
  755. package/dist/esm/enum/decorator/api/index.d.ts +4 -4
  756. package/dist/esm/enum/filter/index.d.ts +1 -0
  757. package/dist/esm/enum/filter/operand.enum.d.ts +6 -0
  758. package/dist/esm/enum/filter/operand.enum.js +10 -0
  759. package/dist/esm/enum/filter/operand.enum.js.map +1 -0
  760. package/dist/esm/enum/index.d.ts +1 -1
  761. package/dist/esm/enum/utility/get-default-string-format-properties-bigint-string-sign.enum.d.ts +5 -0
  762. package/dist/esm/enum/utility/get-default-string-format-properties-bigint-string-sign.enum.js +9 -0
  763. package/dist/esm/enum/utility/get-default-string-format-properties-bigint-string-sign.enum.js.map +1 -0
  764. package/dist/esm/enum/utility/index.d.ts +2 -1
  765. package/dist/esm/enum/utility/{dto/manual/property-metadata/decorator.enum.js → manual-dto-property-metadata-decorator.enum.js} +1 -1
  766. package/dist/esm/enum/utility/manual-dto-property-metadata-decorator.enum.js.map +1 -0
  767. package/dist/esm/enum/validator/index.d.ts +0 -1
  768. package/dist/esm/factory/api-controller.factory.js +40 -13
  769. package/dist/esm/factory/api-controller.factory.js.map +1 -1
  770. package/dist/esm/index.js +24 -8
  771. package/dist/esm/index.js.map +1 -1
  772. package/dist/esm/interface/class/api/authorization/cache/index.d.ts +2 -0
  773. package/dist/esm/interface/class/api/authorization/cache/memory-options.interface.d.ts +6 -0
  774. package/dist/esm/interface/class/api/authorization/cache/source-first-options.interface.d.ts +4 -0
  775. package/dist/esm/interface/class/api/authorization/decision/interface.d.ts +2 -2
  776. package/dist/esm/interface/class/api/authorization/decision/trace.interface.d.ts +2 -2
  777. package/dist/esm/interface/class/api/authorization/index.d.ts +1 -0
  778. package/dist/esm/interface/class/api/authorization/module-options/async.interface.d.ts +2 -2
  779. package/dist/esm/interface/class/api/authorization/module-options/interface.d.ts +2 -0
  780. package/dist/esm/interface/class/api/authorization/policy/attachment/source.interface.d.ts +1 -1
  781. package/dist/esm/interface/class/api/authorization/policy/subscriber/context/interface.d.ts +1 -1
  782. package/dist/esm/interface/class/api/controller/get-list/index.d.ts +1 -0
  783. package/dist/esm/interface/class/api/controller/get-list/query/ast/index.d.ts +2 -0
  784. package/dist/esm/interface/class/api/controller/get-list/query/ast/interface.d.ts +4 -0
  785. package/dist/esm/interface/class/api/controller/get-list/query/ast/node.interface.d.ts +7 -0
  786. package/dist/esm/interface/class/api/controller/get-list/query/index.d.ts +5 -0
  787. package/dist/esm/interface/class/api/controller/get-list/query/operator.interface.d.ts +8 -0
  788. package/dist/esm/interface/class/api/controller/get-list/query/plan/condition.interface.d.ts +6 -0
  789. package/dist/esm/interface/class/api/controller/get-list/query/plan/filter/field.interface.d.ts +14 -0
  790. package/dist/esm/interface/class/api/controller/get-list/query/plan/filter/index.d.ts +2 -0
  791. package/dist/esm/interface/class/api/controller/get-list/query/plan/filter/interface.d.ts +7 -0
  792. package/dist/esm/interface/class/api/controller/get-list/query/plan/index.d.ts +4 -0
  793. package/dist/esm/interface/class/api/controller/get-list/query/plan/interface.d.ts +9 -0
  794. package/dist/esm/interface/class/api/controller/get-list/query/plan/order/field.interface.d.ts +4 -0
  795. package/dist/esm/interface/class/api/controller/get-list/query/plan/order/index.d.ts +2 -0
  796. package/dist/esm/interface/class/api/controller/get-list/query/plan/order/interface.d.ts +7 -0
  797. package/dist/esm/interface/class/api/controller/get-list/query/raw-group.interface.d.ts +5 -0
  798. package/dist/esm/interface/class/api/controller/get-list/query/runtime-result.interface.d.ts +10 -0
  799. package/dist/esm/interface/class/api/controller/index.d.ts +1 -0
  800. package/dist/esm/interface/class/api/function/context/interface.d.ts +1 -1
  801. package/dist/esm/interface/class/api/function/index.d.ts +1 -0
  802. package/dist/esm/interface/class/api/function/transaction/event/failed.interface.d.ts +11 -0
  803. package/dist/esm/interface/class/api/function/transaction/event/index.d.ts +2 -0
  804. package/dist/esm/interface/class/api/function/transaction/event/succeeded.interface.d.ts +10 -0
  805. package/dist/esm/interface/class/api/function/transaction/failure.interface.d.ts +6 -0
  806. package/dist/esm/interface/class/api/function/transaction/index.d.ts +4 -0
  807. package/dist/esm/interface/class/api/function/transaction/interface.d.ts +5 -0
  808. package/dist/esm/interface/class/api/function/transaction/owner/function.interface.d.ts +9 -0
  809. package/dist/esm/interface/class/api/function/transaction/owner/index.d.ts +3 -0
  810. package/dist/esm/interface/class/api/function/transaction/owner/route.interface.d.ts +7 -0
  811. package/dist/esm/interface/class/api/function/transaction/owner/scope.interface.d.ts +5 -0
  812. package/dist/esm/interface/class/api/route/runtime/generated/execution-options.interface.d.ts +1 -1
  813. package/dist/esm/interface/class/api/subscriber/function/execution/context/{data/interface.d.ts → data.interface.d.ts} +2 -2
  814. package/dist/esm/interface/class/api/subscriber/function/execution/context/index.d.ts +2 -1
  815. package/dist/esm/interface/class/api/subscriber/function/execution/context/update-data.interface.d.ts +12 -0
  816. package/dist/esm/interface/class/api/subscriber/function/index.d.ts +1 -0
  817. package/dist/esm/interface/class/api/subscriber/function/interface.d.ts +12 -2
  818. package/dist/esm/interface/class/api/subscriber/function/transaction/context/data.interface.d.ts +7 -0
  819. package/dist/esm/interface/class/api/subscriber/function/transaction/context/index.d.ts +2 -0
  820. package/dist/esm/interface/class/api/subscriber/function/transaction/context/interface.d.ts +4 -0
  821. package/dist/esm/interface/class/api/subscriber/index.d.ts +4 -4
  822. package/dist/esm/interface/class/api/subscriber/route/execution/context/data/extended.interface.d.ts +1 -1
  823. package/dist/esm/interface/decorator/api/controller/properties/route/base/index.d.ts +1 -0
  824. package/dist/esm/interface/decorator/api/controller/properties/route/base/interface.d.ts +2 -1
  825. package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/request/load.interface.d.ts +2 -1
  826. package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/response/load.interface.d.ts +1 -1
  827. package/dist/esm/interface/decorator/api/controller/properties/route/base/request/index.d.ts +1 -0
  828. package/dist/esm/interface/decorator/api/controller/properties/route/base/request/interface.d.ts +3 -2
  829. package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/filter/index.d.ts +1 -0
  830. package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/filter/interface.d.ts +6 -0
  831. package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/index.d.ts +3 -0
  832. package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/interface.d.ts +7 -0
  833. package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/order/index.d.ts +1 -0
  834. package/dist/esm/interface/decorator/api/controller/properties/route/base/request/query/order/interface.d.ts +6 -0
  835. package/dist/esm/interface/decorator/api/controller/properties/route/base/response/interface.d.ts +1 -1
  836. package/dist/esm/interface/decorator/api/controller/properties/route/base/transaction.interface.d.ts +4 -0
  837. package/dist/esm/interface/decorator/api/controller/properties.interface.d.ts +1 -1
  838. package/dist/esm/interface/decorator/api/function/update-executor-properties.interface.d.ts +2 -2
  839. package/dist/esm/interface/decorator/api/index.d.ts +3 -3
  840. package/dist/esm/interface/decorator/api/method-properties.interface.d.ts +5 -0
  841. package/dist/esm/interface/decorator/api/route/custom-properties.interface.d.ts +1 -1
  842. package/dist/esm/interface/decorator/api/route/metadata/interface.d.ts +2 -2
  843. package/dist/esm/interface/decorator/api/route/response/properties.interface.d.ts +1 -1
  844. package/dist/esm/interface/decorator/api/route/security/authentication-properties.interface.d.ts +1 -1
  845. package/dist/esm/interface/utility/dto-generate-cache-key.interface.d.ts +2 -0
  846. package/dist/esm/module/api/authorization.module.js +1 -0
  847. package/dist/esm/module/api/authorization.module.js.map +1 -1
  848. package/dist/esm/type/class/api/authorization/cache-options.type.d.ts +2 -0
  849. package/dist/esm/type/class/api/authorization/index.d.ts +1 -0
  850. package/dist/esm/type/class/api/authorization/policy/context/before/create-context.type.d.ts +1 -1
  851. package/dist/esm/type/class/api/authorization/policy/context/before/get/list-context.type.d.ts +1 -1
  852. package/dist/esm/type/class/api/authorization/policy/context/before/partial-update-context.type.d.ts +1 -1
  853. package/dist/esm/type/class/api/authorization/policy/context/before/update-context.type.d.ts +1 -1
  854. package/dist/esm/type/class/api/authorization/policy/hook/type.d.ts +1 -1
  855. package/dist/esm/type/class/api/authorization/policy/subscriber/index.d.ts +1 -1
  856. package/dist/esm/type/class/api/authorization/policy/subscriber/{permission-rule-options/without-transform.type.d.ts → permission-rule-options-without-transform.type.d.ts} +2 -2
  857. package/dist/esm/type/class/api/function/context-storage-entry.type.d.ts +13 -5
  858. package/dist/esm/type/class/api/function/index.d.ts +2 -0
  859. package/dist/esm/type/class/api/function/transaction/event.type.d.ts +2 -0
  860. package/dist/esm/type/class/api/function/transaction/index.d.ts +3 -0
  861. package/dist/esm/type/class/api/function/transaction/owner.type.d.ts +2 -0
  862. package/dist/esm/type/class/api/function/transaction/trace-type.type.d.ts +2 -0
  863. package/dist/esm/type/class/api/index.d.ts +1 -0
  864. package/dist/esm/type/class/api/subscriber/function/after/create-context.type.d.ts +1 -1
  865. package/dist/esm/type/class/api/subscriber/function/after/delete-context.type.d.ts +1 -1
  866. package/dist/esm/type/class/api/subscriber/function/after/get/context.type.d.ts +1 -1
  867. package/dist/esm/type/class/api/subscriber/function/after/get/list-context.type.d.ts +1 -1
  868. package/dist/esm/type/class/api/subscriber/function/after/get/many-context.type.d.ts +1 -1
  869. package/dist/esm/type/class/api/subscriber/function/after/update-context.type.d.ts +1 -1
  870. package/dist/esm/type/class/api/subscriber/function/before/create-context.type.d.ts +1 -1
  871. package/dist/esm/type/class/api/subscriber/function/before/delete-context.type.d.ts +1 -1
  872. package/dist/esm/type/class/api/subscriber/function/before/get/context.type.d.ts +1 -1
  873. package/dist/esm/type/class/api/subscriber/function/before/get/list-context.type.d.ts +1 -1
  874. package/dist/esm/type/class/api/subscriber/function/before/get/many-context.type.d.ts +1 -1
  875. package/dist/esm/type/class/api/subscriber/function/before/update-context.type.d.ts +3 -2
  876. package/dist/esm/type/class/api/subscriber/function/{execution/context/data.type.d.ts → execution-context-data.type.d.ts} +4 -4
  877. package/dist/esm/type/class/api/subscriber/function/index.d.ts +1 -1
  878. package/dist/esm/type/class/api/subscriber/function/transaction/data.type.d.ts +1 -1
  879. package/dist/esm/type/decorator/api/controller/get-list/index.d.ts +1 -0
  880. package/dist/esm/type/decorator/api/controller/get-list/query/dto-contract.type.d.ts +14 -0
  881. package/dist/esm/type/decorator/api/controller/get-list/query/field/disabled.type.d.ts +6 -0
  882. package/dist/esm/type/decorator/api/controller/get-list/query/field/index.d.ts +1 -0
  883. package/dist/esm/type/decorator/api/controller/get-list/query/filter/condition.type.d.ts +19 -0
  884. package/dist/esm/type/decorator/api/controller/get-list/query/filter/field/enabled.type.d.ts +15 -0
  885. package/dist/esm/type/decorator/api/controller/get-list/query/filter/field/index.d.ts +3 -0
  886. package/dist/esm/type/decorator/api/controller/get-list/query/filter/field/map.type.d.ts +5 -0
  887. package/dist/esm/type/decorator/api/controller/get-list/query/filter/field/type.d.ts +3 -0
  888. package/dist/esm/type/decorator/api/controller/get-list/query/filter/index.d.ts +3 -0
  889. package/dist/esm/type/decorator/api/controller/get-list/query/filter/operation-for-value.type.d.ts +2 -0
  890. package/dist/esm/type/decorator/api/controller/get-list/query/index.d.ts +6 -0
  891. package/dist/esm/type/decorator/api/controller/get-list/query/order/field/enabled.type.d.ts +6 -0
  892. package/dist/esm/type/decorator/api/controller/get-list/query/order/field/index.d.ts +3 -0
  893. package/dist/esm/type/decorator/api/controller/get-list/query/order/field/map.type.d.ts +3 -0
  894. package/dist/esm/type/decorator/api/controller/get-list/query/order/field/type.d.ts +3 -0
  895. package/dist/esm/type/decorator/api/controller/get-list/query/order/index.d.ts +1 -0
  896. package/dist/esm/type/decorator/api/controller/get-list/query/path/direct-scalar.type.d.ts +4 -0
  897. package/dist/esm/type/decorator/api/controller/get-list/query/path/filter.type.d.ts +3 -0
  898. package/dist/esm/type/decorator/api/controller/get-list/query/path/index.d.ts +7 -0
  899. package/dist/esm/type/decorator/api/controller/get-list/query/path/one-hop-to-one-scalar.type.d.ts +7 -0
  900. package/dist/esm/type/decorator/api/controller/get-list/query/path/order.type.d.ts +2 -0
  901. package/dist/esm/type/decorator/api/controller/get-list/query/path/scalar-value.type.d.ts +1 -0
  902. package/dist/esm/type/decorator/api/controller/get-list/query/path/to-one-relation.type.d.ts +2 -0
  903. package/dist/esm/type/decorator/api/controller/get-list/query/path/value.type.d.ts +2 -0
  904. package/dist/esm/type/decorator/api/controller/{get-list-query.type.d.ts → get-list/query/type.d.ts} +2 -2
  905. package/dist/esm/type/decorator/api/controller/index.d.ts +1 -1
  906. package/dist/esm/type/decorator/api/controller/properties-route.type.d.ts +2 -1
  907. package/dist/esm/type/decorator/api/route/{custom/dto-properties.type.d.ts → custom-dto-properties.type.d.ts} +3 -3
  908. package/dist/{cjs/type/decorator/api/route/discriminated/dto-properties.type.d.ts → esm/type/decorator/api/route/discriminated-dto-properties.type.d.ts} +1 -1
  909. package/dist/esm/type/decorator/api/route/index.d.ts +2 -2
  910. package/dist/{cjs/type/utility/api/discriminator/validate/config-properties.type.d.ts → esm/type/utility/api/discriminator-validate-config-properties.type.d.ts} +1 -1
  911. package/dist/esm/type/utility/api/get-default-string-format-properties/bigint-string/index.d.ts +1 -1
  912. package/dist/esm/type/utility/api/get-default-string-format-properties/bigint-string/options.type.d.ts +2 -2
  913. package/dist/esm/type/utility/api/get-default-string-format-properties/bigint-string/{sign/properties.type.d.ts → sign-properties.type.d.ts} +1 -1
  914. package/dist/esm/type/utility/api/index.d.ts +1 -1
  915. package/dist/esm/type/utility/dto/index.d.ts +1 -1
  916. package/dist/esm/type/utility/dto/{manual/property-metadata.type.d.ts → manual-property-metadata.type.d.ts} +2 -2
  917. package/dist/esm/type/utility/index.d.ts +1 -0
  918. package/dist/esm/type/utility/non-empty-readonly-array.type.d.ts +1 -0
  919. package/dist/esm/type/validator/has-paired-custom-suffixes-fields/index.d.ts +0 -1
  920. package/dist/esm/utility/api/controller/apply/decorators.utility.d.ts +3 -1
  921. package/dist/esm/utility/api/controller/apply/decorators.utility.js +17 -3
  922. package/dist/esm/utility/api/controller/apply/decorators.utility.js.map +1 -1
  923. package/dist/esm/utility/api/controller/apply/metadata.utility.d.ts +3 -1
  924. package/dist/esm/utility/api/controller/apply/metadata.utility.js +14 -5
  925. package/dist/esm/utility/api/controller/apply/metadata.utility.js.map +1 -1
  926. package/dist/esm/utility/api/controller/build-route-documentation.utility.js +9 -1
  927. package/dist/esm/utility/api/controller/build-route-documentation.utility.js.map +1 -1
  928. package/dist/esm/utility/api/controller/get/dto.utility.d.ts +3 -1
  929. package/dist/esm/utility/api/controller/get/dto.utility.js +15 -4
  930. package/dist/esm/utility/api/controller/get/dto.utility.js.map +1 -1
  931. package/dist/esm/utility/api/controller/get-list/query/enum-values.utility.d.ts +6 -0
  932. package/dist/esm/utility/api/controller/get-list/query/enum-values.utility.js +17 -0
  933. package/dist/esm/utility/api/controller/get-list/query/enum-values.utility.js.map +1 -0
  934. package/dist/esm/utility/api/controller/get-list/query/index.d.ts +3 -0
  935. package/dist/esm/utility/api/controller/get-list/query/open-api/decorators.utility.d.ts +7 -0
  936. package/dist/esm/utility/api/controller/get-list/query/open-api/decorators.utility.js +99 -0
  937. package/dist/esm/utility/api/controller/get-list/query/open-api/decorators.utility.js.map +1 -0
  938. package/dist/esm/utility/api/controller/get-list/query/open-api/index.d.ts +2 -0
  939. package/dist/esm/utility/api/controller/get-list/query/open-api/value-schema.utility.d.ts +8 -0
  940. package/dist/esm/utility/api/controller/get-list/query/open-api/value-schema.utility.js +81 -0
  941. package/dist/esm/utility/api/controller/get-list/query/open-api/value-schema.utility.js.map +1 -0
  942. package/dist/esm/utility/api/controller/get-list/query/plan/get.utility.d.ts +8 -0
  943. package/dist/esm/utility/api/controller/get-list/query/plan/get.utility.js +15 -0
  944. package/dist/esm/utility/api/controller/get-list/query/plan/get.utility.js.map +1 -0
  945. package/dist/esm/utility/api/controller/get-list/query/plan/index.d.ts +2 -0
  946. package/dist/esm/utility/api/controller/get-list/query/plan/set.utility.d.ts +9 -0
  947. package/dist/esm/utility/api/controller/get-list/query/plan/set.utility.js +16 -0
  948. package/dist/esm/utility/api/controller/get-list/query/plan/set.utility.js.map +1 -0
  949. package/dist/esm/utility/api/controller/get-list/transform/filter.utility.js +10 -2
  950. package/dist/esm/utility/api/controller/get-list/transform/filter.utility.js.map +1 -1
  951. package/dist/esm/utility/api/controller/get-list/transform/operation.utility.js +1 -0
  952. package/dist/esm/utility/api/controller/get-list/transform/operation.utility.js.map +1 -1
  953. package/dist/esm/utility/api/controller/handle-request-relations.utility.js +49 -3
  954. package/dist/esm/utility/api/controller/handle-request-relations.utility.js.map +1 -1
  955. package/dist/esm/utility/api/controller/transform-data.utility.js +11 -2
  956. package/dist/esm/utility/api/controller/transform-data.utility.js.map +1 -1
  957. package/dist/esm/utility/api/controller/write/dto-swagger.utility.d.ts +3 -1
  958. package/dist/esm/utility/api/controller/write/dto-swagger.utility.js +15 -6
  959. package/dist/esm/utility/api/controller/write/dto-swagger.utility.js.map +1 -1
  960. package/dist/esm/utility/api/{discriminator/validate/config.utility.d.ts → discriminator-validate-config.utility.d.ts} +1 -1
  961. package/dist/esm/utility/api/{discriminator/validate/config.utility.js → discriminator-validate-config.utility.js} +2 -2
  962. package/dist/esm/utility/api/discriminator-validate-config.utility.js.map +1 -0
  963. package/dist/esm/utility/api/function-transaction.utility.d.ts +9 -2
  964. package/dist/esm/utility/api/function-transaction.utility.js +71 -11
  965. package/dist/esm/utility/api/function-transaction.utility.js.map +1 -1
  966. package/dist/{cjs/utility/api/get-default-string-format-properties/bigint-string/apply-options.utility.d.ts → esm/utility/api/get-default-string-format-properties/bigint-string-apply-options.utility.d.ts} +2 -2
  967. package/dist/esm/utility/api/get-default-string-format-properties/{bigint-string/apply-options.utility.js → bigint-string-apply-options.utility.js} +4 -2
  968. package/dist/esm/utility/api/get-default-string-format-properties/bigint-string-apply-options.utility.js.map +1 -0
  969. package/dist/{cjs/utility/api/get-default-string-format-properties/customizer/apply.utility.d.ts → esm/utility/api/get-default-string-format-properties/customizer-apply.utility.d.ts} +2 -2
  970. package/dist/esm/utility/api/get-default-string-format-properties/{customizer/apply.utility.js → customizer-apply.utility.js} +3 -2
  971. package/dist/esm/utility/api/get-default-string-format-properties/customizer-apply.utility.js.map +1 -0
  972. package/dist/esm/utility/api/get-default-string-format-properties/index.d.ts +2 -0
  973. package/dist/esm/utility/api/get-default-string-format-properties/utility.js +1 -1
  974. package/dist/esm/utility/api/get-default-string-format-properties/utility.js.map +1 -1
  975. package/dist/esm/utility/api/index.d.ts +2 -2
  976. package/dist/esm/utility/api/route/apply-dto-metadata.utility.js +10 -2
  977. package/dist/esm/utility/api/route/apply-dto-metadata.utility.js.map +1 -1
  978. package/dist/esm/utility/api/route/discriminator/build-open-api-schema.utility.js.map +1 -1
  979. package/dist/esm/utility/api/route/discriminator/resolve-dto.utility.js +1 -1
  980. package/dist/esm/utility/api/route/discriminator/resolve-dto.utility.js.map +1 -1
  981. package/dist/esm/utility/api/route/discriminator/validate-dto-properties.utility.js +1 -1
  982. package/dist/esm/utility/api/route/{dto/collect-with-registered-children.utility.js → dto-collect-with-registered-children.utility.js} +2 -2
  983. package/dist/esm/utility/api/route/dto-collect-with-registered-children.utility.js.map +1 -0
  984. package/dist/esm/utility/api/route/index.d.ts +2 -2
  985. package/dist/esm/utility/api/route/response/project-relation.utility.js +9 -1
  986. package/dist/esm/utility/api/route/response/project-relation.utility.js.map +1 -1
  987. package/dist/esm/utility/api/route/{validation/flatten-errors.utility.js → validation-flatten-errors.utility.js} +1 -1
  988. package/dist/esm/utility/api/route/validation-flatten-errors.utility.js.map +1 -0
  989. package/dist/esm/utility/authorization/permission/set-matches.utility.js +1 -0
  990. package/dist/esm/utility/authorization/permission/set-matches.utility.js.map +1 -1
  991. package/dist/esm/utility/authorization/resolve-default-principal.utility.js +1 -0
  992. package/dist/esm/utility/authorization/resolve-default-principal.utility.js.map +1 -1
  993. package/dist/esm/utility/dto/build-decorator.utility.js +14 -4
  994. package/dist/esm/utility/dto/build-decorator.utility.js.map +1 -1
  995. package/dist/esm/utility/dto/generate/cache-key.utility.d.ts +1 -1
  996. package/dist/esm/utility/dto/generate/cache-key.utility.js +2 -2
  997. package/dist/esm/utility/dto/generate/cache-key.utility.js.map +1 -1
  998. package/dist/esm/utility/dto/generate/core.utility.d.ts +3 -1
  999. package/dist/esm/utility/dto/generate/core.utility.js +46 -44
  1000. package/dist/esm/utility/dto/generate/core.utility.js.map +1 -1
  1001. package/dist/esm/utility/dto/generate/dynamic.utility.js +11 -3
  1002. package/dist/esm/utility/dto/generate/dynamic.utility.js.map +1 -1
  1003. package/dist/esm/utility/dto/generate/exception.utility.js +9 -1
  1004. package/dist/esm/utility/dto/generate/exception.utility.js.map +1 -1
  1005. package/dist/esm/utility/dto/generate/filter-decorator.utility.d.ts +4 -1
  1006. package/dist/esm/utility/dto/generate/filter-decorator.utility.js +17 -2
  1007. package/dist/esm/utility/dto/generate/filter-decorator.utility.js.map +1 -1
  1008. package/dist/esm/utility/dto/generate/get-list-query-properties.utility.d.ts +25 -0
  1009. package/dist/esm/utility/dto/generate/get-list-query-properties.utility.js +105 -0
  1010. package/dist/esm/utility/dto/generate/get-list-query-properties.utility.js.map +1 -0
  1011. package/dist/esm/utility/dto/generate/get-list-response.utility.js +9 -1
  1012. package/dist/esm/utility/dto/generate/get-list-response.utility.js.map +1 -1
  1013. package/dist/esm/utility/dto/generate/manual-child.utility.js +1 -1
  1014. package/dist/esm/utility/dto/get/get-list-query-base-class.utility.d.ts +3 -1
  1015. package/dist/esm/utility/dto/get/get-list-query-base-class.utility.js +19 -4
  1016. package/dist/esm/utility/dto/get/get-list-query-base-class.utility.js.map +1 -1
  1017. package/dist/esm/utility/dto/handle-date-property.utility.js +9 -1
  1018. package/dist/esm/utility/dto/handle-date-property.utility.js.map +1 -1
  1019. package/dist/esm/utility/dto/is/property/index.d.ts +1 -0
  1020. package/dist/esm/utility/dto/is/property/infrastructure-timestamp.utility.d.ts +7 -0
  1021. package/dist/esm/utility/dto/is/property/infrastructure-timestamp.utility.js +43 -0
  1022. package/dist/esm/utility/dto/is/property/infrastructure-timestamp.utility.js.map +1 -0
  1023. package/dist/esm/utility/dto/is/property/should-be-marked.utility.d.ts +2 -2
  1024. package/dist/esm/utility/dto/is/property/should-be-marked.utility.js +14 -5
  1025. package/dist/esm/utility/dto/is/property/should-be-marked.utility.js.map +1 -1
  1026. package/dist/esm/utility/dto/is/should-be-generated.utility.js +9 -1
  1027. package/dist/esm/utility/dto/is/should-be-generated.utility.js.map +1 -1
  1028. package/dist/esm/utility/dto/manual/index.d.ts +1 -0
  1029. package/dist/esm/utility/dto/manual/property-metadata/get.utility.d.ts +8 -0
  1030. package/dist/esm/utility/dto/manual/property-metadata/get.utility.js +30 -0
  1031. package/dist/esm/utility/dto/manual/property-metadata/get.utility.js.map +1 -0
  1032. package/dist/esm/utility/dto/manual/property-metadata/index.d.ts +2 -0
  1033. package/dist/esm/utility/dto/manual/property-metadata/register.utility.d.ts +9 -0
  1034. package/dist/esm/utility/dto/manual/property-metadata/register.utility.js +20 -0
  1035. package/dist/esm/utility/dto/manual/property-metadata/register.utility.js.map +1 -0
  1036. package/dist/esm/utility/queue-auto-context-retry.utility.js +1 -1
  1037. package/dist/esm/utility/queue-auto-context-retry.utility.js.map +1 -1
  1038. package/dist/esm/validator/has/paired-custom-suffixes-fields.validator.js +21 -25
  1039. package/dist/esm/validator/has/paired-custom-suffixes-fields.validator.js.map +1 -1
  1040. package/dist/esm/validator/must-match-one-of-schemas.validator.js +0 -1
  1041. package/dist/esm/validator/must-match-one-of-schemas.validator.js.map +1 -1
  1042. package/package.json +5 -2
  1043. package/dist/cjs/class/api/function/transaction-scope.class.js +0 -34
  1044. package/dist/cjs/class/api/function/transaction-scope.class.js.map +0 -1
  1045. package/dist/cjs/constant/utility/api/get-default-string-format-properties/customizer/index.d.ts +0 -1
  1046. package/dist/cjs/constant/utility/api/get-default-string-format-properties/customizer/map.constant.js +0 -29
  1047. package/dist/cjs/constant/utility/api/get-default-string-format-properties/customizer/map.constant.js.map +0 -1
  1048. package/dist/cjs/constant/validator/index.d.ts +0 -1
  1049. package/dist/cjs/constant/validator-has-paired-custom-suffixes-fields.constant.d.ts +0 -5
  1050. package/dist/cjs/constant/validator-has-paired-custom-suffixes-fields.constant.js +0 -90
  1051. package/dist/cjs/constant/validator-has-paired-custom-suffixes-fields.constant.js.map +0 -1
  1052. package/dist/cjs/enum/decorator/api/function/transaction-mode.enum.js.map +0 -1
  1053. package/dist/cjs/enum/utility/dto/manual/property-metadata/decorator.enum.js.map +0 -1
  1054. package/dist/cjs/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.d.ts +0 -5
  1055. package/dist/cjs/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js +0 -9
  1056. package/dist/cjs/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js.map +0 -1
  1057. package/dist/cjs/interface/class/api/subscriber/function/execution/context/data/index.d.ts +0 -1
  1058. package/dist/cjs/interface/decorator/api/method/index.d.ts +0 -1
  1059. package/dist/cjs/interface/decorator/api/method/properties.interface.d.ts +0 -5
  1060. package/dist/cjs/type/class/api/subscriber/function/execution/context/index.d.ts +0 -1
  1061. package/dist/cjs/type/decorator/api/route/custom/index.d.ts +0 -1
  1062. package/dist/cjs/type/decorator/api/route/discriminated/index.d.ts +0 -1
  1063. package/dist/cjs/type/utility/api/discriminator/index.d.ts +0 -1
  1064. package/dist/cjs/type/utility/api/discriminator/validate/index.d.ts +0 -1
  1065. package/dist/cjs/type/utility/api/get-default-string-format-properties/bigint-string/sign/index.d.ts +0 -2
  1066. package/dist/cjs/type/utility/api/get-default-string-format-properties/bigint-string/sign/type.d.ts +0 -1
  1067. package/dist/cjs/type/validator/has-paired-custom-suffixes-fields/operation-config.type.d.ts +0 -7
  1068. package/dist/cjs/utility/api/discriminator/index.d.ts +0 -1
  1069. package/dist/cjs/utility/api/discriminator/validate/config.utility.js.map +0 -1
  1070. package/dist/cjs/utility/api/discriminator/validate/index.d.ts +0 -1
  1071. package/dist/cjs/utility/api/get-default-string-format-properties/bigint-string/apply-options.utility.js.map +0 -1
  1072. package/dist/cjs/utility/api/get-default-string-format-properties/bigint-string/index.d.ts +0 -1
  1073. package/dist/cjs/utility/api/get-default-string-format-properties/customizer/apply.utility.js.map +0 -1
  1074. package/dist/cjs/utility/api/get-default-string-format-properties/customizer/index.d.ts +0 -1
  1075. package/dist/cjs/utility/api/route/dto/collect-with-registered-children.utility.js.map +0 -1
  1076. package/dist/cjs/utility/api/route/dto/index.d.ts +0 -1
  1077. package/dist/cjs/utility/api/route/validation/flatten-errors.utility.js.map +0 -1
  1078. package/dist/cjs/utility/api/route/validation/index.d.ts +0 -1
  1079. package/dist/cjs/utility/dto/manual/property-metadata.utility.d.ts +0 -16
  1080. package/dist/cjs/utility/dto/manual/property-metadata.utility.js +0 -47
  1081. package/dist/cjs/utility/dto/manual/property-metadata.utility.js.map +0 -1
  1082. package/dist/esm/class/api/function/transaction-scope.class.js +0 -32
  1083. package/dist/esm/class/api/function/transaction-scope.class.js.map +0 -1
  1084. package/dist/esm/constant/utility/api/get-default-string-format-properties/customizer/index.d.ts +0 -1
  1085. package/dist/esm/constant/utility/api/get-default-string-format-properties/customizer/map.constant.js +0 -27
  1086. package/dist/esm/constant/utility/api/get-default-string-format-properties/customizer/map.constant.js.map +0 -1
  1087. package/dist/esm/constant/validator/index.d.ts +0 -1
  1088. package/dist/esm/constant/validator-has-paired-custom-suffixes-fields.constant.d.ts +0 -5
  1089. package/dist/esm/constant/validator-has-paired-custom-suffixes-fields.constant.js +0 -88
  1090. package/dist/esm/constant/validator-has-paired-custom-suffixes-fields.constant.js.map +0 -1
  1091. package/dist/esm/enum/decorator/api/function/transaction-mode.enum.js.map +0 -1
  1092. package/dist/esm/enum/utility/dto/manual/property-metadata/decorator.enum.js.map +0 -1
  1093. package/dist/esm/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.d.ts +0 -5
  1094. package/dist/esm/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js +0 -9
  1095. package/dist/esm/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js.map +0 -1
  1096. package/dist/esm/interface/class/api/subscriber/function/execution/context/data/index.d.ts +0 -1
  1097. package/dist/esm/interface/decorator/api/method/index.d.ts +0 -1
  1098. package/dist/esm/interface/decorator/api/method/properties.interface.d.ts +0 -5
  1099. package/dist/esm/type/class/api/subscriber/function/execution/context/index.d.ts +0 -1
  1100. package/dist/esm/type/decorator/api/route/custom/index.d.ts +0 -1
  1101. package/dist/esm/type/decorator/api/route/discriminated/index.d.ts +0 -1
  1102. package/dist/esm/type/utility/api/discriminator/index.d.ts +0 -1
  1103. package/dist/esm/type/utility/api/discriminator/validate/index.d.ts +0 -1
  1104. package/dist/esm/type/utility/api/get-default-string-format-properties/bigint-string/sign/index.d.ts +0 -2
  1105. package/dist/esm/type/utility/api/get-default-string-format-properties/bigint-string/sign/type.d.ts +0 -1
  1106. package/dist/esm/type/validator/has-paired-custom-suffixes-fields/operation-config.type.d.ts +0 -7
  1107. package/dist/esm/utility/api/discriminator/index.d.ts +0 -1
  1108. package/dist/esm/utility/api/discriminator/validate/config.utility.js.map +0 -1
  1109. package/dist/esm/utility/api/discriminator/validate/index.d.ts +0 -1
  1110. package/dist/esm/utility/api/get-default-string-format-properties/bigint-string/apply-options.utility.js.map +0 -1
  1111. package/dist/esm/utility/api/get-default-string-format-properties/bigint-string/index.d.ts +0 -1
  1112. package/dist/esm/utility/api/get-default-string-format-properties/customizer/apply.utility.js.map +0 -1
  1113. package/dist/esm/utility/api/get-default-string-format-properties/customizer/index.d.ts +0 -1
  1114. package/dist/esm/utility/api/route/dto/collect-with-registered-children.utility.js.map +0 -1
  1115. package/dist/esm/utility/api/route/dto/index.d.ts +0 -1
  1116. package/dist/esm/utility/api/route/validation/flatten-errors.utility.js.map +0 -1
  1117. package/dist/esm/utility/api/route/validation/index.d.ts +0 -1
  1118. package/dist/esm/utility/dto/manual/property-metadata.utility.d.ts +0 -16
  1119. package/dist/esm/utility/dto/manual/property-metadata.utility.js +0 -44
  1120. package/dist/esm/utility/dto/manual/property-metadata.utility.js.map +0 -1
  1121. /package/dist/cjs/enum/decorator/api/function/{transaction-mode.enum.d.ts → transaction/mode.enum.d.ts} +0 -0
  1122. /package/dist/cjs/enum/utility/{dto/manual/property-metadata/decorator.enum.d.ts → manual-dto-property-metadata-decorator.enum.d.ts} +0 -0
  1123. /package/dist/cjs/{type/class/api/subscriber/function/execution → interface/class/api/subscriber/function/transaction}/index.d.ts +0 -0
  1124. /package/dist/cjs/utility/api/route/{dto/collect-with-registered-children.utility.d.ts → dto-collect-with-registered-children.utility.d.ts} +0 -0
  1125. /package/dist/cjs/utility/api/route/{validation/flatten-errors.utility.d.ts → validation-flatten-errors.utility.d.ts} +0 -0
  1126. /package/dist/esm/enum/decorator/api/function/{transaction-mode.enum.d.ts → transaction/mode.enum.d.ts} +0 -0
  1127. /package/dist/esm/enum/utility/{dto/manual/property-metadata/decorator.enum.d.ts → manual-dto-property-metadata-decorator.enum.d.ts} +0 -0
  1128. /package/dist/esm/{type/class/api/subscriber/function/execution → interface/class/api/subscriber/function/transaction}/index.d.ts +0 -0
  1129. /package/dist/esm/utility/api/route/{dto/collect-with-registered-children.utility.d.ts → dto-collect-with-registered-children.utility.d.ts} +0 -0
  1130. /package/dist/esm/utility/api/route/{validation/flatten-errors.utility.d.ts → validation-flatten-errors.utility.d.ts} +0 -0
@@ -0,0 +1,117 @@
1
+ import '../../../../enum/decorator/api/action.enum.js';
2
+ import '../../../../enum/decorator/api/authentication-type.enum.js';
3
+ import '../../../../enum/decorator/api/controller/get-list/query/filter/missing-behavior.enum.js';
4
+ import '../../../../enum/decorator/api/controller/get-list/query/unlisted-fields.enum.js';
5
+ import '../../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
6
+ import '../../../../enum/decorator/api/controller/request/target.enum.js';
7
+ import '../../../../enum/decorator/api/controller/request/transformer-type.enum.js';
8
+ import '../../../../enum/decorator/api/controller/response-target.enum.js';
9
+ import '../../../../enum/decorator/api/dto-type.enum.js';
10
+ import '../../../../enum/decorator/api/function/context-storage-kind.enum.js';
11
+ import '../../../../enum/decorator/api/function/subscriber-transaction-expectation.enum.js';
12
+ import { EApiFunctionTransactionEventStatus } from '../../../../enum/decorator/api/function/transaction/event-status.enum.js';
13
+ import '../../../../enum/decorator/api/function/transaction/failure-stage.enum.js';
14
+ import '../../../../enum/decorator/api/function/transaction/mode.enum.js';
15
+ import '../../../../enum/decorator/api/function/transaction/outcome.enum.js';
16
+ import '../../../../enum/decorator/api/function/transaction/owner-kind.enum.js';
17
+ import { EApiFunctionTransactionTraceType } from '../../../../enum/decorator/api/function/transaction/trace-type.enum.js';
18
+ import '../../../../enum/decorator/api/function/type.enum.js';
19
+ import '../../../../enum/decorator/api/on-type.enum.js';
20
+ import '../../../../enum/decorator/api/property/data-type.enum.js';
21
+ import '../../../../enum/decorator/api/property/date/identifier.enum.js';
22
+ import '../../../../enum/decorator/api/property/date/type.enum.js';
23
+ import '../../../../enum/decorator/api/property/desribe-type.enum.js';
24
+ import '../../../../enum/decorator/api/property/number-type.enum.js';
25
+ import '../../../../enum/decorator/api/property/string-type.enum.js';
26
+ import '../../../../enum/decorator/api/route/subscriber-authorization-expectation.enum.js';
27
+ import '../../../../enum/decorator/api/route/type.enum.js';
28
+ import { ErrorException } from '../../../../utility/error/exception.utility.js';
29
+
30
+ class ApiFunctionTransactionRegistry {
31
+ EVENTS = [];
32
+ eventSnapshot;
33
+ TRANSACTION;
34
+ constructor(id, owner) {
35
+ this.TRANSACTION = Object.freeze({
36
+ id,
37
+ owner: Object.freeze({ ...owner }),
38
+ });
39
+ }
40
+ beginEvent(options) {
41
+ if (this.eventSnapshot) {
42
+ throw ErrorException("Cannot register an event after transaction lifecycle dispatch has started");
43
+ }
44
+ const sequence = this.EVENTS.length + 1;
45
+ this.EVENTS.push({
46
+ ...options,
47
+ sequence,
48
+ });
49
+ return sequence;
50
+ }
51
+ createContext(matchedEvents) {
52
+ const events = this.getEvents();
53
+ return Object.freeze({
54
+ DATA: Object.freeze({
55
+ events,
56
+ matchedEvents: Object.freeze([...matchedEvents]),
57
+ transaction: this.TRANSACTION,
58
+ }),
59
+ });
60
+ }
61
+ failEvent(sequence, error) {
62
+ const event = this.getPendingEvent(sequence);
63
+ event.error = error;
64
+ event.status = EApiFunctionTransactionEventStatus.FAILED;
65
+ }
66
+ getEvents() {
67
+ this.eventSnapshot ??= Object.freeze(this.EVENTS.map((event) => {
68
+ if (event.status === EApiFunctionTransactionEventStatus.FAILED) {
69
+ return Object.freeze({
70
+ action: event.action,
71
+ entityName: event.entityName,
72
+ error: event.error,
73
+ functionType: event.functionType,
74
+ methodName: event.methodName,
75
+ sequence: event.sequence,
76
+ status: event.status,
77
+ });
78
+ }
79
+ if (event.status === EApiFunctionTransactionEventStatus.SUCCEEDED) {
80
+ return Object.freeze({
81
+ action: event.action,
82
+ entityName: event.entityName,
83
+ functionType: event.functionType,
84
+ methodName: event.methodName,
85
+ sequence: event.sequence,
86
+ status: event.status,
87
+ });
88
+ }
89
+ throw ErrorException(`Transaction event ${event.sequence} has not completed`);
90
+ }));
91
+ return this.eventSnapshot;
92
+ }
93
+ getObservableEvents() {
94
+ const observableSequences = new Set(this.EVENTS.filter((event) => event.isSubscriberObservable && event.functionType !== EApiFunctionTransactionTraceType.STEP).map((event) => event.sequence));
95
+ return Object.freeze(this.getEvents().filter((event) => observableSequences.has(event.sequence)));
96
+ }
97
+ getTransaction() {
98
+ return this.TRANSACTION;
99
+ }
100
+ succeedEvent(sequence) {
101
+ const event = this.getPendingEvent(sequence);
102
+ event.status = EApiFunctionTransactionEventStatus.SUCCEEDED;
103
+ }
104
+ getPendingEvent(sequence) {
105
+ const event = this.EVENTS[sequence - 1];
106
+ if (event?.sequence !== sequence) {
107
+ throw ErrorException(`Transaction event ${sequence} is not registered`);
108
+ }
109
+ if (event.status) {
110
+ throw ErrorException(`Transaction event ${sequence} has already completed`);
111
+ }
112
+ return event;
113
+ }
114
+ }
115
+
116
+ export { ApiFunctionTransactionRegistry };
117
+ //# sourceMappingURL=registry.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.class.js","sources":["../../../../../../../src/class/api/function/transaction/registry.class.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOa,8BAA8B,CAAA;IACzB,MAAM,GASlB,EAAE;AAEC,IAAA,aAAa;AAEJ,IAAA,WAAW;IAE5B,WAAA,CAAY,EAAU,EAAE,KAAmC,EAAA;AAC1D,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;YAChC,EAAE;YACF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;AAClC,SAAA,CAAC;IACH;AAEO,IAAA,UAAU,CAAC,OAAqJ,EAAA;AACtK,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,MAAM,cAAc,CAAC,2EAA2E,CAAC;QAClG;QAEA,MAAM,QAAQ,GAAW,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;AAE/C,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAChB,YAAA,GAAG,OAAO;YACV,QAAQ;AACR,SAAA,CAAC;AAEF,QAAA,OAAO,QAAQ;IAChB;AAEO,IAAA,aAAa,CAAC,aAA0D,EAAA;AAC9E,QAAA,MAAM,MAAM,GAAgD,IAAI,CAAC,SAAS,EAAE;QAE5E,OAAO,MAAM,CAAC,MAAM,CAAC;AACpB,YAAA,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;gBACnB,MAAM;gBACN,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gBAChD,WAAW,EAAE,IAAI,CAAC,WAAW;aAC7B,CAAC;AACF,SAAA,CAAC;IACH;IAEO,SAAS,CAAC,QAAgB,EAAE,KAAc,EAAA;QAChD,MAAM,KAAK,GAAiC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;AAE1E,QAAA,KAAK,CAAC,KAAK,GAAG,KAAK;AACnB,QAAA,KAAK,CAAC,MAAM,GAAG,kCAAkC,CAAC,MAAM;IACzD;IAEO,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAmC,KAAkC;YACrF,IAAI,KAAK,CAAC,MAAM,KAAK,kCAAkC,CAAC,MAAM,EAAE;gBAC/D,OAAO,MAAM,CAAC,MAAM,CAAC;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;AACpB,iBAAA,CAAC;YACH;YAEA,IAAI,KAAK,CAAC,MAAM,KAAK,kCAAkC,CAAC,SAAS,EAAE;gBAClE,OAAO,MAAM,CAAC,MAAM,CAAC;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;AACpB,iBAAA,CAAC;YACH;YAEA,MAAM,cAAc,CAAC,CAAA,kBAAA,EAAqB,KAAK,CAAC,QAAQ,CAAA,kBAAA,CAAoB,CAAC;QAC9E,CAAC,CAAC,CACF;QAED,OAAO,IAAI,CAAC,aAAa;IAC1B;IAEO,mBAAmB,GAAA;AACzB,QAAA,MAAM,mBAAmB,GAAgB,IAAI,GAAG,CAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAmC,KAAK,KAAK,CAAC,sBAAsB,IAAI,KAAK,CAAC,YAAY,KAAK,gCAAgC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAmC,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEhR,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,KAAmC,KAAK,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChI;IAEO,cAAc,GAAA;QACpB,OAAO,IAAI,CAAC,WAAW;IACxB;AAEO,IAAA,YAAY,CAAC,QAAgB,EAAA;QACnC,MAAM,KAAK,GAAiC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;AAE1E,QAAA,KAAK,CAAC,MAAM,GAAG,kCAAkC,CAAC,SAAS;IAC5D;AAEQ,IAAA,eAAe,CAAC,QAAgB,EAAA;QACvC,MAAM,KAAK,GAA6C,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;AAEjF,QAAA,IAAI,KAAK,EAAE,QAAQ,KAAK,QAAQ,EAAE;AACjC,YAAA,MAAM,cAAc,CAAC,CAAA,kBAAA,EAAqB,QAAQ,CAAA,kBAAA,CAAoB,CAAC;QACxE;AAEA,QAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AACjB,YAAA,MAAM,cAAc,CAAC,CAAA,kBAAA,EAAqB,QAAQ,CAAA,sBAAA,CAAwB,CAAC;QAC5E;AAEA,QAAA,OAAO,KAAK;IACb;AACA;;;;"}
@@ -0,0 +1,11 @@
1
+ import { TApiFunctionTransactionOwner } from '../../../../type/class/api/function';
2
+ import { DataSource, EntityManager } from 'typeorm';
3
+ export declare class ApiFunctionTransactionRuntime {
4
+ static execute<R>(options: {
5
+ callback: (entityManager: EntityManager) => Promise<R>;
6
+ dataSource: DataSource;
7
+ owner: TApiFunctionTransactionOwner;
8
+ }): Promise<R>;
9
+ private static releaseBestEffort;
10
+ private static rollbackBestEffort;
11
+ }
@@ -0,0 +1,114 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { ApiFunctionContextStorage } from '../context-storage.class.js';
3
+ import { ApiFunctionTransactionLifecycle } from './lifecycle.class.js';
4
+ import { ApiFunctionTransactionRegistry } from './registry.class.js';
5
+ import '../../../../enum/decorator/api/action.enum.js';
6
+ import '../../../../enum/decorator/api/authentication-type.enum.js';
7
+ import '../../../../enum/decorator/api/controller/get-list/query/filter/missing-behavior.enum.js';
8
+ import '../../../../enum/decorator/api/controller/get-list/query/unlisted-fields.enum.js';
9
+ import '../../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
10
+ import '../../../../enum/decorator/api/controller/request/target.enum.js';
11
+ import '../../../../enum/decorator/api/controller/request/transformer-type.enum.js';
12
+ import '../../../../enum/decorator/api/controller/response-target.enum.js';
13
+ import '../../../../enum/decorator/api/dto-type.enum.js';
14
+ import '../../../../enum/decorator/api/function/context-storage-kind.enum.js';
15
+ import '../../../../enum/decorator/api/function/subscriber-transaction-expectation.enum.js';
16
+ import '../../../../enum/decorator/api/function/transaction/event-status.enum.js';
17
+ import { EApiFunctionTransactionFailureStage } from '../../../../enum/decorator/api/function/transaction/failure-stage.enum.js';
18
+ import '../../../../enum/decorator/api/function/transaction/mode.enum.js';
19
+ import '../../../../enum/decorator/api/function/transaction/outcome.enum.js';
20
+ import '../../../../enum/decorator/api/function/transaction/owner-kind.enum.js';
21
+ import '../../../../enum/decorator/api/function/transaction/trace-type.enum.js';
22
+ import '../../../../enum/decorator/api/function/type.enum.js';
23
+ import '../../../../enum/decorator/api/on-type.enum.js';
24
+ import '../../../../enum/decorator/api/property/data-type.enum.js';
25
+ import '../../../../enum/decorator/api/property/date/identifier.enum.js';
26
+ import '../../../../enum/decorator/api/property/date/type.enum.js';
27
+ import '../../../../enum/decorator/api/property/desribe-type.enum.js';
28
+ import '../../../../enum/decorator/api/property/number-type.enum.js';
29
+ import '../../../../enum/decorator/api/property/string-type.enum.js';
30
+ import '../../../../enum/decorator/api/route/subscriber-authorization-expectation.enum.js';
31
+ import '../../../../enum/decorator/api/route/type.enum.js';
32
+ import { ErrorException } from '../../../../utility/error/exception.utility.js';
33
+ import { LoggerUtility } from '../../../../utility/logger.utility.js';
34
+
35
+ const transactionLogger = LoggerUtility.getLogger("ApiFunctionTransactionRuntime");
36
+ class ApiFunctionTransactionRuntime {
37
+ static async execute(options) {
38
+ if (ApiFunctionContextStorage.getTransactionRegistry()) {
39
+ throw ErrorException("Cannot open an owning transaction inside an active Automator transaction");
40
+ }
41
+ const queryRunner = options.dataSource.createQueryRunner();
42
+ try {
43
+ await queryRunner.connect();
44
+ await queryRunner.startTransaction();
45
+ }
46
+ catch (error) {
47
+ await ApiFunctionTransactionRuntime.releaseBestEffort(queryRunner);
48
+ throw error;
49
+ }
50
+ const registry = new ApiFunctionTransactionRegistry(randomUUID(), options.owner);
51
+ const result = {};
52
+ let commitCleanupFailure;
53
+ let commitError;
54
+ let hasCommitError = false;
55
+ let hasOperationError = false;
56
+ let operationError;
57
+ let rollbackFailure;
58
+ await ApiFunctionContextStorage.runTransaction(queryRunner.manager, queryRunner, registry, async () => {
59
+ try {
60
+ result.value = await options.callback(queryRunner.manager);
61
+ }
62
+ catch (error) {
63
+ hasOperationError = true;
64
+ operationError = error;
65
+ rollbackFailure = await ApiFunctionTransactionRuntime.rollbackBestEffort(queryRunner);
66
+ await ApiFunctionTransactionRuntime.releaseBestEffort(queryRunner);
67
+ return;
68
+ }
69
+ try {
70
+ await queryRunner.commitTransaction();
71
+ }
72
+ catch (error) {
73
+ commitError = error;
74
+ hasCommitError = true;
75
+ commitCleanupFailure = await ApiFunctionTransactionRuntime.rollbackBestEffort(queryRunner);
76
+ }
77
+ await ApiFunctionTransactionRuntime.releaseBestEffort(queryRunner);
78
+ });
79
+ if (hasOperationError) {
80
+ return await ApiFunctionTransactionLifecycle.executeAfterRollback(registry, operationError, rollbackFailure);
81
+ }
82
+ if (hasCommitError) {
83
+ return await ApiFunctionTransactionLifecycle.executeCommitUnknown(registry, commitError, commitCleanupFailure);
84
+ }
85
+ if (!("value" in result)) {
86
+ throw ErrorException("Automator transaction completed without a committed result");
87
+ }
88
+ await ApiFunctionTransactionLifecycle.executeAfterCommit(registry);
89
+ return result.value;
90
+ }
91
+ static async releaseBestEffort(queryRunner) {
92
+ try {
93
+ await queryRunner.release();
94
+ }
95
+ catch (error) {
96
+ transactionLogger.error("Failed to release transaction query runner", error);
97
+ }
98
+ }
99
+ static async rollbackBestEffort(queryRunner) {
100
+ try {
101
+ await queryRunner.rollbackTransaction();
102
+ return undefined;
103
+ }
104
+ catch (error) {
105
+ return Object.freeze({
106
+ error,
107
+ stage: EApiFunctionTransactionFailureStage.ROLLBACK,
108
+ });
109
+ }
110
+ }
111
+ }
112
+
113
+ export { ApiFunctionTransactionRuntime };
114
+ //# sourceMappingURL=runtime.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.class.js","sources":["../../../../../../../src/class/api/function/transaction/runtime.class.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,iBAAiB,GAAkB,aAAa,CAAC,SAAS,CAAC,+BAA+B,CAAC;MAEpF,6BAA6B,CAAA;AAClC,IAAA,aAAa,OAAO,CAAI,OAAgI,EAAA;AAC9J,QAAA,IAAI,yBAAyB,CAAC,sBAAsB,EAAE,EAAE;AACvD,YAAA,MAAM,cAAc,CAAC,0EAA0E,CAAC;QACjG;QAEA,MAAM,WAAW,GAAgB,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE;AAEvE,QAAA,IAAI;AACH,YAAA,MAAM,WAAW,CAAC,OAAO,EAAE;AAC3B,YAAA,MAAM,WAAW,CAAC,gBAAgB,EAAE;QACrC;QAAE,OAAO,KAAK,EAAE;AACf,YAAA,MAAM,6BAA6B,CAAC,iBAAiB,CAAC,WAAW,CAAC;AAElE,YAAA,MAAM,KAAK;QACZ;AAEA,QAAA,MAAM,QAAQ,GAAmC,IAAI,8BAA8B,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC;QAChH,MAAM,MAAM,GAAkB,EAAE;AAChC,QAAA,IAAI,oBAAgE;AACpE,QAAA,IAAI,WAAoB;QACxB,IAAI,cAAc,GAAY,KAAK;QACnC,IAAI,iBAAiB,GAAY,KAAK;AACtC,QAAA,IAAI,cAAuB;AAC3B,QAAA,IAAI,eAA2D;AAE/D,QAAA,MAAM,yBAAyB,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAA0B;AACpH,YAAA,IAAI;AACH,gBAAA,MAAM,CAAC,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC;YAC3D;YAAE,OAAO,KAAK,EAAE;gBACf,iBAAiB,GAAG,IAAI;gBACxB,cAAc,GAAG,KAAK;gBACtB,eAAe,GAAG,MAAM,6BAA6B,CAAC,kBAAkB,CAAC,WAAW,CAAC;AACrF,gBAAA,MAAM,6BAA6B,CAAC,iBAAiB,CAAC,WAAW,CAAC;gBAElE;YACD;AAEA,YAAA,IAAI;AACH,gBAAA,MAAM,WAAW,CAAC,iBAAiB,EAAE;YACtC;YAAE,OAAO,KAAK,EAAE;gBACf,WAAW,GAAG,KAAK;gBACnB,cAAc,GAAG,IAAI;gBACrB,oBAAoB,GAAG,MAAM,6BAA6B,CAAC,kBAAkB,CAAC,WAAW,CAAC;YAC3F;AAEA,YAAA,MAAM,6BAA6B,CAAC,iBAAiB,CAAC,WAAW,CAAC;AACnE,QAAA,CAAC,CAAC;QAEF,IAAI,iBAAiB,EAAE;YACtB,OAAO,MAAM,+BAA+B,CAAC,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC;QAC7G;QAEA,IAAI,cAAc,EAAE;YACnB,OAAO,MAAM,+BAA+B,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,oBAAoB,CAAC;QAC/G;AAEA,QAAA,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,EAAE;AACzB,YAAA,MAAM,cAAc,CAAC,4DAA4D,CAAC;QACnF;AAEA,QAAA,MAAM,+BAA+B,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QAElE,OAAO,MAAM,CAAC,KAAU;IACzB;AAEQ,IAAA,aAAa,iBAAiB,CAAC,WAAwB,EAAA;AAC9D,QAAA,IAAI;AACH,YAAA,MAAM,WAAW,CAAC,OAAO,EAAE;QAC5B;QAAE,OAAO,KAAK,EAAE;AACf,YAAA,iBAAiB,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC;QAC7E;IACD;AAEQ,IAAA,aAAa,kBAAkB,CAAC,WAAwB,EAAA;AAC/D,QAAA,IAAI;AACH,YAAA,MAAM,WAAW,CAAC,mBAAmB,EAAE;AAEvC,YAAA,OAAO,SAAS;QACjB;QAAE,OAAO,KAAK,EAAE;YACf,OAAO,MAAM,CAAC,MAAM,CAAC;gBACpB,KAAK;gBACL,KAAK,EAAE,mCAAmC,CAAC,QAAQ;AACnD,aAAA,CAAC;QACH;IACD;AACA;;;;"}
@@ -1,6 +1,8 @@
1
1
  import { DataSource, EntityManager } from 'typeorm';
2
2
  export declare class ApiFunctionTransactionScope {
3
- static runWithDataSource<R>(dataSource: DataSource, callback: () => Promise<R>): Promise<R>;
3
+ static runWithDataSource<R>(dataSource: DataSource, properties: {
4
+ name: string;
5
+ }, callback: () => Promise<R>): Promise<R>;
4
6
  static runWithEntityManager<R>(entityManager: EntityManager, callback: () => Promise<R>): Promise<R>;
5
7
  private static createMissingServiceContextError;
6
8
  }
@@ -0,0 +1,76 @@
1
+ import { ApiFunctionContextStorage } from '../context-storage.class.js';
2
+ import { ApiFunctionTransactionRuntime } from './runtime.class.js';
3
+ import '../../../../enum/decorator/api/action.enum.js';
4
+ import '../../../../enum/decorator/api/authentication-type.enum.js';
5
+ import '../../../../enum/decorator/api/controller/get-list/query/filter/missing-behavior.enum.js';
6
+ import '../../../../enum/decorator/api/controller/get-list/query/unlisted-fields.enum.js';
7
+ import '../../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
8
+ import '../../../../enum/decorator/api/controller/request/target.enum.js';
9
+ import '../../../../enum/decorator/api/controller/request/transformer-type.enum.js';
10
+ import '../../../../enum/decorator/api/controller/response-target.enum.js';
11
+ import '../../../../enum/decorator/api/dto-type.enum.js';
12
+ import '../../../../enum/decorator/api/function/context-storage-kind.enum.js';
13
+ import '../../../../enum/decorator/api/function/subscriber-transaction-expectation.enum.js';
14
+ import '../../../../enum/decorator/api/function/transaction/event-status.enum.js';
15
+ import '../../../../enum/decorator/api/function/transaction/failure-stage.enum.js';
16
+ import '../../../../enum/decorator/api/function/transaction/mode.enum.js';
17
+ import '../../../../enum/decorator/api/function/transaction/outcome.enum.js';
18
+ import { EApiFunctionTransactionOwnerKind } from '../../../../enum/decorator/api/function/transaction/owner-kind.enum.js';
19
+ import '../../../../enum/decorator/api/function/transaction/trace-type.enum.js';
20
+ import '../../../../enum/decorator/api/function/type.enum.js';
21
+ import '../../../../enum/decorator/api/on-type.enum.js';
22
+ import '../../../../enum/decorator/api/property/data-type.enum.js';
23
+ import '../../../../enum/decorator/api/property/date/identifier.enum.js';
24
+ import '../../../../enum/decorator/api/property/date/type.enum.js';
25
+ import '../../../../enum/decorator/api/property/desribe-type.enum.js';
26
+ import '../../../../enum/decorator/api/property/number-type.enum.js';
27
+ import '../../../../enum/decorator/api/property/string-type.enum.js';
28
+ import '../../../../enum/decorator/api/route/subscriber-authorization-expectation.enum.js';
29
+ import '../../../../enum/decorator/api/route/type.enum.js';
30
+ import { ErrorException } from '../../../../utility/error/exception.utility.js';
31
+
32
+ class ApiFunctionTransactionScope {
33
+ static async runWithDataSource(dataSource, properties, callback) {
34
+ const name = properties.name.trim();
35
+ if (name.length === 0) {
36
+ throw ErrorException("ApiFunctionTransactionScope name must be a non-empty string");
37
+ }
38
+ return await ApiFunctionTransactionRuntime.execute({
39
+ callback: async (entityManager) => await ApiFunctionTransactionScope.runWithEntityManager(entityManager, callback),
40
+ dataSource,
41
+ owner: {
42
+ kind: EApiFunctionTransactionOwnerKind.SCOPE,
43
+ name,
44
+ },
45
+ });
46
+ }
47
+ static async runWithEntityManager(entityManager, callback) {
48
+ const registry = ApiFunctionContextStorage.getTransactionRegistryForEntityManager(entityManager);
49
+ if (!registry || registry !== ApiFunctionContextStorage.getTransactionRegistry() || ApiFunctionContextStorage.getEventManager() !== entityManager || ApiFunctionContextStorage.getTransactionQueryRunner()?.manager !== entityManager) {
50
+ throw ErrorException("ApiFunctionTransactionScope.runWithEntityManager requires an existing Automator transaction owner registry");
51
+ }
52
+ const entity = Object;
53
+ const context = {
54
+ entity,
55
+ eventManager: entityManager,
56
+ getRepository: (repositoryEntity) => entityManager.getRepository(repositoryEntity),
57
+ operations: {
58
+ create: () => Promise.reject(ApiFunctionTransactionScope.createMissingServiceContextError()),
59
+ delete: () => Promise.reject(ApiFunctionTransactionScope.createMissingServiceContextError()),
60
+ get: () => Promise.reject(ApiFunctionTransactionScope.createMissingServiceContextError()),
61
+ getList: () => Promise.reject(ApiFunctionTransactionScope.createMissingServiceContextError()),
62
+ getMany: () => Promise.reject(ApiFunctionTransactionScope.createMissingServiceContextError()),
63
+ getRepository: (repositoryEntity) => entityManager.getRepository(repositoryEntity),
64
+ update: () => Promise.reject(ApiFunctionTransactionScope.createMissingServiceContextError()),
65
+ },
66
+ repository: entityManager.getRepository(entity),
67
+ };
68
+ return await ApiFunctionContextStorage.run(context, callback);
69
+ }
70
+ static createMissingServiceContextError() {
71
+ return ErrorException("ApiFunctionTransactionScope operations require a decorated service context");
72
+ }
73
+ }
74
+
75
+ export { ApiFunctionTransactionScope };
76
+ //# sourceMappingURL=scope.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.class.js","sources":["../../../../../../../src/class/api/function/transaction/scope.class.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAUa,2BAA2B,CAAA;IAChC,aAAa,iBAAiB,CAAI,UAAsB,EAAE,UAA4B,EAAE,QAA0B,EAAA;QACxH,MAAM,IAAI,GAAW,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;AAE3C,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,MAAM,cAAc,CAAC,6DAA6D,CAAC;QACpF;AAEA,QAAA,OAAO,MAAM,6BAA6B,CAAC,OAAO,CAAC;AAClD,YAAA,QAAQ,EAAE,OAAO,aAA4B,KAAiB,MAAM,2BAA2B,CAAC,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC;YAC7I,UAAU;AACV,YAAA,KAAK,EAAE;gBACN,IAAI,EAAE,gCAAgC,CAAC,KAAK;gBAC5C,IAAI;AACJ,aAAA;AACD,SAAA,CAAC;IACH;AAEO,IAAA,aAAa,oBAAoB,CAAI,aAA4B,EAAE,QAA0B,EAAA;QACnG,MAAM,QAAQ,GAA+C,yBAAyB,CAAC,sCAAsC,CAAC,aAAa,CAAC;QAE5I,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,yBAAyB,CAAC,sBAAsB,EAAE,IAAI,yBAAyB,CAAC,eAAe,EAAE,KAAK,aAAa,IAAI,yBAAyB,CAAC,yBAAyB,EAAE,EAAE,OAAO,KAAK,aAAa,EAAE;AACtO,YAAA,MAAM,cAAc,CAAC,4GAA4G,CAAC;QACnI;QAEA,MAAM,MAAM,GAA6B,MAAM;AAE/C,QAAA,MAAM,OAAO,GAAwC;YACpD,MAAM;AACN,YAAA,YAAY,EAAE,aAAa;YAC3B,aAAa,EAAE,CAA2B,gBAA6B,KAAoB,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC;AACxI,YAAA,UAAU,EAAE;AACX,gBAAA,MAAM,EAAE,MAA+B,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,gCAAgC,EAAE,CAAC;AACrH,gBAAA,MAAM,EAAE,MAAqB,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,gCAAgC,EAAE,CAAC;AAC3G,gBAAA,GAAG,EAAE,MAA+B,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,gCAAgC,EAAE,CAAC;AAClH,gBAAA,OAAO,EAAE,MAAsB,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,gCAAgC,EAAE,CAAC;AAC7G,gBAAA,OAAO,EAAE,MAAsC,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,gCAAgC,EAAE,CAAC;gBAC7H,aAAa,EAAE,CAA2B,gBAA6B,KAAoB,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC;AACxI,gBAAA,MAAM,EAAE,MAA+B,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,gCAAgC,EAAE,CAAC;AACrH,aAAA;AACD,YAAA,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;SAC/C;QAED,OAAO,MAAM,yBAAyB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC9D;AAEQ,IAAA,OAAO,gCAAgC,GAAA;AAC9C,QAAA,OAAO,cAAc,CAAC,4EAA4E,CAAC;IACpG;AACA;;;;"}
@@ -1,4 +1,4 @@
1
1
  export * from './function';
2
2
  export { ApiRouteRuntime } from './route-runtime.class';
3
- export * from './service-base.class';
3
+ export { ApiServiceBase } from './service-base.class';
4
4
  export * from './subscriber';
@@ -15,6 +15,7 @@ export declare class ApiRouteRuntime {
15
15
  private static executeGeneratedOperation;
16
16
  private static executeGeneratedRequestPipeline;
17
17
  private static executeGeneratedResponse;
18
+ private static executeGeneratedTransaction;
18
19
  private static executeGeneratedUpdateOperation;
19
20
  private static executeRequestTargets;
20
21
  /**
@@ -1,15 +1,23 @@
1
- import { ApiServiceBase } from './service-base.class.js';
2
- import { ApiSubscriberExecutor } from './subscriber/executor.class.js';
1
+ import 'node:crypto';
3
2
  import { FUNCTION_API_DECORATOR_CONSTANT } from '../../constant/decorator/api/function.constant.js';
3
+ import '../../constant/filter/operator-registry.constant.js';
4
4
  import '../../enum/decorator/api/action.enum.js';
5
5
  import '../../enum/decorator/api/authentication-type.enum.js';
6
+ import '../../enum/decorator/api/controller/get-list/query/filter/missing-behavior.enum.js';
7
+ import '../../enum/decorator/api/controller/get-list/query/unlisted-fields.enum.js';
6
8
  import '../../enum/decorator/api/controller/relation-reference-shape.enum.js';
7
9
  import { EApiControllerRequestTarget } from '../../enum/decorator/api/controller/request/target.enum.js';
8
10
  import '../../enum/decorator/api/controller/request/transformer-type.enum.js';
9
11
  import '../../enum/decorator/api/controller/response-target.enum.js';
10
12
  import { EApiDtoType } from '../../enum/decorator/api/dto-type.enum.js';
13
+ import '../../enum/decorator/api/function/context-storage-kind.enum.js';
11
14
  import '../../enum/decorator/api/function/subscriber-transaction-expectation.enum.js';
12
- import '../../enum/decorator/api/function/transaction-mode.enum.js';
15
+ import '../../enum/decorator/api/function/transaction/event-status.enum.js';
16
+ import '../../enum/decorator/api/function/transaction/failure-stage.enum.js';
17
+ import { EApiFunctionTransactionMode } from '../../enum/decorator/api/function/transaction/mode.enum.js';
18
+ import '../../enum/decorator/api/function/transaction/outcome.enum.js';
19
+ import { EApiFunctionTransactionOwnerKind } from '../../enum/decorator/api/function/transaction/owner-kind.enum.js';
20
+ import '../../enum/decorator/api/function/transaction/trace-type.enum.js';
13
21
  import '../../enum/decorator/api/function/type.enum.js';
14
22
  import { EApiSubscriberOnType } from '../../enum/decorator/api/on-type.enum.js';
15
23
  import '../../enum/decorator/api/property/data-type.enum.js';
@@ -20,7 +28,23 @@ import '../../enum/decorator/api/property/number-type.enum.js';
20
28
  import '../../enum/decorator/api/property/string-type.enum.js';
21
29
  import '../../enum/decorator/api/route/subscriber-authorization-expectation.enum.js';
22
30
  import { EApiRouteType } from '../../enum/decorator/api/route/type.enum.js';
31
+ import '../../enum/filter/operand.enum.js';
32
+ import '../../enum/filter/operation.enum.js';
33
+ import '../../enum/filter/order-direction.enum.js';
34
+ import '../../constant/interface/api/property/default-string-format.constant.js';
35
+ import { ErrorException } from '../../utility/error/exception.utility.js';
36
+ import 'typeorm';
37
+ import 'reflect-metadata';
38
+ import '../../constant/utility/dto/constant.js';
39
+ import '../metadata-storage.class.js';
40
+ import { ApiControllerGetListQueryRuntime } from './controller/get-list/query/runtime.class.js';
41
+ import { ApiFunctionContextStorage } from './function/context-storage.class.js';
42
+ import { ApiFunctionTransactionRuntime } from './function/transaction/runtime.class.js';
43
+ import { ApiServiceBase } from './service-base.class.js';
44
+ import { ApiSubscriberExecutor } from './subscriber/executor.class.js';
23
45
  import { BadRequestException } from '@nestjs/common';
46
+ import '@nestjs/swagger';
47
+ import { ApiControllerGetListQueryPlanGet } from '../../utility/api/controller/get-list/query/plan/get.utility.js';
24
48
  import { ApiControllerGetListTransformFilter } from '../../utility/api/controller/get-list/transform/filter.utility.js';
25
49
  import { ApiControllerGetDto } from '../../utility/api/controller/get/dto.utility.js';
26
50
  import { ApiControllerGetPrimaryColumn } from '../../utility/api/controller/get/primary-column.utility.js';
@@ -30,18 +54,14 @@ import { ApiControllerTransformData } from '../../utility/api/controller/transfo
30
54
  import { ApiControllerValidateRequest } from '../../utility/api/controller/validate-request.utility.js';
31
55
  import '@nestjs/common/constants.js';
32
56
  import '@nestjs/common/enums/route-paramtypes.enum.js';
33
- import '@nestjs/swagger';
34
57
  import '@nestjs/swagger/dist/constants.js';
35
- import { ErrorException } from '../../utility/error/exception.utility.js';
36
58
  import { ApiRouteCreateDiscriminatedDtoValidationFailure } from '../../utility/api/route/discriminator/create-validation-failure.utility.js';
37
59
  import { ApiRouteIsDiscriminatedDtoProperties } from '../../utility/api/route/discriminator/is-dto-properties.utility.js';
38
60
  import { ApiRoutePrepareDiscriminatedDtoPayload } from '../../utility/api/route/discriminator/prepare-payload.utility.js';
39
61
  import { ApiRouteResolveDiscriminatedDto } from '../../utility/api/route/discriminator/resolve-dto.utility.js';
40
- import '../metadata-storage.class.js';
41
- import 'typeorm';
42
62
  import { ApiRouteProjectRelationResponse } from '../../utility/api/route/response/project-relation.utility.js';
43
63
  import { ApiRouteSerializeResponse } from '../../utility/api/route/response/serialize.utility.js';
44
- import { ApiRouteValidationFlattenErrors } from '../../utility/api/route/validation/flatten-errors.utility.js';
64
+ import { ApiRouteValidationFlattenErrors } from '../../utility/api/route/validation-flatten-errors.utility.js';
45
65
  import { AuthorizationDecisionApplyResult } from '../../utility/authorization/decision/apply-result.utility.js';
46
66
  import { AuthorizationDecisionAttachResource } from '../../utility/authorization/decision/attach-resource.utility.js';
47
67
  import { AuthorizationDecisionResolveFromRequest } from '../../utility/authorization/decision/resolve-from-request.utility.js';
@@ -223,66 +243,79 @@ class ApiRouteRuntime {
223
243
  }
224
244
  static async executeGeneratedOperation(options, targets, authorizationDecision, markAfterBoundary) {
225
245
  const routeConfig = options.properties.routes[options.method] ?? {};
226
- switch (options.method) {
246
+ const method = options.method;
247
+ if (method === EApiRouteType.PARTIAL_UPDATE || method === EApiRouteType.UPDATE) {
248
+ await this.executeGeneratedRequestPipeline(options, targets, [EApiControllerRequestTarget.PARAMETERS, EApiControllerRequestTarget.BODY]);
249
+ return await this.executeGeneratedTransaction(options, routeConfig, async () => await this.executeGeneratedUpdateOperation(options, targets, authorizationDecision, routeConfig, markAfterBoundary));
250
+ }
251
+ switch (method) {
227
252
  case EApiRouteType.CREATE: {
228
253
  await this.executeGeneratedRequestPipeline(options, targets, [EApiControllerRequestTarget.BODY]);
229
- await ApiControllerHandleRequestRelations(options.controller, options.properties, routeConfig.relations?.request, targets.body ?? {});
230
- const primaryKey = this.resolvePrimaryKey(targets.body, options.entityMetadata);
231
- markAfterBoundary();
232
- const createResponse = await options.controller.service.create((targets.body ?? {}));
233
- return await options.controller.service.get({
234
- relationLoadStrategy: routeConfig.relations?.response?.load?.relationLoadStrategy,
235
- relations: routeConfig.relations?.response?.load?.include,
236
- where: AuthorizationScopeMergeWhere({ [primaryKey.key]: createResponse[primaryKey.key] }, authorizationDecision?.scope?.where),
254
+ return await this.executeGeneratedTransaction(options, routeConfig, async () => {
255
+ await ApiControllerHandleRequestRelations(options.controller, options.properties, routeConfig.relations?.request, targets.body ?? {});
256
+ const primaryKey = this.resolvePrimaryKey(targets.body, options.entityMetadata);
257
+ markAfterBoundary();
258
+ const createResponse = await options.controller.service.create((targets.body ?? {}));
259
+ return await options.controller.service.get({
260
+ relationLoadStrategy: routeConfig.relations?.response?.load?.relationLoadStrategy,
261
+ relations: routeConfig.relations?.response?.load?.include,
262
+ where: AuthorizationScopeMergeWhere({ [primaryKey.key]: createResponse[primaryKey.key] }, authorizationDecision?.scope?.where),
263
+ });
237
264
  });
238
265
  }
239
266
  case EApiRouteType.DELETE: {
240
267
  await this.executeGeneratedRequestPipeline(options, targets, [EApiControllerRequestTarget.PARAMETERS]);
241
- const primaryKey = this.resolvePrimaryKey(targets.parameters, options.entityMetadata);
242
- const requestCriteria = { [primaryKey.key]: primaryKey.value };
243
- const scopedCriteria = AuthorizationScopeMergeWhere(requestCriteria, authorizationDecision?.scope?.where);
244
- markAfterBoundary();
245
- await options.controller.service.delete(scopedCriteria ?? requestCriteria);
268
+ await this.executeGeneratedTransaction(options, routeConfig, async () => {
269
+ const primaryKey = this.resolvePrimaryKey(targets.parameters, options.entityMetadata);
270
+ const requestCriteria = { [primaryKey.key]: primaryKey.value };
271
+ const scopedCriteria = AuthorizationScopeMergeWhere(requestCriteria, authorizationDecision?.scope?.where);
272
+ markAfterBoundary();
273
+ await options.controller.service.delete(scopedCriteria ?? requestCriteria);
274
+ });
246
275
  return undefined;
247
276
  }
248
277
  case EApiRouteType.GET: {
249
278
  await this.executeGeneratedRequestPipeline(options, targets, [EApiControllerRequestTarget.PARAMETERS]);
250
- const primaryKey = this.resolvePrimaryKey(targets.parameters, options.entityMetadata);
251
- const requestProperties = {
252
- relationLoadStrategy: routeConfig.relations?.response?.load?.relationLoadStrategy,
253
- relations: routeConfig.relations?.response?.load?.include,
254
- where: AuthorizationScopeMergeWhere({ [primaryKey.key]: primaryKey.value }, authorizationDecision?.scope?.where),
255
- };
256
- markAfterBoundary();
257
- return await options.controller.service.get(requestProperties);
279
+ return await this.executeGeneratedTransaction(options, routeConfig, async () => {
280
+ const primaryKey = this.resolvePrimaryKey(targets.parameters, options.entityMetadata);
281
+ const requestProperties = {
282
+ relationLoadStrategy: routeConfig.relations?.response?.load?.relationLoadStrategy,
283
+ relations: routeConfig.relations?.response?.load?.include,
284
+ where: AuthorizationScopeMergeWhere({ [primaryKey.key]: primaryKey.value }, authorizationDecision?.scope?.where),
285
+ };
286
+ markAfterBoundary();
287
+ return await options.controller.service.get(requestProperties);
288
+ });
258
289
  }
259
290
  case EApiRouteType.GET_LIST: {
260
291
  await this.executeGeneratedRequestPipeline(options, targets, [EApiControllerRequestTarget.QUERY]);
261
- if (!targets.query) {
262
- throw ErrorException("Query target is required for GET_LIST routes");
263
- }
264
292
  const query = targets.query;
265
- const { limit, orderBy, orderDirection, page, ...getListQuery } = query;
266
- const filter = ApiControllerGetListTransformFilter(getListQuery, options.entityMetadata, routeConfig.security?.authentication?.guard);
267
- const scopedFilter = AuthorizationScopeMergeWhere(filter, authorizationDecision?.scope?.where);
268
- const requestProperties = {
269
- relationLoadStrategy: routeConfig.relations?.response?.load?.relationLoadStrategy,
270
- relations: routeConfig.relations?.response?.load?.include,
271
- skip: query.limit * (query.page - 1),
272
- take: query.limit,
273
- where: scopedFilter ?? filter,
274
- };
275
- if (orderBy) {
276
- requestProperties.order = { [orderBy]: orderDirection ?? FUNCTION_API_DECORATOR_CONSTANT.DEFAULT_FILTER_ORDER_BY_DIRECTION };
293
+ if (!query) {
294
+ throw ErrorException("Query target is required for GET_LIST routes");
277
295
  }
278
- markAfterBoundary();
279
- return await options.controller.service.getList(requestProperties);
280
- }
281
- case EApiRouteType.PARTIAL_UPDATE: {
282
- return await this.executeGeneratedUpdateOperation(options, targets, authorizationDecision, routeConfig, markAfterBoundary);
283
- }
284
- case EApiRouteType.UPDATE: {
285
- return await this.executeGeneratedUpdateOperation(options, targets, authorizationDecision, routeConfig, markAfterBoundary);
296
+ const queryPlan = ApiControllerGetListQueryPlanGet(Object.getPrototypeOf(options.controller), options.methodName);
297
+ const runtimeQuery = queryPlan ? ApiControllerGetListQueryRuntime.parse(query, queryPlan) : undefined;
298
+ return await this.executeGeneratedTransaction(options, routeConfig, async () => {
299
+ const { limit, orderBy, orderDirection, page, ...getListQuery } = query;
300
+ const filter = runtimeQuery?.ast ? ApiControllerGetListQueryRuntime.compileWhere(runtimeQuery.ast) : ApiControllerGetListTransformFilter(runtimeQuery?.filterQuery ?? getListQuery, options.entityMetadata, routeConfig.security?.authentication?.guard);
301
+ const scopedFilter = AuthorizationScopeMergeWhere(filter, authorizationDecision?.scope?.where);
302
+ const effectiveLimit = runtimeQuery?.limit ?? limit;
303
+ const effectiveOrderBy = runtimeQuery?.orderBy ?? orderBy;
304
+ const effectiveOrderDirection = runtimeQuery?.orderDirection ?? orderDirection;
305
+ const effectivePage = runtimeQuery?.page ?? page;
306
+ const requestProperties = {
307
+ relationLoadStrategy: routeConfig.relations?.response?.load?.relationLoadStrategy,
308
+ relations: routeConfig.relations?.response?.load?.include,
309
+ skip: effectiveLimit * (effectivePage - 1),
310
+ take: effectiveLimit,
311
+ where: scopedFilter ?? filter,
312
+ };
313
+ if (effectiveOrderBy) {
314
+ requestProperties.order = { [effectiveOrderBy]: effectiveOrderDirection ?? FUNCTION_API_DECORATOR_CONSTANT.DEFAULT_FILTER_ORDER_BY_DIRECTION };
315
+ }
316
+ markAfterBoundary();
317
+ return await options.controller.service.getList(requestProperties);
318
+ });
286
319
  }
287
320
  }
288
321
  }
@@ -321,8 +354,34 @@ class ApiRouteRuntime {
321
354
  const dto = ApiControllerGetDto(options.properties, options.entityMetadata, options.method, EApiDtoType.RESPONSE, routeConfig);
322
355
  return ApiControllerSerializeRouteResponse(routeConfig, dto, ApiRouteProjectRelationResponse(routeConfig.relations?.response, transformedResponse));
323
356
  }
357
+ static async executeGeneratedTransaction(options, routeConfig, callback) {
358
+ const mode = routeConfig.transaction?.mode ?? EApiFunctionTransactionMode.SUPPORTS;
359
+ const activeEventManager = ApiFunctionContextStorage.getTransactionRegistry() ? ApiFunctionContextStorage.getEventManager() : undefined;
360
+ if (mode === EApiFunctionTransactionMode.NONE && activeEventManager) {
361
+ throw ErrorException("ApiRoute generated transaction mode NONE cannot run inside an active transaction");
362
+ }
363
+ if (mode === EApiFunctionTransactionMode.MANDATORY && !activeEventManager) {
364
+ throw ErrorException("ApiRoute generated transaction mode MANDATORY requires an active transaction");
365
+ }
366
+ if (mode === EApiFunctionTransactionMode.REQUIRED && !activeEventManager) {
367
+ const repository = options.controller.service.repository;
368
+ if (!repository) {
369
+ throw ErrorException("Repository is not available in this context");
370
+ }
371
+ return await ApiFunctionTransactionRuntime.execute({
372
+ callback,
373
+ dataSource: repository.manager.connection,
374
+ owner: {
375
+ entityName: options.properties.entity.name ?? options.entityMetadata.tableName,
376
+ kind: EApiFunctionTransactionOwnerKind.ROUTE,
377
+ methodName: options.methodName,
378
+ routeType: options.method,
379
+ },
380
+ });
381
+ }
382
+ return await callback();
383
+ }
324
384
  static async executeGeneratedUpdateOperation(options, targets, authorizationDecision, routeConfig, markAfterBoundary) {
325
- await this.executeGeneratedRequestPipeline(options, targets, [EApiControllerRequestTarget.PARAMETERS, EApiControllerRequestTarget.BODY]);
326
385
  await ApiControllerHandleRequestRelations(options.controller, options.properties, routeConfig.relations?.request, targets.body ?? {});
327
386
  const primaryKey = this.resolvePrimaryKey(targets.parameters, options.entityMetadata);
328
387
  const requestCriteria = { [primaryKey.key]: primaryKey.value };