@elsikora/nestjs-crud-automator 1.24.0-dev.1 → 2.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 (794) hide show
  1. package/README.md +213 -163
  2. package/dist/cjs/class/api/authorization/bootstrap-validation.service.class.d.ts +1 -0
  3. package/dist/cjs/class/api/authorization/bootstrap-validation.service.class.js +37 -3
  4. package/dist/cjs/class/api/authorization/bootstrap-validation.service.class.js.map +1 -1
  5. package/dist/cjs/class/api/authorization/cache-invalidation.service.class.d.ts +7 -0
  6. package/dist/cjs/class/api/authorization/cache-invalidation.service.class.js +21 -0
  7. package/dist/cjs/class/api/authorization/cache-invalidation.service.class.js.map +1 -0
  8. package/dist/cjs/class/api/authorization/guard.class.d.ts +1 -2
  9. package/dist/cjs/class/api/authorization/guard.class.js +13 -18
  10. package/dist/cjs/class/api/authorization/guard.class.js.map +1 -1
  11. package/dist/cjs/class/api/authorization/index.d.ts +1 -0
  12. package/dist/cjs/class/api/authorization/policy/executor.class.js +1 -2
  13. package/dist/cjs/class/api/authorization/policy/executor.class.js.map +1 -1
  14. package/dist/cjs/class/api/authorization/policy/index.d.ts +1 -0
  15. package/dist/cjs/class/api/authorization/policy/registry.class.d.ts +3 -5
  16. package/dist/cjs/class/api/authorization/policy/registry.class.js +11 -34
  17. package/dist/cjs/class/api/authorization/policy/registry.class.js.map +1 -1
  18. package/dist/cjs/class/api/authorization/policy/subscriber-wrapper.class.d.ts +10 -0
  19. package/dist/cjs/class/api/authorization/policy/subscriber-wrapper.class.js +23 -0
  20. package/dist/cjs/class/api/authorization/policy/subscriber-wrapper.class.js.map +1 -0
  21. package/dist/cjs/class/api/authorization/runtime.class.d.ts +3 -2
  22. package/dist/cjs/class/api/authorization/runtime.class.js +6 -5
  23. package/dist/cjs/class/api/authorization/runtime.class.js.map +1 -1
  24. package/dist/cjs/class/api/authorization/simulator.class.d.ts +2 -0
  25. package/dist/cjs/class/api/authorization/simulator.class.js +1 -0
  26. package/dist/cjs/class/api/authorization/simulator.class.js.map +1 -1
  27. package/dist/cjs/class/api/function/context-storage.class.d.ts +7 -0
  28. package/dist/cjs/class/api/function/context-storage.class.js +16 -0
  29. package/dist/cjs/class/api/function/context-storage.class.js.map +1 -0
  30. package/dist/cjs/class/api/function/custom-runtime.class.d.ts +19 -0
  31. package/dist/cjs/class/api/function/custom-runtime.class.js +118 -0
  32. package/dist/cjs/class/api/function/custom-runtime.class.js.map +1 -0
  33. package/dist/cjs/class/api/function/index.d.ts +1 -0
  34. package/dist/cjs/class/api/function/transaction-scope.class.d.ts +6 -0
  35. package/dist/cjs/class/api/function/transaction-scope.class.js +34 -0
  36. package/dist/cjs/class/api/function/transaction-scope.class.js.map +1 -0
  37. package/dist/cjs/class/api/index.d.ts +2 -0
  38. package/dist/cjs/class/api/route-runtime.class.d.ts +21 -0
  39. package/dist/cjs/class/api/route-runtime.class.js +335 -0
  40. package/dist/cjs/class/api/route-runtime.class.js.map +1 -0
  41. package/dist/cjs/class/api/service-base.class.d.ts +9 -7
  42. package/dist/cjs/class/api/service-base.class.js +16 -6
  43. package/dist/cjs/class/api/service-base.class.js.map +1 -1
  44. package/dist/cjs/class/api/subscriber/executor.class.d.ts +7 -6
  45. package/dist/cjs/class/api/subscriber/executor.class.js +16 -12
  46. package/dist/cjs/class/api/subscriber/executor.class.js.map +1 -1
  47. package/dist/cjs/class/api/subscriber/index.d.ts +1 -0
  48. package/dist/cjs/class/api/subscriber/registry.class.d.ts +5 -2
  49. package/dist/cjs/class/api/subscriber/registry.class.js +26 -24
  50. package/dist/cjs/class/api/subscriber/registry.class.js.map +1 -1
  51. package/dist/cjs/class/api/subscriber/wrapper.class.d.ts +18 -0
  52. package/dist/cjs/class/api/subscriber/wrapper.class.js +23 -0
  53. package/dist/cjs/class/api/subscriber/wrapper.class.js.map +1 -0
  54. package/dist/cjs/class/utility/dto/exception/details/foreign-key-violation.class.js +5 -1
  55. package/dist/cjs/class/utility/dto/exception/details/foreign-key-violation.class.js.map +1 -1
  56. package/dist/cjs/class/utility/dto/exception/details/unique-violation.class.js +5 -1
  57. package/dist/cjs/class/utility/dto/exception/details/unique-violation.class.js.map +1 -1
  58. package/dist/cjs/class/utility/dto/property/factory/number.class.js +6 -2
  59. package/dist/cjs/class/utility/dto/property/factory/number.class.js.map +1 -1
  60. package/dist/cjs/class/utility/dto/property/factory/relation.class.js +5 -1
  61. package/dist/cjs/class/utility/dto/property/factory/relation.class.js.map +1 -1
  62. package/dist/cjs/class/utility/dto/strategy/body.class.js +5 -1
  63. package/dist/cjs/class/utility/dto/strategy/body.class.js.map +1 -1
  64. package/dist/cjs/class/utility/dto/strategy/query.class.js +5 -1
  65. package/dist/cjs/class/utility/dto/strategy/query.class.js.map +1 -1
  66. package/dist/cjs/class/utility/dto/strategy/request.class.js +5 -1
  67. package/dist/cjs/class/utility/dto/strategy/request.class.js.map +1 -1
  68. package/dist/cjs/class/utility/dto/strategy/response.class.js +5 -1
  69. package/dist/cjs/class/utility/dto/strategy/response.class.js.map +1 -1
  70. package/dist/cjs/constant/decorator/api/method.constant.d.ts +2 -3
  71. package/dist/cjs/constant/decorator/api/method.constant.js +4 -6
  72. package/dist/cjs/constant/decorator/api/method.constant.js.map +1 -1
  73. package/dist/cjs/constant/utility/dto/constant.js +6 -2
  74. package/dist/cjs/constant/utility/dto/constant.js.map +1 -1
  75. package/dist/cjs/decorator/api/function/create.decorator.js +51 -24
  76. package/dist/cjs/decorator/api/function/create.decorator.js.map +1 -1
  77. package/dist/cjs/decorator/api/function/custom.decorator.d.ts +9 -0
  78. package/dist/cjs/decorator/api/function/custom.decorator.js +47 -0
  79. package/dist/cjs/decorator/api/function/custom.decorator.js.map +1 -0
  80. package/dist/cjs/decorator/api/function/decorator.js +16 -7
  81. package/dist/cjs/decorator/api/function/decorator.js.map +1 -1
  82. package/dist/cjs/decorator/api/function/delete.decorator.js +62 -41
  83. package/dist/cjs/decorator/api/function/delete.decorator.js.map +1 -1
  84. package/dist/cjs/decorator/api/function/get/decorator.js +40 -25
  85. package/dist/cjs/decorator/api/function/get/decorator.js.map +1 -1
  86. package/dist/cjs/decorator/api/function/get/list.decorator.js +40 -25
  87. package/dist/cjs/decorator/api/function/get/list.decorator.js.map +1 -1
  88. package/dist/cjs/decorator/api/function/get/many.decorator.js +40 -25
  89. package/dist/cjs/decorator/api/function/get/many.decorator.js.map +1 -1
  90. package/dist/cjs/decorator/api/function/index.d.ts +1 -0
  91. package/dist/cjs/decorator/api/function/update.decorator.js +62 -41
  92. package/dist/cjs/decorator/api/function/update.decorator.js.map +1 -1
  93. package/dist/cjs/decorator/api/index.d.ts +1 -0
  94. package/dist/cjs/decorator/api/method.decorator.d.ts +5 -6
  95. package/dist/cjs/decorator/api/method.decorator.js +65 -325
  96. package/dist/cjs/decorator/api/method.decorator.js.map +1 -1
  97. package/dist/cjs/decorator/api/property/boolean.decorator.js +23 -4
  98. package/dist/cjs/decorator/api/property/boolean.decorator.js.map +1 -1
  99. package/dist/cjs/decorator/api/property/date.decorator.js +23 -4
  100. package/dist/cjs/decorator/api/property/date.decorator.js.map +1 -1
  101. package/dist/cjs/decorator/api/property/enum.decorator.js +21 -3
  102. package/dist/cjs/decorator/api/property/enum.decorator.js.map +1 -1
  103. package/dist/cjs/decorator/api/property/number.decorator.js +28 -5
  104. package/dist/cjs/decorator/api/property/number.decorator.js.map +1 -1
  105. package/dist/cjs/decorator/api/property/object.decorator.js +21 -3
  106. package/dist/cjs/decorator/api/property/object.decorator.js.map +1 -1
  107. package/dist/cjs/decorator/api/property/string.decorator.js +25 -8
  108. package/dist/cjs/decorator/api/property/string.decorator.js.map +1 -1
  109. package/dist/cjs/decorator/api/property/uuid.decorator.js +26 -4
  110. package/dist/cjs/decorator/api/property/uuid.decorator.js.map +1 -1
  111. package/dist/cjs/decorator/api/route-custom.decorator.d.ts +9 -0
  112. package/dist/cjs/decorator/api/route-custom.decorator.js +101 -0
  113. package/dist/cjs/decorator/api/route-custom.decorator.js.map +1 -0
  114. package/dist/cjs/decorator/api/service/decorator.js +28 -23
  115. package/dist/cjs/decorator/api/service/decorator.js.map +1 -1
  116. package/dist/cjs/enum/decorator/api/controller/index.d.ts +3 -1
  117. package/dist/cjs/enum/decorator/api/controller/relation-reference-shape.enum.d.ts +4 -0
  118. package/dist/cjs/enum/decorator/api/controller/relation-reference-shape.enum.js +8 -0
  119. package/dist/cjs/enum/decorator/api/controller/relation-reference-shape.enum.js.map +1 -0
  120. package/dist/cjs/enum/decorator/api/controller/request/index.d.ts +2 -0
  121. package/dist/cjs/enum/decorator/api/controller/request/target.enum.d.ts +5 -0
  122. package/dist/cjs/enum/decorator/api/controller/request/target.enum.js +9 -0
  123. package/dist/cjs/enum/decorator/api/controller/request/target.enum.js.map +1 -0
  124. package/dist/cjs/enum/decorator/api/controller/{request-transformer-type.enum.js → request/transformer-type.enum.js} +1 -1
  125. package/dist/cjs/enum/decorator/api/controller/request/transformer-type.enum.js.map +1 -0
  126. package/dist/cjs/enum/decorator/api/controller/response-target.enum.d.ts +3 -0
  127. package/dist/cjs/enum/decorator/api/controller/response-target.enum.js +7 -0
  128. package/dist/cjs/enum/decorator/api/controller/response-target.enum.js.map +1 -0
  129. package/dist/cjs/enum/decorator/api/dto-type.enum.d.ts +1 -1
  130. package/dist/cjs/enum/decorator/api/dto-type.enum.js +1 -1
  131. package/dist/cjs/enum/decorator/api/dto-type.enum.js.map +1 -1
  132. package/dist/cjs/enum/decorator/api/function-transaction-mode.enum.d.ts +6 -0
  133. package/dist/cjs/enum/decorator/api/function-transaction-mode.enum.js +10 -0
  134. package/dist/cjs/enum/decorator/api/function-transaction-mode.enum.js.map +1 -0
  135. package/dist/cjs/enum/decorator/api/function-type.enum.d.ts +1 -0
  136. package/dist/cjs/enum/decorator/api/function-type.enum.js +1 -0
  137. package/dist/cjs/enum/decorator/api/function-type.enum.js.map +1 -1
  138. package/dist/cjs/enum/decorator/api/index.d.ts +1 -0
  139. package/dist/cjs/external/rxjs/dist/esm5/internal/Observable.js +106 -0
  140. package/dist/cjs/external/rxjs/dist/esm5/internal/Observable.js.map +1 -0
  141. package/dist/cjs/external/rxjs/dist/esm5/internal/Subscriber.js +158 -0
  142. package/dist/cjs/external/rxjs/dist/esm5/internal/Subscriber.js.map +1 -0
  143. package/dist/cjs/external/rxjs/dist/esm5/internal/Subscription.js +148 -0
  144. package/dist/cjs/external/rxjs/dist/esm5/internal/Subscription.js.map +1 -0
  145. package/dist/cjs/external/rxjs/dist/esm5/internal/config.js +7 -0
  146. package/dist/cjs/external/rxjs/dist/esm5/internal/config.js.map +1 -0
  147. package/dist/cjs/external/rxjs/dist/esm5/internal/lastValueFrom.js +28 -0
  148. package/dist/cjs/external/rxjs/dist/esm5/internal/lastValueFrom.js.map +1 -0
  149. package/dist/cjs/external/rxjs/dist/esm5/internal/observable/from.js +11 -0
  150. package/dist/cjs/external/rxjs/dist/esm5/internal/observable/from.js.map +1 -0
  151. package/dist/cjs/external/rxjs/dist/esm5/internal/observable/innerFrom.js +154 -0
  152. package/dist/cjs/external/rxjs/dist/esm5/internal/observable/innerFrom.js.map +1 -0
  153. package/dist/cjs/external/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js +66 -0
  154. package/dist/cjs/external/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js.map +1 -0
  155. package/dist/cjs/external/rxjs/dist/esm5/internal/operators/observeOn.js +15 -0
  156. package/dist/cjs/external/rxjs/dist/esm5/internal/operators/observeOn.js.map +1 -0
  157. package/dist/cjs/external/rxjs/dist/esm5/internal/operators/subscribeOn.js +13 -0
  158. package/dist/cjs/external/rxjs/dist/esm5/internal/operators/subscribeOn.js.map +1 -0
  159. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduleArray.js +23 -0
  160. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduleArray.js.map +1 -0
  161. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js +28 -0
  162. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js.map +1 -0
  163. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js +37 -0
  164. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js.map +1 -0
  165. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js +12 -0
  166. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js.map +1 -0
  167. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/schedulePromise.js +12 -0
  168. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/schedulePromise.js.map +1 -0
  169. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js +11 -0
  170. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js.map +1 -0
  171. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduled.js +42 -0
  172. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduled/scheduled.js.map +1 -0
  173. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +20 -0
  174. package/dist/cjs/external/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -0
  175. package/dist/cjs/external/rxjs/dist/esm5/internal/symbol/iterator.js +13 -0
  176. package/dist/cjs/external/rxjs/dist/esm5/internal/symbol/iterator.js.map +1 -0
  177. package/dist/cjs/external/rxjs/dist/esm5/internal/symbol/observable.js +6 -0
  178. package/dist/cjs/external/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -0
  179. package/dist/cjs/external/rxjs/dist/esm5/internal/util/EmptyError.js +14 -0
  180. package/dist/cjs/external/rxjs/dist/esm5/internal/util/EmptyError.js.map +1 -0
  181. package/dist/cjs/external/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +17 -0
  182. package/dist/cjs/external/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -0
  183. package/dist/cjs/external/rxjs/dist/esm5/internal/util/arrRemove.js +11 -0
  184. package/dist/cjs/external/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -0
  185. package/dist/cjs/external/rxjs/dist/esm5/internal/util/createErrorClass.js +15 -0
  186. package/dist/cjs/external/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -0
  187. package/dist/cjs/external/rxjs/dist/esm5/internal/util/errorContext.js +10 -0
  188. package/dist/cjs/external/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -0
  189. package/dist/cjs/external/rxjs/dist/esm5/internal/util/executeSchedule.js +22 -0
  190. package/dist/cjs/external/rxjs/dist/esm5/internal/util/executeSchedule.js.map +1 -0
  191. package/dist/cjs/external/rxjs/dist/esm5/internal/util/identity.js +8 -0
  192. package/dist/cjs/external/rxjs/dist/esm5/internal/util/identity.js.map +1 -0
  193. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isArrayLike.js +6 -0
  194. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isArrayLike.js.map +1 -0
  195. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isAsyncIterable.js +10 -0
  196. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isAsyncIterable.js.map +1 -0
  197. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isFunction.js +8 -0
  198. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -0
  199. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isInteropObservable.js +11 -0
  200. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isInteropObservable.js.map +1 -0
  201. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isIterable.js +11 -0
  202. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isIterable.js.map +1 -0
  203. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isPromise.js +10 -0
  204. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isPromise.js.map +1 -0
  205. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isReadableStreamLike.js +44 -0
  206. package/dist/cjs/external/rxjs/dist/esm5/internal/util/isReadableStreamLike.js.map +1 -0
  207. package/dist/cjs/external/rxjs/dist/esm5/internal/util/lift.js +26 -0
  208. package/dist/cjs/external/rxjs/dist/esm5/internal/util/lift.js.map +1 -0
  209. package/dist/cjs/external/rxjs/dist/esm5/internal/util/noop.js +6 -0
  210. package/dist/cjs/external/rxjs/dist/esm5/internal/util/noop.js.map +1 -0
  211. package/dist/cjs/external/rxjs/dist/esm5/internal/util/pipe.js +18 -0
  212. package/dist/cjs/external/rxjs/dist/esm5/internal/util/pipe.js.map +1 -0
  213. package/dist/cjs/external/rxjs/dist/esm5/internal/util/reportUnhandledError.js +14 -0
  214. package/dist/cjs/external/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -0
  215. package/dist/cjs/external/rxjs/dist/esm5/internal/util/throwUnobservableError.js +8 -0
  216. package/dist/cjs/external/rxjs/dist/esm5/internal/util/throwUnobservableError.js.map +1 -0
  217. package/dist/cjs/external/tslib/tslib.es6.js +125 -0
  218. package/dist/cjs/external/tslib/tslib.es6.js.map +1 -1
  219. package/dist/cjs/factory/api-controller.factory.d.ts +1 -0
  220. package/dist/cjs/factory/api-controller.factory.js +42 -393
  221. package/dist/cjs/factory/api-controller.factory.js.map +1 -1
  222. package/dist/cjs/index.js +45 -2
  223. package/dist/cjs/index.js.map +1 -1
  224. package/dist/cjs/interceptor/api-route-runtime.interceptor.d.ts +5 -0
  225. package/dist/cjs/interceptor/api-route-runtime.interceptor.js +29 -0
  226. package/dist/cjs/interceptor/api-route-runtime.interceptor.js.map +1 -0
  227. package/dist/cjs/interface/class/api/authorization/policy/registry.interface.d.ts +1 -0
  228. package/dist/cjs/interface/class/api/authorization/policy/subscriber/context/interface.d.ts +1 -1
  229. package/dist/cjs/interface/class/api/function/context/index.d.ts +2 -0
  230. package/dist/cjs/interface/class/api/function/context/interface.d.ts +10 -0
  231. package/dist/cjs/interface/class/api/function/context/operations.interface.d.ts +13 -0
  232. package/dist/cjs/interface/class/api/function/index.d.ts +1 -0
  233. package/dist/cjs/interface/class/api/index.d.ts +2 -0
  234. package/dist/cjs/interface/class/api/route/index.d.ts +1 -0
  235. package/dist/cjs/interface/class/api/route/runtime/context-data.interface.d.ts +10 -0
  236. package/dist/cjs/interface/class/api/route/runtime/custom-execution-options.interface.d.ts +9 -0
  237. package/dist/cjs/interface/class/api/route/runtime/generated/execution-options.interface.d.ts +14 -0
  238. package/dist/cjs/interface/class/api/route/runtime/generated/index.d.ts +2 -0
  239. package/dist/cjs/interface/class/api/route/runtime/generated/targets.interface.d.ts +12 -0
  240. package/dist/cjs/interface/class/api/route/runtime/http-request.interface.d.ts +8 -0
  241. package/dist/cjs/interface/class/api/route/runtime/index.d.ts +4 -0
  242. package/dist/cjs/interface/class/api/subscriber/function/error-execution-context.interface.d.ts +1 -0
  243. package/dist/cjs/interface/class/api/subscriber/function/execution/context.interface.d.ts +1 -0
  244. package/dist/cjs/interface/class/api/subscriber/function.interface.d.ts +4 -0
  245. package/dist/cjs/interface/class/api/subscriber/route/error-execution-context.interface.d.ts +2 -1
  246. package/dist/cjs/interface/class/api/subscriber/route/execution/context/data/extended.interface.d.ts +36 -0
  247. package/dist/cjs/interface/class/api/subscriber/route/execution/context/data/index.d.ts +2 -0
  248. package/dist/cjs/interface/class/api/subscriber/route/execution/context/data/interface.d.ts +32 -0
  249. package/dist/cjs/interface/class/api/subscriber/route/execution/context/index.d.ts +2 -0
  250. package/dist/cjs/interface/class/api/subscriber/route/execution/context/interface.d.ts +11 -0
  251. package/dist/cjs/interface/class/api/subscriber/route/execution/index.d.ts +1 -2
  252. package/dist/cjs/interface/class/api/subscriber/route.interface.d.ts +6 -2
  253. package/dist/cjs/interface/decorator/api/controller/properties/route/authentication.interface.d.ts +1 -1
  254. package/dist/cjs/interface/decorator/api/controller/properties/route/base/generation.interface.d.ts +5 -0
  255. package/dist/cjs/interface/decorator/api/controller/properties/route/base/index.d.ts +5 -2
  256. package/dist/cjs/interface/decorator/api/controller/properties/route/base/interface.d.ts +4 -7
  257. package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/index.d.ts +4 -0
  258. package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/interface.d.ts +6 -0
  259. package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/reference.interface.d.ts +5 -0
  260. package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/request/index.d.ts +2 -0
  261. package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/request/interface.d.ts +6 -0
  262. package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/request/load.interface.d.ts +10 -0
  263. package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/response/index.d.ts +2 -0
  264. package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/response/interface.d.ts +6 -0
  265. package/dist/cjs/interface/decorator/api/controller/properties/route/base/relations/response/load.interface.d.ts +4 -0
  266. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/index.d.ts +2 -0
  267. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/interface.d.ts +6 -0
  268. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request/target.interface.d.ts +6 -0
  269. package/dist/cjs/interface/decorator/api/controller/properties/route/base/response/index.d.ts +2 -0
  270. package/dist/cjs/interface/decorator/api/controller/properties/route/base/response/interface.d.ts +7 -0
  271. package/dist/cjs/interface/decorator/api/controller/properties/route/base/response/target.interface.d.ts +4 -0
  272. package/dist/cjs/interface/decorator/api/controller/properties/route/base/security.interface.d.ts +6 -0
  273. package/dist/cjs/interface/decorator/api/controller/properties/route/with/dto.interface.d.ts +1 -1
  274. package/dist/cjs/interface/decorator/api/function/create-executor-properties.interface.d.ts +1 -2
  275. package/dist/cjs/interface/decorator/api/function/custom-properties.interface.d.ts +9 -0
  276. package/dist/cjs/interface/decorator/api/function/delete-executor-properties.interface.d.ts +2 -3
  277. package/dist/cjs/interface/decorator/api/function/get/executor-properties.interface.d.ts +1 -2
  278. package/dist/cjs/interface/decorator/api/function/get/list-executor-properties.interface.d.ts +1 -2
  279. package/dist/cjs/interface/decorator/api/function/get/many-executor-properties.interface.d.ts +1 -2
  280. package/dist/cjs/interface/decorator/api/function/index.d.ts +1 -0
  281. package/dist/cjs/interface/decorator/api/function/properties.interface.d.ts +4 -0
  282. package/dist/cjs/interface/decorator/api/function/update-executor-properties.interface.d.ts +2 -3
  283. package/dist/cjs/interface/decorator/api/index.d.ts +1 -0
  284. package/dist/cjs/interface/decorator/api/method/index.d.ts +0 -2
  285. package/dist/cjs/interface/decorator/api/method/properties.interface.d.ts +4 -17
  286. package/dist/cjs/interface/decorator/api/route/custom-properties.interface.d.ts +6 -0
  287. package/dist/cjs/interface/decorator/api/route/documentation-properties.interface.d.ts +5 -0
  288. package/dist/cjs/interface/decorator/api/route/index.d.ts +7 -0
  289. package/dist/cjs/interface/decorator/api/route/metadata/index.d.ts +3 -0
  290. package/dist/cjs/interface/decorator/api/route/metadata/interface.d.ts +15 -0
  291. package/dist/cjs/interface/decorator/api/route/metadata/resource.interface.d.ts +6 -0
  292. package/dist/cjs/interface/decorator/api/route/metadata/route.interface.d.ts +7 -0
  293. package/dist/cjs/interface/decorator/api/route/response/index.d.ts +2 -0
  294. package/dist/cjs/interface/decorator/api/route/response/properties.interface.d.ts +9 -0
  295. package/dist/cjs/interface/decorator/api/route/response/serialization-properties.interface.d.ts +3 -0
  296. package/dist/cjs/interface/decorator/api/route/runtime-properties.interface.d.ts +11 -0
  297. package/dist/cjs/interface/decorator/api/route/security/authentication-properties.interface.d.ts +9 -0
  298. package/dist/cjs/interface/decorator/api/route/security/authorization-properties.interface.d.ts +4 -0
  299. package/dist/cjs/interface/decorator/api/route/security/index.d.ts +3 -0
  300. package/dist/cjs/interface/decorator/api/route/security/properties.interface.d.ts +6 -0
  301. package/dist/cjs/interface/decorator/api/route/throttling/default-properties.interface.d.ts +4 -0
  302. package/dist/cjs/interface/decorator/api/route/throttling/index.d.ts +2 -0
  303. package/dist/cjs/interface/decorator/api/route/throttling/properties.interface.d.ts +4 -0
  304. package/dist/cjs/interface/decorator/api/subscriber/function/filter.interface.d.ts +5 -0
  305. package/dist/cjs/interface/decorator/api/subscriber/function/index.d.ts +2 -0
  306. package/dist/cjs/interface/decorator/api/subscriber/function/properties.interface.d.ts +7 -0
  307. package/dist/cjs/interface/decorator/api/subscriber/index.d.ts +2 -2
  308. package/dist/cjs/interface/decorator/api/subscriber/route-properties.interface.d.ts +4 -0
  309. package/dist/cjs/module/api/authorization.module.js +18 -1
  310. package/dist/cjs/module/api/authorization.module.js.map +1 -1
  311. package/dist/cjs/package.json +0 -1
  312. package/dist/cjs/type/class/api/subscriber/route/after/create-context.type.d.ts +2 -2
  313. package/dist/cjs/type/class/api/subscriber/route/after/delete-context.type.d.ts +2 -2
  314. package/dist/cjs/type/class/api/subscriber/route/after/get/context.type.d.ts +2 -2
  315. package/dist/cjs/type/class/api/subscriber/route/after/get/list-context.type.d.ts +2 -2
  316. package/dist/cjs/type/class/api/subscriber/route/after/partial-update-context.type.d.ts +2 -2
  317. package/dist/cjs/type/class/api/subscriber/route/after/update-context.type.d.ts +2 -2
  318. package/dist/cjs/type/class/api/subscriber/route/before/create-context.type.d.ts +2 -2
  319. package/dist/cjs/type/class/api/subscriber/route/before/delete-context.type.d.ts +2 -2
  320. package/dist/cjs/type/class/api/subscriber/route/before/get/context.type.d.ts +2 -2
  321. package/dist/cjs/type/class/api/subscriber/route/before/get/list-context.type.d.ts +2 -2
  322. package/dist/cjs/type/class/api/subscriber/route/before/partial-update-context.type.d.ts +2 -2
  323. package/dist/cjs/type/class/api/subscriber/route/before/update-context.type.d.ts +2 -2
  324. package/dist/cjs/type/decorator/api/controller/properties/route/base/request/allowed-target.type.d.ts +9 -0
  325. package/dist/cjs/type/decorator/api/controller/properties/route/base/request/index.d.ts +1 -1
  326. package/dist/cjs/type/decorator/api/controller/properties/route/base/request/transformers.type.d.ts +7 -7
  327. package/dist/cjs/type/decorator/api/controller/properties/route/base/response-transformers.type.d.ts +6 -6
  328. package/dist/cjs/type/decorator/api/controller/transformer-config.type.d.ts +5 -5
  329. package/dist/cjs/type/decorator/api/function/properties.type.d.ts +5 -3
  330. package/dist/cjs/type/decorator/api/property/describe/dto/request-properties.type.d.ts +1 -1
  331. package/dist/cjs/type/decorator/api/property/describe/properties/base/properties.type.d.ts +4 -4
  332. package/dist/cjs/type/utility/dto/generate/allowed-combination.type.d.ts +4 -4
  333. package/dist/cjs/utility/api/controller/apply/decorators.utility.js +58 -26
  334. package/dist/cjs/utility/api/controller/apply/decorators.utility.js.map +1 -1
  335. package/dist/cjs/utility/api/controller/apply/metadata.utility.js +6 -2
  336. package/dist/cjs/utility/api/controller/apply/metadata.utility.js.map +1 -1
  337. package/dist/cjs/utility/api/controller/get/dto.utility.js +6 -2
  338. package/dist/cjs/utility/api/controller/get/dto.utility.js.map +1 -1
  339. package/dist/cjs/utility/api/controller/get-list/transform/filter.utility.js +5 -1
  340. package/dist/cjs/utility/api/controller/get-list/transform/filter.utility.js.map +1 -1
  341. package/dist/cjs/utility/api/controller/handle-request-relations.utility.d.ts +4 -4
  342. package/dist/cjs/utility/api/controller/handle-request-relations.utility.js +37 -11
  343. package/dist/cjs/utility/api/controller/handle-request-relations.utility.js.map +1 -1
  344. package/dist/cjs/utility/api/controller/index.d.ts +1 -0
  345. package/dist/cjs/utility/api/controller/serialize-route-response.utility.d.ts +14 -0
  346. package/dist/cjs/utility/api/controller/serialize-route-response.utility.js +29 -0
  347. package/dist/cjs/utility/api/controller/serialize-route-response.utility.js.map +1 -0
  348. package/dist/cjs/utility/api/controller/transform-data.utility.d.ts +8 -7
  349. package/dist/cjs/utility/api/controller/transform-data.utility.js +21 -18
  350. package/dist/cjs/utility/api/controller/transform-data.utility.js.map +1 -1
  351. package/dist/cjs/utility/api/controller/validate-request.utility.d.ts +3 -3
  352. package/dist/cjs/utility/api/controller/validate-request.utility.js +10 -9
  353. package/dist/cjs/utility/api/controller/validate-request.utility.js.map +1 -1
  354. package/dist/cjs/utility/api/controller/write/dto-swagger.utility.js +6 -2
  355. package/dist/cjs/utility/api/controller/write/dto-swagger.utility.js.map +1 -1
  356. package/dist/cjs/utility/api/function-transaction.utility.d.ts +20 -0
  357. package/dist/cjs/utility/api/function-transaction.utility.js +52 -0
  358. package/dist/cjs/utility/api/function-transaction.utility.js.map +1 -0
  359. package/dist/cjs/utility/api/index.d.ts +1 -0
  360. package/dist/cjs/utility/api/route/index.d.ts +1 -0
  361. package/dist/cjs/utility/api/route/response/index.d.ts +2 -0
  362. package/dist/cjs/utility/api/route/response/project-relation.utility.d.ts +11 -0
  363. package/dist/cjs/utility/api/route/response/project-relation.utility.js +75 -0
  364. package/dist/cjs/utility/api/route/response/project-relation.utility.js.map +1 -0
  365. package/dist/cjs/utility/api/route/response/serialize.utility.d.ts +11 -0
  366. package/dist/cjs/utility/api/route/response/serialize.utility.js +26 -0
  367. package/dist/cjs/utility/api/route/response/serialize.utility.js.map +1 -0
  368. package/dist/cjs/utility/dto/build-decorator.utility.js +5 -1
  369. package/dist/cjs/utility/dto/build-decorator.utility.js.map +1 -1
  370. package/dist/cjs/utility/dto/generate/core.utility.js +5 -1
  371. package/dist/cjs/utility/dto/generate/core.utility.js.map +1 -1
  372. package/dist/cjs/utility/dto/generate/dynamic.utility.js +5 -1
  373. package/dist/cjs/utility/dto/generate/dynamic.utility.js.map +1 -1
  374. package/dist/cjs/utility/dto/generate/exception.utility.js +5 -1
  375. package/dist/cjs/utility/dto/generate/exception.utility.js.map +1 -1
  376. package/dist/cjs/utility/dto/generate/filter-decorator.utility.js +5 -1
  377. package/dist/cjs/utility/dto/generate/filter-decorator.utility.js.map +1 -1
  378. package/dist/cjs/utility/dto/generate/get-list-response.utility.js +5 -1
  379. package/dist/cjs/utility/dto/generate/get-list-response.utility.js.map +1 -1
  380. package/dist/cjs/utility/dto/get/get-list-query-base-class.utility.js +5 -1
  381. package/dist/cjs/utility/dto/get/get-list-query-base-class.utility.js.map +1 -1
  382. package/dist/cjs/utility/dto/handle-date-property.utility.js +5 -1
  383. package/dist/cjs/utility/dto/handle-date-property.utility.js.map +1 -1
  384. package/dist/cjs/utility/dto/is/property/should-be-marked.utility.js +7 -3
  385. package/dist/cjs/utility/dto/is/property/should-be-marked.utility.js.map +1 -1
  386. package/dist/cjs/utility/dto/is/should-be-generated.utility.js +8 -4
  387. package/dist/cjs/utility/dto/is/should-be-generated.utility.js.map +1 -1
  388. package/dist/esm/class/api/authorization/bootstrap-validation.service.class.d.ts +1 -0
  389. package/dist/esm/class/api/authorization/bootstrap-validation.service.class.js +37 -3
  390. package/dist/esm/class/api/authorization/bootstrap-validation.service.class.js.map +1 -1
  391. package/dist/esm/class/api/authorization/cache-invalidation.service.class.d.ts +7 -0
  392. package/dist/esm/class/api/authorization/cache-invalidation.service.class.js +21 -0
  393. package/dist/esm/class/api/authorization/cache-invalidation.service.class.js.map +1 -0
  394. package/dist/esm/class/api/authorization/guard.class.d.ts +1 -2
  395. package/dist/esm/class/api/authorization/guard.class.js +13 -18
  396. package/dist/esm/class/api/authorization/guard.class.js.map +1 -1
  397. package/dist/esm/class/api/authorization/index.d.ts +1 -0
  398. package/dist/esm/class/api/authorization/policy/executor.class.js +1 -2
  399. package/dist/esm/class/api/authorization/policy/executor.class.js.map +1 -1
  400. package/dist/esm/class/api/authorization/policy/index.d.ts +1 -0
  401. package/dist/esm/class/api/authorization/policy/registry.class.d.ts +3 -5
  402. package/dist/esm/class/api/authorization/policy/registry.class.js +10 -33
  403. package/dist/esm/class/api/authorization/policy/registry.class.js.map +1 -1
  404. package/dist/esm/class/api/authorization/policy/subscriber-wrapper.class.d.ts +10 -0
  405. package/dist/esm/class/api/authorization/policy/subscriber-wrapper.class.js +21 -0
  406. package/dist/esm/class/api/authorization/policy/subscriber-wrapper.class.js.map +1 -0
  407. package/dist/esm/class/api/authorization/runtime.class.d.ts +3 -2
  408. package/dist/esm/class/api/authorization/runtime.class.js +6 -5
  409. package/dist/esm/class/api/authorization/runtime.class.js.map +1 -1
  410. package/dist/esm/class/api/authorization/simulator.class.d.ts +2 -0
  411. package/dist/esm/class/api/authorization/simulator.class.js +1 -0
  412. package/dist/esm/class/api/authorization/simulator.class.js.map +1 -1
  413. package/dist/esm/class/api/function/context-storage.class.d.ts +7 -0
  414. package/dist/esm/class/api/function/context-storage.class.js +14 -0
  415. package/dist/esm/class/api/function/context-storage.class.js.map +1 -0
  416. package/dist/esm/class/api/function/custom-runtime.class.d.ts +19 -0
  417. package/dist/esm/class/api/function/custom-runtime.class.js +116 -0
  418. package/dist/esm/class/api/function/custom-runtime.class.js.map +1 -0
  419. package/dist/esm/class/api/function/index.d.ts +1 -0
  420. package/dist/esm/class/api/function/transaction-scope.class.d.ts +6 -0
  421. package/dist/esm/class/api/function/transaction-scope.class.js +32 -0
  422. package/dist/esm/class/api/function/transaction-scope.class.js.map +1 -0
  423. package/dist/esm/class/api/index.d.ts +2 -0
  424. package/dist/esm/class/api/route-runtime.class.d.ts +21 -0
  425. package/dist/esm/class/api/route-runtime.class.js +333 -0
  426. package/dist/esm/class/api/route-runtime.class.js.map +1 -0
  427. package/dist/esm/class/api/service-base.class.d.ts +9 -7
  428. package/dist/esm/class/api/service-base.class.js +16 -6
  429. package/dist/esm/class/api/service-base.class.js.map +1 -1
  430. package/dist/esm/class/api/subscriber/executor.class.d.ts +7 -6
  431. package/dist/esm/class/api/subscriber/executor.class.js +16 -12
  432. package/dist/esm/class/api/subscriber/executor.class.js.map +1 -1
  433. package/dist/esm/class/api/subscriber/index.d.ts +1 -0
  434. package/dist/esm/class/api/subscriber/registry.class.d.ts +5 -2
  435. package/dist/esm/class/api/subscriber/registry.class.js +24 -22
  436. package/dist/esm/class/api/subscriber/registry.class.js.map +1 -1
  437. package/dist/esm/class/api/subscriber/wrapper.class.d.ts +18 -0
  438. package/dist/esm/class/api/subscriber/wrapper.class.js +21 -0
  439. package/dist/esm/class/api/subscriber/wrapper.class.js.map +1 -0
  440. package/dist/esm/class/utility/dto/exception/details/foreign-key-violation.class.js +5 -1
  441. package/dist/esm/class/utility/dto/exception/details/foreign-key-violation.class.js.map +1 -1
  442. package/dist/esm/class/utility/dto/exception/details/unique-violation.class.js +5 -1
  443. package/dist/esm/class/utility/dto/exception/details/unique-violation.class.js.map +1 -1
  444. package/dist/esm/class/utility/dto/property/factory/number.class.js +6 -2
  445. package/dist/esm/class/utility/dto/property/factory/number.class.js.map +1 -1
  446. package/dist/esm/class/utility/dto/property/factory/relation.class.js +5 -1
  447. package/dist/esm/class/utility/dto/property/factory/relation.class.js.map +1 -1
  448. package/dist/esm/class/utility/dto/strategy/body.class.js +5 -1
  449. package/dist/esm/class/utility/dto/strategy/body.class.js.map +1 -1
  450. package/dist/esm/class/utility/dto/strategy/query.class.js +5 -1
  451. package/dist/esm/class/utility/dto/strategy/query.class.js.map +1 -1
  452. package/dist/esm/class/utility/dto/strategy/request.class.js +5 -1
  453. package/dist/esm/class/utility/dto/strategy/request.class.js.map +1 -1
  454. package/dist/esm/class/utility/dto/strategy/response.class.js +5 -1
  455. package/dist/esm/class/utility/dto/strategy/response.class.js.map +1 -1
  456. package/dist/esm/constant/decorator/api/method.constant.d.ts +2 -3
  457. package/dist/esm/constant/decorator/api/method.constant.js +4 -6
  458. package/dist/esm/constant/decorator/api/method.constant.js.map +1 -1
  459. package/dist/esm/constant/utility/dto/constant.js +6 -2
  460. package/dist/esm/constant/utility/dto/constant.js.map +1 -1
  461. package/dist/esm/decorator/api/function/create.decorator.js +51 -24
  462. package/dist/esm/decorator/api/function/create.decorator.js.map +1 -1
  463. package/dist/esm/decorator/api/function/custom.decorator.d.ts +9 -0
  464. package/dist/esm/decorator/api/function/custom.decorator.js +45 -0
  465. package/dist/esm/decorator/api/function/custom.decorator.js.map +1 -0
  466. package/dist/esm/decorator/api/function/decorator.js +16 -7
  467. package/dist/esm/decorator/api/function/decorator.js.map +1 -1
  468. package/dist/esm/decorator/api/function/delete.decorator.js +62 -41
  469. package/dist/esm/decorator/api/function/delete.decorator.js.map +1 -1
  470. package/dist/esm/decorator/api/function/get/decorator.js +40 -25
  471. package/dist/esm/decorator/api/function/get/decorator.js.map +1 -1
  472. package/dist/esm/decorator/api/function/get/list.decorator.js +40 -25
  473. package/dist/esm/decorator/api/function/get/list.decorator.js.map +1 -1
  474. package/dist/esm/decorator/api/function/get/many.decorator.js +40 -25
  475. package/dist/esm/decorator/api/function/get/many.decorator.js.map +1 -1
  476. package/dist/esm/decorator/api/function/index.d.ts +1 -0
  477. package/dist/esm/decorator/api/function/update.decorator.js +62 -41
  478. package/dist/esm/decorator/api/function/update.decorator.js.map +1 -1
  479. package/dist/esm/decorator/api/index.d.ts +1 -0
  480. package/dist/esm/decorator/api/method.decorator.d.ts +5 -6
  481. package/dist/esm/decorator/api/method.decorator.js +66 -326
  482. package/dist/esm/decorator/api/method.decorator.js.map +1 -1
  483. package/dist/esm/decorator/api/property/boolean.decorator.js +24 -5
  484. package/dist/esm/decorator/api/property/boolean.decorator.js.map +1 -1
  485. package/dist/esm/decorator/api/property/date.decorator.js +24 -5
  486. package/dist/esm/decorator/api/property/date.decorator.js.map +1 -1
  487. package/dist/esm/decorator/api/property/enum.decorator.js +22 -4
  488. package/dist/esm/decorator/api/property/enum.decorator.js.map +1 -1
  489. package/dist/esm/decorator/api/property/number.decorator.js +30 -7
  490. package/dist/esm/decorator/api/property/number.decorator.js.map +1 -1
  491. package/dist/esm/decorator/api/property/object.decorator.js +22 -4
  492. package/dist/esm/decorator/api/property/object.decorator.js.map +1 -1
  493. package/dist/esm/decorator/api/property/string.decorator.js +26 -9
  494. package/dist/esm/decorator/api/property/string.decorator.js.map +1 -1
  495. package/dist/esm/decorator/api/property/uuid.decorator.js +27 -5
  496. package/dist/esm/decorator/api/property/uuid.decorator.js.map +1 -1
  497. package/dist/esm/decorator/api/route-custom.decorator.d.ts +9 -0
  498. package/dist/esm/decorator/api/route-custom.decorator.js +99 -0
  499. package/dist/esm/decorator/api/route-custom.decorator.js.map +1 -0
  500. package/dist/esm/decorator/api/service/decorator.js +28 -23
  501. package/dist/esm/decorator/api/service/decorator.js.map +1 -1
  502. package/dist/esm/enum/decorator/api/controller/index.d.ts +3 -1
  503. package/dist/esm/enum/decorator/api/controller/relation-reference-shape.enum.d.ts +4 -0
  504. package/dist/esm/enum/decorator/api/controller/relation-reference-shape.enum.js +8 -0
  505. package/dist/esm/enum/decorator/api/controller/relation-reference-shape.enum.js.map +1 -0
  506. package/dist/esm/enum/decorator/api/controller/request/index.d.ts +2 -0
  507. package/dist/esm/enum/decorator/api/controller/request/target.enum.d.ts +5 -0
  508. package/dist/esm/enum/decorator/api/controller/request/target.enum.js +9 -0
  509. package/dist/esm/enum/decorator/api/controller/request/target.enum.js.map +1 -0
  510. package/dist/esm/enum/decorator/api/controller/{request-transformer-type.enum.js → request/transformer-type.enum.js} +1 -1
  511. package/dist/esm/enum/decorator/api/controller/request/transformer-type.enum.js.map +1 -0
  512. package/dist/esm/enum/decorator/api/controller/response-target.enum.d.ts +3 -0
  513. package/dist/esm/enum/decorator/api/controller/response-target.enum.js +7 -0
  514. package/dist/esm/enum/decorator/api/controller/response-target.enum.js.map +1 -0
  515. package/dist/esm/enum/decorator/api/dto-type.enum.d.ts +1 -1
  516. package/dist/esm/enum/decorator/api/dto-type.enum.js +1 -1
  517. package/dist/esm/enum/decorator/api/dto-type.enum.js.map +1 -1
  518. package/dist/esm/enum/decorator/api/function-transaction-mode.enum.d.ts +6 -0
  519. package/dist/esm/enum/decorator/api/function-transaction-mode.enum.js +10 -0
  520. package/dist/esm/enum/decorator/api/function-transaction-mode.enum.js.map +1 -0
  521. package/dist/esm/enum/decorator/api/function-type.enum.d.ts +1 -0
  522. package/dist/esm/enum/decorator/api/function-type.enum.js +1 -0
  523. package/dist/esm/enum/decorator/api/function-type.enum.js.map +1 -1
  524. package/dist/esm/enum/decorator/api/index.d.ts +1 -0
  525. package/dist/esm/external/rxjs/dist/esm5/internal/Observable.js +104 -0
  526. package/dist/esm/external/rxjs/dist/esm5/internal/Observable.js.map +1 -0
  527. package/dist/esm/external/rxjs/dist/esm5/internal/Subscriber.js +154 -0
  528. package/dist/esm/external/rxjs/dist/esm5/internal/Subscriber.js.map +1 -0
  529. package/dist/esm/external/rxjs/dist/esm5/internal/Subscription.js +145 -0
  530. package/dist/esm/external/rxjs/dist/esm5/internal/Subscription.js.map +1 -0
  531. package/dist/esm/external/rxjs/dist/esm5/internal/config.js +5 -0
  532. package/dist/esm/external/rxjs/dist/esm5/internal/config.js.map +1 -0
  533. package/dist/esm/external/rxjs/dist/esm5/internal/lastValueFrom.js +26 -0
  534. package/dist/esm/external/rxjs/dist/esm5/internal/lastValueFrom.js.map +1 -0
  535. package/dist/esm/external/rxjs/dist/esm5/internal/observable/from.js +9 -0
  536. package/dist/esm/external/rxjs/dist/esm5/internal/observable/from.js.map +1 -0
  537. package/dist/esm/external/rxjs/dist/esm5/internal/observable/innerFrom.js +146 -0
  538. package/dist/esm/external/rxjs/dist/esm5/internal/observable/innerFrom.js.map +1 -0
  539. package/dist/esm/external/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js +63 -0
  540. package/dist/esm/external/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js.map +1 -0
  541. package/dist/esm/external/rxjs/dist/esm5/internal/operators/observeOn.js +13 -0
  542. package/dist/esm/external/rxjs/dist/esm5/internal/operators/observeOn.js.map +1 -0
  543. package/dist/esm/external/rxjs/dist/esm5/internal/operators/subscribeOn.js +11 -0
  544. package/dist/esm/external/rxjs/dist/esm5/internal/operators/subscribeOn.js.map +1 -0
  545. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduleArray.js +21 -0
  546. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduleArray.js.map +1 -0
  547. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js +26 -0
  548. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js.map +1 -0
  549. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js +35 -0
  550. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js.map +1 -0
  551. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js +10 -0
  552. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js.map +1 -0
  553. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/schedulePromise.js +10 -0
  554. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/schedulePromise.js.map +1 -0
  555. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js +9 -0
  556. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js.map +1 -0
  557. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduled.js +40 -0
  558. package/dist/esm/external/rxjs/dist/esm5/internal/scheduled/scheduled.js.map +1 -0
  559. package/dist/esm/external/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +18 -0
  560. package/dist/esm/external/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -0
  561. package/dist/esm/external/rxjs/dist/esm5/internal/symbol/iterator.js +10 -0
  562. package/dist/esm/external/rxjs/dist/esm5/internal/symbol/iterator.js.map +1 -0
  563. package/dist/esm/external/rxjs/dist/esm5/internal/symbol/observable.js +4 -0
  564. package/dist/esm/external/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -0
  565. package/dist/esm/external/rxjs/dist/esm5/internal/util/EmptyError.js +12 -0
  566. package/dist/esm/external/rxjs/dist/esm5/internal/util/EmptyError.js.map +1 -0
  567. package/dist/esm/external/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +15 -0
  568. package/dist/esm/external/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -0
  569. package/dist/esm/external/rxjs/dist/esm5/internal/util/arrRemove.js +9 -0
  570. package/dist/esm/external/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -0
  571. package/dist/esm/external/rxjs/dist/esm5/internal/util/createErrorClass.js +13 -0
  572. package/dist/esm/external/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -0
  573. package/dist/esm/external/rxjs/dist/esm5/internal/util/errorContext.js +8 -0
  574. package/dist/esm/external/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -0
  575. package/dist/esm/external/rxjs/dist/esm5/internal/util/executeSchedule.js +20 -0
  576. package/dist/esm/external/rxjs/dist/esm5/internal/util/executeSchedule.js.map +1 -0
  577. package/dist/esm/external/rxjs/dist/esm5/internal/util/identity.js +6 -0
  578. package/dist/esm/external/rxjs/dist/esm5/internal/util/identity.js.map +1 -0
  579. package/dist/esm/external/rxjs/dist/esm5/internal/util/isArrayLike.js +4 -0
  580. package/dist/esm/external/rxjs/dist/esm5/internal/util/isArrayLike.js.map +1 -0
  581. package/dist/esm/external/rxjs/dist/esm5/internal/util/isAsyncIterable.js +8 -0
  582. package/dist/esm/external/rxjs/dist/esm5/internal/util/isAsyncIterable.js.map +1 -0
  583. package/dist/esm/external/rxjs/dist/esm5/internal/util/isFunction.js +6 -0
  584. package/dist/esm/external/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -0
  585. package/dist/esm/external/rxjs/dist/esm5/internal/util/isInteropObservable.js +9 -0
  586. package/dist/esm/external/rxjs/dist/esm5/internal/util/isInteropObservable.js.map +1 -0
  587. package/dist/esm/external/rxjs/dist/esm5/internal/util/isIterable.js +9 -0
  588. package/dist/esm/external/rxjs/dist/esm5/internal/util/isIterable.js.map +1 -0
  589. package/dist/esm/external/rxjs/dist/esm5/internal/util/isPromise.js +8 -0
  590. package/dist/esm/external/rxjs/dist/esm5/internal/util/isPromise.js.map +1 -0
  591. package/dist/esm/external/rxjs/dist/esm5/internal/util/isReadableStreamLike.js +41 -0
  592. package/dist/esm/external/rxjs/dist/esm5/internal/util/isReadableStreamLike.js.map +1 -0
  593. package/dist/esm/external/rxjs/dist/esm5/internal/util/lift.js +23 -0
  594. package/dist/esm/external/rxjs/dist/esm5/internal/util/lift.js.map +1 -0
  595. package/dist/esm/external/rxjs/dist/esm5/internal/util/noop.js +4 -0
  596. package/dist/esm/external/rxjs/dist/esm5/internal/util/noop.js.map +1 -0
  597. package/dist/esm/external/rxjs/dist/esm5/internal/util/pipe.js +16 -0
  598. package/dist/esm/external/rxjs/dist/esm5/internal/util/pipe.js.map +1 -0
  599. package/dist/esm/external/rxjs/dist/esm5/internal/util/reportUnhandledError.js +12 -0
  600. package/dist/esm/external/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -0
  601. package/dist/esm/external/rxjs/dist/esm5/internal/util/throwUnobservableError.js +6 -0
  602. package/dist/esm/external/rxjs/dist/esm5/internal/util/throwUnobservableError.js.map +1 -0
  603. package/dist/esm/external/tslib/tslib.es6.js +117 -1
  604. package/dist/esm/external/tslib/tslib.es6.js.map +1 -1
  605. package/dist/esm/factory/api-controller.factory.d.ts +1 -0
  606. package/dist/esm/factory/api-controller.factory.js +42 -393
  607. package/dist/esm/factory/api-controller.factory.js.map +1 -1
  608. package/dist/esm/index.js +15 -1
  609. package/dist/esm/index.js.map +1 -1
  610. package/dist/esm/interceptor/api-route-runtime.interceptor.d.ts +5 -0
  611. package/dist/esm/interceptor/api-route-runtime.interceptor.js +29 -0
  612. package/dist/esm/interceptor/api-route-runtime.interceptor.js.map +1 -0
  613. package/dist/esm/interface/class/api/authorization/policy/registry.interface.d.ts +1 -0
  614. package/dist/esm/interface/class/api/authorization/policy/subscriber/context/interface.d.ts +1 -1
  615. package/dist/esm/interface/class/api/function/context/index.d.ts +2 -0
  616. package/dist/esm/interface/class/api/function/context/interface.d.ts +10 -0
  617. package/dist/esm/interface/class/api/function/context/operations.interface.d.ts +13 -0
  618. package/dist/esm/interface/class/api/function/index.d.ts +1 -0
  619. package/dist/esm/interface/class/api/index.d.ts +2 -0
  620. package/dist/esm/interface/class/api/route/index.d.ts +1 -0
  621. package/dist/esm/interface/class/api/route/runtime/context-data.interface.d.ts +10 -0
  622. package/dist/esm/interface/class/api/route/runtime/custom-execution-options.interface.d.ts +9 -0
  623. package/dist/esm/interface/class/api/route/runtime/generated/execution-options.interface.d.ts +14 -0
  624. package/dist/esm/interface/class/api/route/runtime/generated/index.d.ts +2 -0
  625. package/dist/esm/interface/class/api/route/runtime/generated/targets.interface.d.ts +12 -0
  626. package/dist/esm/interface/class/api/route/runtime/http-request.interface.d.ts +8 -0
  627. package/dist/esm/interface/class/api/route/runtime/index.d.ts +4 -0
  628. package/dist/esm/interface/class/api/subscriber/function/error-execution-context.interface.d.ts +1 -0
  629. package/dist/esm/interface/class/api/subscriber/function/execution/context.interface.d.ts +1 -0
  630. package/dist/esm/interface/class/api/subscriber/function.interface.d.ts +4 -0
  631. package/dist/esm/interface/class/api/subscriber/route/error-execution-context.interface.d.ts +2 -1
  632. package/dist/esm/interface/class/api/subscriber/route/execution/context/data/extended.interface.d.ts +36 -0
  633. package/dist/esm/interface/class/api/subscriber/route/execution/context/data/index.d.ts +2 -0
  634. package/dist/esm/interface/class/api/subscriber/route/execution/context/data/interface.d.ts +32 -0
  635. package/dist/esm/interface/class/api/subscriber/route/execution/context/index.d.ts +2 -0
  636. package/dist/esm/interface/class/api/subscriber/route/execution/context/interface.d.ts +11 -0
  637. package/dist/esm/interface/class/api/subscriber/route/execution/index.d.ts +1 -2
  638. package/dist/esm/interface/class/api/subscriber/route.interface.d.ts +6 -2
  639. package/dist/esm/interface/decorator/api/controller/properties/route/authentication.interface.d.ts +1 -1
  640. package/dist/esm/interface/decorator/api/controller/properties/route/base/generation.interface.d.ts +5 -0
  641. package/dist/esm/interface/decorator/api/controller/properties/route/base/index.d.ts +5 -2
  642. package/dist/esm/interface/decorator/api/controller/properties/route/base/interface.d.ts +4 -7
  643. package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/index.d.ts +4 -0
  644. package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/interface.d.ts +6 -0
  645. package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/reference.interface.d.ts +5 -0
  646. package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/request/index.d.ts +2 -0
  647. package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/request/interface.d.ts +6 -0
  648. package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/request/load.interface.d.ts +10 -0
  649. package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/response/index.d.ts +2 -0
  650. package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/response/interface.d.ts +6 -0
  651. package/dist/esm/interface/decorator/api/controller/properties/route/base/relations/response/load.interface.d.ts +4 -0
  652. package/dist/esm/interface/decorator/api/controller/properties/route/base/request/index.d.ts +2 -0
  653. package/dist/esm/interface/decorator/api/controller/properties/route/base/request/interface.d.ts +6 -0
  654. package/dist/esm/interface/decorator/api/controller/properties/route/base/request/target.interface.d.ts +6 -0
  655. package/dist/esm/interface/decorator/api/controller/properties/route/base/response/index.d.ts +2 -0
  656. package/dist/esm/interface/decorator/api/controller/properties/route/base/response/interface.d.ts +7 -0
  657. package/dist/esm/interface/decorator/api/controller/properties/route/base/response/target.interface.d.ts +4 -0
  658. package/dist/esm/interface/decorator/api/controller/properties/route/base/security.interface.d.ts +6 -0
  659. package/dist/esm/interface/decorator/api/controller/properties/route/with/dto.interface.d.ts +1 -1
  660. package/dist/esm/interface/decorator/api/function/create-executor-properties.interface.d.ts +1 -2
  661. package/dist/esm/interface/decorator/api/function/custom-properties.interface.d.ts +9 -0
  662. package/dist/esm/interface/decorator/api/function/delete-executor-properties.interface.d.ts +2 -3
  663. package/dist/esm/interface/decorator/api/function/get/executor-properties.interface.d.ts +1 -2
  664. package/dist/esm/interface/decorator/api/function/get/list-executor-properties.interface.d.ts +1 -2
  665. package/dist/esm/interface/decorator/api/function/get/many-executor-properties.interface.d.ts +1 -2
  666. package/dist/esm/interface/decorator/api/function/index.d.ts +1 -0
  667. package/dist/esm/interface/decorator/api/function/properties.interface.d.ts +4 -0
  668. package/dist/esm/interface/decorator/api/function/update-executor-properties.interface.d.ts +2 -3
  669. package/dist/esm/interface/decorator/api/index.d.ts +1 -0
  670. package/dist/esm/interface/decorator/api/method/index.d.ts +0 -2
  671. package/dist/esm/interface/decorator/api/method/properties.interface.d.ts +4 -17
  672. package/dist/esm/interface/decorator/api/route/custom-properties.interface.d.ts +6 -0
  673. package/dist/esm/interface/decorator/api/route/documentation-properties.interface.d.ts +5 -0
  674. package/dist/esm/interface/decorator/api/route/index.d.ts +7 -0
  675. package/dist/esm/interface/decorator/api/route/metadata/index.d.ts +3 -0
  676. package/dist/esm/interface/decorator/api/route/metadata/interface.d.ts +15 -0
  677. package/dist/esm/interface/decorator/api/route/metadata/resource.interface.d.ts +6 -0
  678. package/dist/esm/interface/decorator/api/route/metadata/route.interface.d.ts +7 -0
  679. package/dist/esm/interface/decorator/api/route/response/index.d.ts +2 -0
  680. package/dist/esm/interface/decorator/api/route/response/properties.interface.d.ts +9 -0
  681. package/dist/esm/interface/decorator/api/route/response/serialization-properties.interface.d.ts +3 -0
  682. package/dist/esm/interface/decorator/api/route/runtime-properties.interface.d.ts +11 -0
  683. package/dist/esm/interface/decorator/api/route/security/authentication-properties.interface.d.ts +9 -0
  684. package/dist/esm/interface/decorator/api/route/security/authorization-properties.interface.d.ts +4 -0
  685. package/dist/esm/interface/decorator/api/route/security/index.d.ts +3 -0
  686. package/dist/esm/interface/decorator/api/route/security/properties.interface.d.ts +6 -0
  687. package/dist/esm/interface/decorator/api/route/throttling/default-properties.interface.d.ts +4 -0
  688. package/dist/esm/interface/decorator/api/route/throttling/index.d.ts +2 -0
  689. package/dist/esm/interface/decorator/api/route/throttling/properties.interface.d.ts +4 -0
  690. package/dist/esm/interface/decorator/api/subscriber/function/filter.interface.d.ts +5 -0
  691. package/dist/esm/interface/decorator/api/subscriber/function/index.d.ts +2 -0
  692. package/dist/esm/interface/decorator/api/subscriber/function/properties.interface.d.ts +7 -0
  693. package/dist/esm/interface/decorator/api/subscriber/index.d.ts +2 -2
  694. package/dist/esm/interface/decorator/api/subscriber/route-properties.interface.d.ts +4 -0
  695. package/dist/esm/module/api/authorization.module.js +18 -1
  696. package/dist/esm/module/api/authorization.module.js.map +1 -1
  697. package/dist/esm/package.json +0 -1
  698. package/dist/esm/type/class/api/subscriber/route/after/create-context.type.d.ts +2 -2
  699. package/dist/esm/type/class/api/subscriber/route/after/delete-context.type.d.ts +2 -2
  700. package/dist/esm/type/class/api/subscriber/route/after/get/context.type.d.ts +2 -2
  701. package/dist/esm/type/class/api/subscriber/route/after/get/list-context.type.d.ts +2 -2
  702. package/dist/esm/type/class/api/subscriber/route/after/partial-update-context.type.d.ts +2 -2
  703. package/dist/esm/type/class/api/subscriber/route/after/update-context.type.d.ts +2 -2
  704. package/dist/esm/type/class/api/subscriber/route/before/create-context.type.d.ts +2 -2
  705. package/dist/esm/type/class/api/subscriber/route/before/delete-context.type.d.ts +2 -2
  706. package/dist/esm/type/class/api/subscriber/route/before/get/context.type.d.ts +2 -2
  707. package/dist/esm/type/class/api/subscriber/route/before/get/list-context.type.d.ts +2 -2
  708. package/dist/esm/type/class/api/subscriber/route/before/partial-update-context.type.d.ts +2 -2
  709. package/dist/esm/type/class/api/subscriber/route/before/update-context.type.d.ts +2 -2
  710. package/dist/esm/type/decorator/api/controller/properties/route/base/request/allowed-target.type.d.ts +9 -0
  711. package/dist/esm/type/decorator/api/controller/properties/route/base/request/index.d.ts +1 -1
  712. package/dist/esm/type/decorator/api/controller/properties/route/base/request/transformers.type.d.ts +7 -7
  713. package/dist/esm/type/decorator/api/controller/properties/route/base/response-transformers.type.d.ts +6 -6
  714. package/dist/esm/type/decorator/api/controller/transformer-config.type.d.ts +5 -5
  715. package/dist/esm/type/decorator/api/function/properties.type.d.ts +5 -3
  716. package/dist/esm/type/decorator/api/property/describe/dto/request-properties.type.d.ts +1 -1
  717. package/dist/esm/type/decorator/api/property/describe/properties/base/properties.type.d.ts +4 -4
  718. package/dist/esm/type/utility/dto/generate/allowed-combination.type.d.ts +4 -4
  719. package/dist/esm/utility/api/controller/apply/decorators.utility.js +59 -27
  720. package/dist/esm/utility/api/controller/apply/decorators.utility.js.map +1 -1
  721. package/dist/esm/utility/api/controller/apply/metadata.utility.js +6 -2
  722. package/dist/esm/utility/api/controller/apply/metadata.utility.js.map +1 -1
  723. package/dist/esm/utility/api/controller/get/dto.utility.js +6 -2
  724. package/dist/esm/utility/api/controller/get/dto.utility.js.map +1 -1
  725. package/dist/esm/utility/api/controller/get-list/transform/filter.utility.js +5 -1
  726. package/dist/esm/utility/api/controller/get-list/transform/filter.utility.js.map +1 -1
  727. package/dist/esm/utility/api/controller/handle-request-relations.utility.d.ts +4 -4
  728. package/dist/esm/utility/api/controller/handle-request-relations.utility.js +37 -11
  729. package/dist/esm/utility/api/controller/handle-request-relations.utility.js.map +1 -1
  730. package/dist/esm/utility/api/controller/index.d.ts +1 -0
  731. package/dist/esm/utility/api/controller/serialize-route-response.utility.d.ts +14 -0
  732. package/dist/esm/utility/api/controller/serialize-route-response.utility.js +27 -0
  733. package/dist/esm/utility/api/controller/serialize-route-response.utility.js.map +1 -0
  734. package/dist/esm/utility/api/controller/transform-data.utility.d.ts +8 -7
  735. package/dist/esm/utility/api/controller/transform-data.utility.js +19 -16
  736. package/dist/esm/utility/api/controller/transform-data.utility.js.map +1 -1
  737. package/dist/esm/utility/api/controller/validate-request.utility.d.ts +3 -3
  738. package/dist/esm/utility/api/controller/validate-request.utility.js +10 -9
  739. package/dist/esm/utility/api/controller/validate-request.utility.js.map +1 -1
  740. package/dist/esm/utility/api/controller/write/dto-swagger.utility.js +6 -2
  741. package/dist/esm/utility/api/controller/write/dto-swagger.utility.js.map +1 -1
  742. package/dist/esm/utility/api/function-transaction.utility.d.ts +20 -0
  743. package/dist/esm/utility/api/function-transaction.utility.js +50 -0
  744. package/dist/esm/utility/api/function-transaction.utility.js.map +1 -0
  745. package/dist/esm/utility/api/index.d.ts +1 -0
  746. package/dist/esm/utility/api/route/index.d.ts +1 -0
  747. package/dist/esm/utility/api/route/response/index.d.ts +2 -0
  748. package/dist/esm/utility/api/route/response/project-relation.utility.d.ts +11 -0
  749. package/dist/esm/utility/api/route/response/project-relation.utility.js +73 -0
  750. package/dist/esm/utility/api/route/response/project-relation.utility.js.map +1 -0
  751. package/dist/esm/utility/api/route/response/serialize.utility.d.ts +11 -0
  752. package/dist/esm/utility/api/route/response/serialize.utility.js +24 -0
  753. package/dist/esm/utility/api/route/response/serialize.utility.js.map +1 -0
  754. package/dist/esm/utility/dto/build-decorator.utility.js +5 -1
  755. package/dist/esm/utility/dto/build-decorator.utility.js.map +1 -1
  756. package/dist/esm/utility/dto/generate/core.utility.js +5 -1
  757. package/dist/esm/utility/dto/generate/core.utility.js.map +1 -1
  758. package/dist/esm/utility/dto/generate/dynamic.utility.js +5 -1
  759. package/dist/esm/utility/dto/generate/dynamic.utility.js.map +1 -1
  760. package/dist/esm/utility/dto/generate/exception.utility.js +5 -1
  761. package/dist/esm/utility/dto/generate/exception.utility.js.map +1 -1
  762. package/dist/esm/utility/dto/generate/filter-decorator.utility.js +5 -1
  763. package/dist/esm/utility/dto/generate/filter-decorator.utility.js.map +1 -1
  764. package/dist/esm/utility/dto/generate/get-list-response.utility.js +5 -1
  765. package/dist/esm/utility/dto/generate/get-list-response.utility.js.map +1 -1
  766. package/dist/esm/utility/dto/get/get-list-query-base-class.utility.js +5 -1
  767. package/dist/esm/utility/dto/get/get-list-query-base-class.utility.js.map +1 -1
  768. package/dist/esm/utility/dto/handle-date-property.utility.js +5 -1
  769. package/dist/esm/utility/dto/handle-date-property.utility.js.map +1 -1
  770. package/dist/esm/utility/dto/is/property/should-be-marked.utility.js +7 -3
  771. package/dist/esm/utility/dto/is/property/should-be-marked.utility.js.map +1 -1
  772. package/dist/esm/utility/dto/is/should-be-generated.utility.js +8 -4
  773. package/dist/esm/utility/dto/is/should-be-generated.utility.js.map +1 -1
  774. package/package.json +1 -1
  775. package/dist/cjs/enum/decorator/api/controller/request-transformer-type.enum.js.map +0 -1
  776. package/dist/cjs/interface/class/api/subscriber/route/execution/context-data.interface.d.ts +0 -82
  777. package/dist/cjs/interface/class/api/subscriber/route/execution/context.interface.d.ts +0 -29
  778. package/dist/cjs/interface/decorator/api/controller/properties/route/base/request.interface.d.ts +0 -8
  779. package/dist/cjs/interface/decorator/api/controller/properties/route/base/response.interface.d.ts +0 -7
  780. package/dist/cjs/interface/decorator/api/method/authorization.interface.d.ts +0 -3
  781. package/dist/cjs/interface/decorator/api/method/throttler-properties.interface.d.ts +0 -4
  782. package/dist/cjs/interface/decorator/api/subscriber/function-properties.interface.d.ts +0 -5
  783. package/dist/cjs/type/decorator/api/controller/properties/route/base/request/relations.type.d.ts +0 -18
  784. package/dist/esm/enum/decorator/api/controller/request-transformer-type.enum.js.map +0 -1
  785. package/dist/esm/interface/class/api/subscriber/route/execution/context-data.interface.d.ts +0 -82
  786. package/dist/esm/interface/class/api/subscriber/route/execution/context.interface.d.ts +0 -29
  787. package/dist/esm/interface/decorator/api/controller/properties/route/base/request.interface.d.ts +0 -8
  788. package/dist/esm/interface/decorator/api/controller/properties/route/base/response.interface.d.ts +0 -7
  789. package/dist/esm/interface/decorator/api/method/authorization.interface.d.ts +0 -3
  790. package/dist/esm/interface/decorator/api/method/throttler-properties.interface.d.ts +0 -4
  791. package/dist/esm/interface/decorator/api/subscriber/function-properties.interface.d.ts +0 -5
  792. package/dist/esm/type/decorator/api/controller/properties/route/base/request/relations.type.d.ts +0 -18
  793. /package/dist/cjs/enum/decorator/api/controller/{request-transformer-type.enum.d.ts → request/transformer-type.enum.d.ts} +0 -0
  794. /package/dist/esm/enum/decorator/api/controller/{request-transformer-type.enum.d.ts → request/transformer-type.enum.d.ts} +0 -0
@@ -1,13 +1,17 @@
1
- import { ApiSubscriberExecutor } from '../class/api/subscriber/executor.class.js';
1
+ import { ApiRouteRuntime } from '../class/api/route-runtime.class.js';
2
2
  import { CONTROLLER_API_DECORATOR_CONSTANT } from '../constant/decorator/api/controller.constant.js';
3
- import { FUNCTION_API_DECORATOR_CONSTANT } from '../constant/decorator/api/function.constant.js';
3
+ import '../constant/decorator/api/function.constant.js';
4
4
  import '../enum/decorator/api/action.enum.js';
5
5
  import '../enum/decorator/api/authentication-type.enum.js';
6
6
  import '../enum/decorator/api/controller/load-relations-strategy.enum.js';
7
- import '../enum/decorator/api/controller/request-transformer-type.enum.js';
8
- import { EApiDtoType } from '../enum/decorator/api/dto-type.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-transaction-mode.enum.js';
9
13
  import '../enum/decorator/api/function-type.enum.js';
10
- import { EApiSubscriberOnType } from '../enum/decorator/api/on-type.enum.js';
14
+ import '../enum/decorator/api/on-type.enum.js';
11
15
  import '../enum/decorator/api/property/data-type.enum.js';
12
16
  import '../enum/decorator/api/property/date/identifier.enum.js';
13
17
  import '../enum/decorator/api/property/date/type.enum.js';
@@ -19,28 +23,34 @@ import { Controller } from '@nestjs/common';
19
23
  import { ApiTags } from '@nestjs/swagger';
20
24
  import { ApiControllerApplyDecorators } from '../utility/api/controller/apply/decorators.utility.js';
21
25
  import { ApiControllerApplyMetadata } from '../utility/api/controller/apply/metadata.utility.js';
22
- import { ApiControllerGetDto } from '../utility/api/controller/get/dto.utility.js';
23
- import { ApiControllerGetPrimaryColumn } from '../utility/api/controller/get/primary-column.utility.js';
24
- import { ApiControllerGetListTransformFilter } from '../utility/api/controller/get-list/transform/filter.utility.js';
26
+ import '../constant/utility/dto/constant.js';
27
+ import { ErrorException } from '../utility/error/exception.utility.js';
28
+ import '../enum/utility/dto/manual/property-metadata/decorator.enum.js';
29
+ import 'class-transformer';
30
+ import 'class-validator';
25
31
  import '../enum/filter/operation.enum.js';
26
32
  import '../enum/filter/order-direction.enum.js';
27
- import 'typeorm/index';
28
- import { ApiControllerHandleRequestRelations } from '../utility/api/controller/handle-request-relations.utility.js';
29
- import { ApiControllerTransformData } from '../utility/api/controller/transform-data.utility.js';
30
- import { ApiControllerValidateRequest } from '../utility/api/controller/validate-request.utility.js';
31
- import { ApiControllerWriteDtoSwagger } from '../utility/api/controller/write/dto-swagger.utility.js';
32
- import { ApiControllerWriteMethod } from '../utility/api/controller/write/method.utility.js';
33
+ import '../external/tslib/tslib.es6.js';
34
+ import 'lodash/random';
35
+ import '../validator/must-match-one-of-schemas.validator.js';
33
36
  import '../constant/interface/api/property/default-string-format.constant.js';
34
- import { ErrorException } from '../utility/error/exception.utility.js';
35
37
  import 'typeorm';
36
38
  import 'reflect-metadata';
39
+ import '../validator/all-or-none-of-listed-properties.validator.js';
40
+ import '../validator/has/paired-custom-suffixes-fields.validator.js';
41
+ import '../class/utility/dto/exception/details/foreign-key-violation.class.js';
42
+ import '../class/utility/dto/exception/details/unique-violation.class.js';
43
+ import '../validator/is-regular-expression.validator.js';
44
+ import 'node:crypto';
45
+ import '../enum/utility/exception-details-type.enum.js';
46
+ import 'typeorm/index';
47
+ import '../class/api/function/context-storage.class.js';
48
+ import '../enum/utility/error-string/action.enum.js';
49
+ import '../enum/utility/error-string/composite-action.enum.js';
50
+ import { ApiControllerWriteDtoSwagger } from '../utility/api/controller/write/dto-swagger.utility.js';
51
+ import { ApiControllerWriteMethod } from '../utility/api/controller/write/method.utility.js';
37
52
  import 'lodash/cloneDeep';
38
- import { AuthorizationDecisionApplyResult } from '../utility/authorization/decision/apply-result.utility.js';
39
- import { AuthorizationDecisionAttachResource } from '../utility/authorization/decision/attach-resource.utility.js';
40
- import { AuthorizationDecisionResolveFromRequest } from '../utility/authorization/decision/resolve-from-request.utility.js';
41
- import { AuthorizationScopeMergeWhere } from '../utility/authorization/scope-merge-where.utility.js';
42
53
  import { GenerateEntityInformation } from '../utility/generate-entity-information.utility.js';
43
- import { plainToInstance } from 'class-transformer';
44
54
 
45
55
  class ApiControllerFactory {
46
56
  target;
@@ -62,14 +72,14 @@ class ApiControllerFactory {
62
72
  Reflect.defineMetadata(CONTROLLER_API_DECORATOR_CONSTANT.PROPERTIES_METADATA_KEY, this.properties, this.target);
63
73
  }
64
74
  createMethod(method) {
65
- if (!(method in this.properties.routes) || this.properties.routes[method]?.isEnabled !== false) {
75
+ if (!(method in this.properties.routes) || this.properties.routes[method]?.generation?.isEnabled !== false) {
66
76
  const routeConfig = this.properties.routes[method] ?? {};
67
- const routeDecorators = routeConfig.decorators ?? [];
77
+ const routeDecorators = routeConfig.generation?.decorators ?? [];
68
78
  const methodName = `${CONTROLLER_API_DECORATOR_CONSTANT.RESERVED_METHOD_PREFIX}${method}`;
69
79
  ApiControllerWriteMethod(this, this.targetPrototype, method, this.properties, this.ENTITY);
70
80
  const targetMethod = this.targetPrototype[methodName];
71
81
  ApiControllerApplyMetadata(this.target, this.targetPrototype, this.ENTITY, this.properties, method, methodName, routeConfig);
72
- if (this.properties.routes[method]?.shouldWriteToController !== false) {
82
+ if (this.properties.routes[method]?.generation?.shouldWriteToController !== false) {
73
83
  ApiControllerApplyDecorators(targetMethod, this.ENTITY, this.properties, method, methodName, routeConfig, routeDecorators);
74
84
  }
75
85
  ApiControllerWriteDtoSwagger(this.target, this.ENTITY, this.properties, method, routeConfig, this.ENTITY);
@@ -81,395 +91,34 @@ class ApiControllerFactory {
81
91
  }
82
92
  }
83
93
  [EApiRouteType.CREATE](method, methodName, properties, entityMetadata) {
84
- const routeConfig = properties.routes[method] ?? {};
85
94
  this.targetPrototype[methodName] = Object.defineProperty(async function (body, headers, ip, authenticationRequest) {
86
- const entityInstance = new properties.entity();
87
- let authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
88
- const beforeExecutionContext = {
89
- DATA: { authorizationDecision, entityMetadata, method, methodName, properties },
90
- ENTITY: entityInstance,
91
- result: { authenticationRequest, body, headers, ip },
92
- ROUTE_TYPE: EApiRouteType.CREATE,
93
- };
94
- const beforeResult = await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, EApiRouteType.CREATE, EApiSubscriberOnType.BEFORE, beforeExecutionContext);
95
- if (beforeResult) {
96
- body = beforeResult.body;
97
- headers = beforeResult.headers;
98
- ip = beforeResult.ip;
99
- authenticationRequest = beforeResult.authenticationRequest;
100
- authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
101
- }
102
- try {
103
- const primaryKey = ApiControllerGetPrimaryColumn(body, entityMetadata);
104
- if (!primaryKey) {
105
- const errorExecutionContext = {
106
- DATA: beforeExecutionContext.DATA,
107
- ENTITY: entityInstance,
108
- ROUTE_TYPE: EApiRouteType.CREATE,
109
- };
110
- await ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, EApiRouteType.CREATE, EApiSubscriberOnType.BEFORE_ERROR, errorExecutionContext, ErrorException("Primary key not found in entity columns"));
111
- throw ErrorException("Primary key not found in entity columns");
112
- }
113
- ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body }, { authenticationRequest, headers, ip });
114
- await ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, body);
115
- await ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, body);
116
- const createResponse = await this.service.create(body);
117
- const dto = ApiControllerGetDto(properties, entityMetadata, method, EApiDtoType.RESPONSE, routeConfig);
118
- const requestProperties = {
119
- relations: properties.routes[method]?.response?.relations,
120
- where: AuthorizationScopeMergeWhere({ [primaryKey.key]: createResponse[primaryKey.key] }, authorizationDecision?.scope?.where),
121
- };
122
- const response = await this.service.get(requestProperties);
123
- authorizationDecision = AuthorizationDecisionAttachResource(authorizationDecision, response);
124
- ApiControllerTransformData(properties.routes[method]?.response?.transformers, properties, { response }, { authenticationRequest, headers, ip });
125
- const afterExecutionContext = {
126
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, body, headers, ip },
127
- ENTITY: response,
128
- result: response,
129
- ROUTE_TYPE: EApiRouteType.CREATE,
130
- };
131
- const afterResult = await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, response, EApiRouteType.CREATE, EApiSubscriberOnType.AFTER, afterExecutionContext);
132
- const finalResponse = afterResult ?? response;
133
- authorizationDecision = AuthorizationDecisionAttachResource(authorizationDecision, finalResponse);
134
- const transformedResponse = await AuthorizationDecisionApplyResult(authorizationDecision, finalResponse);
135
- return plainToInstance(dto, transformedResponse, {
136
- /* eslint-disable-next-line @elsikora/typescript/naming-convention */
137
- excludeExtraneousValues: true,
138
- strategy: "excludeAll",
139
- });
140
- }
141
- catch (error) {
142
- const errorExecutionContext = {
143
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, body, headers, ip },
144
- ENTITY: entityInstance,
145
- ROUTE_TYPE: EApiRouteType.CREATE,
146
- };
147
- await ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, EApiRouteType.CREATE, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
148
- throw error;
149
- }
95
+ return (await ApiRouteRuntime.executeGenerated({ controller: this, entityMetadata, method, methodName, properties, targets: { authenticationRequest, body, headers, ip } }));
150
96
  }, "name", { value: methodName });
151
97
  }
152
98
  [EApiRouteType.DELETE](method, methodName, properties, entityMetadata) {
153
99
  this.targetPrototype[methodName] = Object.defineProperty(async function (parameters, headers, ip, authenticationRequest) {
154
- const entityInstance = new properties.entity();
155
- let authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
156
- const beforeExecutionContext = {
157
- DATA: { authorizationDecision, entityMetadata, method, methodName, properties },
158
- ENTITY: entityInstance,
159
- result: { authenticationRequest, headers, ip, parameters },
160
- ROUTE_TYPE: EApiRouteType.DELETE,
161
- };
162
- const beforeResult = await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, EApiRouteType.DELETE, EApiSubscriberOnType.BEFORE, beforeExecutionContext);
163
- if (beforeResult) {
164
- parameters = beforeResult.parameters;
165
- headers = beforeResult.headers;
166
- ip = beforeResult.ip;
167
- authenticationRequest = beforeResult.authenticationRequest;
168
- authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
169
- }
170
- try {
171
- const primaryKey = ApiControllerGetPrimaryColumn(parameters, entityMetadata);
172
- if (!primaryKey) {
173
- const errorExecutionContext = {
174
- DATA: beforeExecutionContext.DATA,
175
- ENTITY: entityInstance,
176
- ROUTE_TYPE: EApiRouteType.DELETE,
177
- };
178
- await ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, EApiRouteType.DELETE, EApiSubscriberOnType.BEFORE_ERROR, errorExecutionContext, ErrorException("Primary key not found in entity columns"));
179
- throw ErrorException("Primary key not found in entity columns");
180
- }
181
- ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { parameters }, { authenticationRequest, headers, ip });
182
- await ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
183
- await ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
184
- const requestCriteria = {
185
- [primaryKey.key]: primaryKey.value,
186
- };
187
- const scopedCriteria = AuthorizationScopeMergeWhere(requestCriteria, authorizationDecision?.scope?.where);
188
- await this.service.delete(scopedCriteria ?? requestCriteria);
189
- const afterExecutionContext = {
190
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, headers, ip, parameters },
191
- ENTITY: entityInstance,
192
- result: parameters,
193
- ROUTE_TYPE: EApiRouteType.DELETE,
194
- };
195
- await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, EApiRouteType.DELETE, EApiSubscriberOnType.AFTER, afterExecutionContext);
196
- }
197
- catch (error) {
198
- const errorExecutionContext = {
199
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, headers, ip, parameters },
200
- ENTITY: entityInstance,
201
- ROUTE_TYPE: EApiRouteType.DELETE,
202
- };
203
- await ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, EApiRouteType.DELETE, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
204
- throw error;
205
- }
100
+ await ApiRouteRuntime.executeGenerated({ controller: this, entityMetadata, method, methodName, properties, targets: { authenticationRequest, headers, ip, parameters } });
206
101
  }, "name", { value: methodName });
207
102
  }
208
103
  [EApiRouteType.GET](method, methodName, properties, entityMetadata) {
209
- const routeConfig = properties.routes[method] ?? {};
210
104
  this.targetPrototype[methodName] = Object.defineProperty(async function (parameters, headers, ip, authenticationRequest) {
211
- const entityInstance = new properties.entity();
212
- let authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
213
- const beforeExecutionContext = {
214
- DATA: { authorizationDecision, entityMetadata, method, methodName, properties },
215
- ENTITY: entityInstance,
216
- result: { authenticationRequest, headers, ip, parameters },
217
- ROUTE_TYPE: EApiRouteType.GET,
218
- };
219
- const beforeResult = await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, EApiRouteType.GET, EApiSubscriberOnType.BEFORE, beforeExecutionContext);
220
- if (beforeResult) {
221
- parameters = beforeResult.parameters;
222
- headers = beforeResult.headers;
223
- ip = beforeResult.ip;
224
- authenticationRequest = beforeResult.authenticationRequest;
225
- authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
226
- }
227
- try {
228
- const primaryKey = ApiControllerGetPrimaryColumn(parameters, entityMetadata);
229
- if (!primaryKey) {
230
- const errorExecutionContext = {
231
- DATA: beforeExecutionContext.DATA,
232
- ENTITY: entityInstance,
233
- ROUTE_TYPE: EApiRouteType.GET,
234
- };
235
- await ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, EApiRouteType.GET, EApiSubscriberOnType.BEFORE_ERROR, errorExecutionContext, ErrorException("Primary key not found in entity columns"));
236
- throw ErrorException("Primary key not found in entity columns");
237
- }
238
- ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { parameters }, { authenticationRequest, headers, ip });
239
- await ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
240
- await ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
241
- const requestProperties = {
242
- relations: properties.routes[method]?.response?.relations,
243
- where: { [primaryKey.key]: primaryKey.value },
244
- };
245
- requestProperties.where = AuthorizationScopeMergeWhere(requestProperties.where, authorizationDecision?.scope?.where);
246
- const response = await this.service.get(requestProperties);
247
- authorizationDecision = AuthorizationDecisionAttachResource(authorizationDecision, response);
248
- ApiControllerTransformData(properties.routes[method]?.response?.transformers, properties, { response }, { authenticationRequest, headers, ip });
249
- const afterExecutionContext = {
250
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, headers, ip, parameters },
251
- ENTITY: response,
252
- result: response,
253
- ROUTE_TYPE: EApiRouteType.GET,
254
- };
255
- const afterResult = await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, response, EApiRouteType.GET, EApiSubscriberOnType.AFTER, afterExecutionContext);
256
- const finalResponse = afterResult ?? response;
257
- authorizationDecision = AuthorizationDecisionAttachResource(authorizationDecision, finalResponse);
258
- const transformedResponse = await AuthorizationDecisionApplyResult(authorizationDecision, finalResponse);
259
- const dto = ApiControllerGetDto(properties, entityMetadata, method, EApiDtoType.RESPONSE, routeConfig);
260
- return plainToInstance(dto, transformedResponse, {
261
- /* eslint-disable-next-line @elsikora/typescript/naming-convention */
262
- excludeExtraneousValues: true,
263
- });
264
- }
265
- catch (error) {
266
- const errorExecutionContext = {
267
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, headers, ip, parameters },
268
- ENTITY: entityInstance,
269
- ROUTE_TYPE: EApiRouteType.GET,
270
- };
271
- await ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, EApiRouteType.GET, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
272
- throw error;
273
- }
105
+ return (await ApiRouteRuntime.executeGenerated({ controller: this, entityMetadata, method, methodName, properties, targets: { authenticationRequest, headers, ip, parameters } }));
274
106
  }, "name", { value: methodName });
275
107
  }
276
108
  [EApiRouteType.GET_LIST](method, methodName, properties, entityMetadata) {
277
- const routeConfig = properties.routes[method] ?? {};
278
109
  this.targetPrototype[methodName] = Object.defineProperty(async function (query, headers, ip, authenticationRequest) {
279
- const entityInstance = new properties.entity();
280
- let authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
281
- const beforeExecutionContext = {
282
- DATA: { authorizationDecision, entityMetadata, method, methodName, properties },
283
- ENTITY: entityInstance,
284
- result: { authenticationRequest, headers, ip, query },
285
- ROUTE_TYPE: EApiRouteType.GET_LIST,
286
- };
287
- const beforeResult = await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, EApiRouteType.GET_LIST, EApiSubscriberOnType.BEFORE, beforeExecutionContext);
288
- if (beforeResult) {
289
- query = beforeResult.query;
290
- headers = beforeResult.headers;
291
- ip = beforeResult.ip;
292
- authenticationRequest = beforeResult.authenticationRequest;
293
- authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
294
- }
295
- try {
296
- ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { query }, { authenticationRequest, headers, ip });
297
- await ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, query);
298
- await ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, query);
299
- const { limit, orderBy, orderDirection, page, ...getListQuery } = query;
300
- const filter = ApiControllerGetListTransformFilter(getListQuery, entityMetadata);
301
- const scopedFilter = AuthorizationScopeMergeWhere(filter, authorizationDecision?.scope?.where);
302
- const requestProperties = {
303
- relations: properties.routes[method]?.response?.relations,
304
- skip: query.limit * (query.page - 1),
305
- take: query.limit,
306
- where: scopedFilter ?? filter,
307
- };
308
- if (orderBy) {
309
- requestProperties.order = { [orderBy]: orderDirection ?? FUNCTION_API_DECORATOR_CONSTANT.DEFAULT_FILTER_ORDER_BY_DIRECTION };
310
- }
311
- const response = await this.service.getList(requestProperties);
312
- ApiControllerTransformData(properties.routes[method]?.response?.transformers, properties, { response }, { authenticationRequest, headers, ip });
313
- const afterExecutionContext = {
314
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, headers, ip, query },
315
- ENTITY: entityInstance,
316
- result: response,
317
- ROUTE_TYPE: EApiRouteType.GET_LIST,
318
- };
319
- const afterResult = await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, EApiRouteType.GET_LIST, EApiSubscriberOnType.AFTER, afterExecutionContext);
320
- const finalResponse = afterResult ?? response;
321
- const transformedResponse = await AuthorizationDecisionApplyResult(authorizationDecision, finalResponse);
322
- const dto = ApiControllerGetDto(properties, entityMetadata, method, EApiDtoType.RESPONSE, routeConfig);
323
- return plainToInstance(dto, transformedResponse, {
324
- // eslint-disable-next-line @elsikora/typescript/naming-convention
325
- excludeExtraneousValues: true,
326
- });
327
- }
328
- catch (error) {
329
- const errorExecutionContext = {
330
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, headers, ip, query },
331
- ENTITY: entityInstance,
332
- ROUTE_TYPE: EApiRouteType.GET_LIST,
333
- };
334
- await ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, EApiRouteType.GET_LIST, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
335
- throw error;
336
- }
110
+ return (await ApiRouteRuntime.executeGenerated({ controller: this, entityMetadata, method, methodName, properties, targets: { authenticationRequest, headers, ip, query } }));
337
111
  }, "name", { value: methodName });
338
112
  }
339
113
  [EApiRouteType.PARTIAL_UPDATE](method, methodName, properties, entityMetadata) {
340
- const routeConfig = properties.routes[method] ?? {};
341
- this.targetPrototype[methodName] = Object.defineProperty(async function (parameters, body, headers, ip, authenticationRequest) {
342
- const entityInstance = new properties.entity();
343
- let authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
344
- const beforeExecutionContext = {
345
- DATA: { authorizationDecision, entityMetadata, method, methodName, properties },
346
- ENTITY: entityInstance,
347
- result: { authenticationRequest, body, headers, ip, parameters },
348
- ROUTE_TYPE: EApiRouteType.PARTIAL_UPDATE,
349
- };
350
- const beforeResult = await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, EApiRouteType.PARTIAL_UPDATE, EApiSubscriberOnType.BEFORE, beforeExecutionContext);
351
- if (beforeResult) {
352
- parameters = beforeResult.parameters;
353
- body = beforeResult.body;
354
- headers = beforeResult.headers;
355
- ip = beforeResult.ip;
356
- authenticationRequest = beforeResult.authenticationRequest;
357
- authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
358
- }
359
- try {
360
- const primaryKey = ApiControllerGetPrimaryColumn(parameters, entityMetadata);
361
- if (!primaryKey) {
362
- const errorExecutionContext = {
363
- DATA: beforeExecutionContext.DATA,
364
- ENTITY: entityInstance,
365
- ROUTE_TYPE: EApiRouteType.PARTIAL_UPDATE,
366
- };
367
- await ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, EApiRouteType.PARTIAL_UPDATE, EApiSubscriberOnType.BEFORE_ERROR, errorExecutionContext, ErrorException("Primary key not found in entity columns"));
368
- throw ErrorException("Primary key not found in entity columns");
369
- }
370
- ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body, parameters }, { authenticationRequest, headers, ip });
371
- await ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
372
- await ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
373
- const requestCriteria = {
374
- [primaryKey.key]: primaryKey.value,
375
- };
376
- const scopedCriteria = AuthorizationScopeMergeWhere(requestCriteria, authorizationDecision?.scope?.where);
377
- const response = await this.service.update(scopedCriteria ?? requestCriteria, body);
378
- authorizationDecision = AuthorizationDecisionAttachResource(authorizationDecision, response);
379
- ApiControllerTransformData(properties.routes[method]?.response?.transformers, properties, { response }, { authenticationRequest, headers, ip });
380
- const afterExecutionContext = {
381
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, body, headers, ip, parameters },
382
- ENTITY: response,
383
- result: response,
384
- ROUTE_TYPE: EApiRouteType.PARTIAL_UPDATE,
385
- };
386
- const afterResult = await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, response, EApiRouteType.PARTIAL_UPDATE, EApiSubscriberOnType.AFTER, afterExecutionContext);
387
- const finalResponse = afterResult ?? response;
388
- authorizationDecision = AuthorizationDecisionAttachResource(authorizationDecision, finalResponse);
389
- const transformedResponse = await AuthorizationDecisionApplyResult(authorizationDecision, finalResponse);
390
- const dto = ApiControllerGetDto(properties, entityMetadata, method, EApiDtoType.RESPONSE, routeConfig);
391
- return plainToInstance(dto, transformedResponse, {
392
- // eslint-disable-next-line @elsikora/typescript/naming-convention
393
- excludeExtraneousValues: true,
394
- });
395
- }
396
- catch (error) {
397
- const errorExecutionContext = {
398
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, body, headers, ip, parameters },
399
- ENTITY: entityInstance,
400
- ROUTE_TYPE: EApiRouteType.PARTIAL_UPDATE,
401
- };
402
- await ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, EApiRouteType.PARTIAL_UPDATE, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
403
- throw error;
404
- }
405
- }, "name", { value: methodName });
114
+ this.defineUpdateRouteMethod(method, methodName, properties, entityMetadata);
406
115
  }
407
116
  [EApiRouteType.UPDATE](method, methodName, properties, entityMetadata) {
408
- const routeConfig = properties.routes[method] ?? {};
117
+ this.defineUpdateRouteMethod(method, methodName, properties, entityMetadata);
118
+ }
119
+ defineUpdateRouteMethod(method, methodName, properties, entityMetadata) {
409
120
  this.targetPrototype[methodName] = Object.defineProperty(async function (parameters, body, headers, ip, authenticationRequest) {
410
- const entityInstance = new properties.entity();
411
- let authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
412
- const beforeExecutionContext = {
413
- DATA: { authorizationDecision, entityMetadata, method, methodName, properties },
414
- ENTITY: entityInstance,
415
- result: { authenticationRequest, body, headers, ip, parameters },
416
- ROUTE_TYPE: EApiRouteType.UPDATE,
417
- };
418
- const beforeResult = await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, EApiRouteType.UPDATE, EApiSubscriberOnType.BEFORE, beforeExecutionContext);
419
- if (beforeResult) {
420
- parameters = beforeResult.parameters;
421
- body = beforeResult.body;
422
- headers = beforeResult.headers;
423
- ip = beforeResult.ip;
424
- authenticationRequest = beforeResult.authenticationRequest;
425
- authorizationDecision = AuthorizationDecisionResolveFromRequest(authenticationRequest);
426
- }
427
- try {
428
- const primaryKey = ApiControllerGetPrimaryColumn(parameters, entityMetadata);
429
- if (!primaryKey) {
430
- const errorExecutionContext = {
431
- DATA: beforeExecutionContext.DATA,
432
- ENTITY: entityInstance,
433
- ROUTE_TYPE: EApiRouteType.UPDATE,
434
- };
435
- await ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, EApiRouteType.UPDATE, EApiSubscriberOnType.BEFORE_ERROR, errorExecutionContext, ErrorException("Primary key not found in entity columns"));
436
- throw ErrorException("Primary key not found in entity columns");
437
- }
438
- ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body, parameters }, { authenticationRequest, headers, ip });
439
- await ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
440
- await ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
441
- const requestCriteria = {
442
- [primaryKey.key]: primaryKey.value,
443
- };
444
- const scopedCriteria = AuthorizationScopeMergeWhere(requestCriteria, authorizationDecision?.scope?.where);
445
- const response = await this.service.update(scopedCriteria ?? requestCriteria, body);
446
- authorizationDecision = AuthorizationDecisionAttachResource(authorizationDecision, response);
447
- ApiControllerTransformData(properties.routes[method]?.response?.transformers, properties, { response }, { authenticationRequest, headers, ip });
448
- const afterExecutionContext = {
449
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, body, headers, ip, parameters },
450
- ENTITY: response,
451
- result: response,
452
- ROUTE_TYPE: EApiRouteType.UPDATE,
453
- };
454
- const afterResult = await ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, response, EApiRouteType.UPDATE, EApiSubscriberOnType.AFTER, afterExecutionContext);
455
- const finalResponse = afterResult ?? response;
456
- authorizationDecision = AuthorizationDecisionAttachResource(authorizationDecision, finalResponse);
457
- const transformedResponse = await AuthorizationDecisionApplyResult(authorizationDecision, finalResponse);
458
- const dto = ApiControllerGetDto(properties, entityMetadata, method, EApiDtoType.RESPONSE, routeConfig);
459
- return plainToInstance(dto, transformedResponse, {
460
- // eslint-disable-next-line @elsikora/typescript/naming-convention
461
- excludeExtraneousValues: true,
462
- });
463
- }
464
- catch (error) {
465
- const errorExecutionContext = {
466
- DATA: { ...beforeExecutionContext.DATA, authenticationRequest, authorizationDecision, body, headers, ip, parameters },
467
- ENTITY: entityInstance,
468
- ROUTE_TYPE: EApiRouteType.UPDATE,
469
- };
470
- await ApiSubscriberExecutor.executeRouteErrorSubscribers(this.constructor, entityInstance, EApiRouteType.UPDATE, EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
471
- throw error;
472
- }
121
+ return (await ApiRouteRuntime.executeGenerated({ controller: this, entityMetadata, method, methodName, properties, targets: { authenticationRequest, body, headers, ip, parameters } }));
473
122
  }, "name", { value: methodName });
474
123
  }
475
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-controller.factory.js","sources":["../../../../src/factory/api-controller.factory.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-controller.factory.js","sources":["../../../../src/factory/api-controller.factory.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}