@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,12 +1,15 @@
1
1
  import { ApiAuthorizationGuard } from '../../class/api/authorization/guard.class.js';
2
2
  import '../../constant/decorator/api/function.constant.js';
3
3
  import { METHOD_API_DECORATOR_CONSTANT } from '../../constant/decorator/api/method.constant.js';
4
- import { pluralizer } from '@elsikora/pluralizer';
5
- import { EApiAction } from '../../enum/decorator/api/action.enum.js';
4
+ import '../../enum/decorator/api/action.enum.js';
6
5
  import '../../enum/decorator/api/authentication-type.enum.js';
7
6
  import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
8
- import '../../enum/decorator/api/controller/request-transformer-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';
9
11
  import '../../enum/decorator/api/dto-type.enum.js';
12
+ import '../../enum/decorator/api/function-transaction-mode.enum.js';
10
13
  import '../../enum/decorator/api/function-type.enum.js';
11
14
  import '../../enum/decorator/api/on-type.enum.js';
12
15
  import '../../enum/decorator/api/property/data-type.enum.js';
@@ -15,366 +18,103 @@ import '../../enum/decorator/api/property/date/type.enum.js';
15
18
  import '../../enum/decorator/api/property/desribe-type.enum.js';
16
19
  import '../../enum/decorator/api/property/number-type.enum.js';
17
20
  import '../../enum/decorator/api/property/string-type.enum.js';
18
- import '../../enum/decorator/api/route-type.enum.js';
19
- import { HttpCode, SetMetadata, HttpStatus, RequestMethod, Put, Post, Patch, Get, Delete, UseGuards, applyDecorators } from '@nestjs/common';
21
+ import { EApiRouteType } from '../../enum/decorator/api/route-type.enum.js';
22
+ import { SetMetadata, HttpCode, HttpStatus, RequestMethod, Put, Post, Patch, Get, Delete, UseGuards, applyDecorators } from '@nestjs/common';
20
23
  import { ApiOperation, ApiResponse, ApiUnauthorizedResponse, ApiForbiddenResponse, ApiInternalServerErrorResponse, ApiNotFoundResponse, ApiBadRequestResponse, ApiConflictResponse, ApiTooManyRequestsResponse, ApiBearerAuth, ApiSecurity } from '@nestjs/swagger';
21
24
  import { Throttle } from '@nestjs/throttler';
22
25
  import { DtoGenerateException } from '../../utility/dto/generate/exception.utility.js';
23
26
  import { ErrorException } from '../../utility/error/exception.utility.js';
24
27
 
28
+ const DEFAULT_OPERATION_SUMMARY_BY_ROUTE = {
29
+ [EApiRouteType.CREATE]: "Create resource",
30
+ [EApiRouteType.DELETE]: "Delete resource",
31
+ [EApiRouteType.GET]: "Get resource",
32
+ [EApiRouteType.GET_LIST]: "Get resource list",
33
+ [EApiRouteType.PARTIAL_UPDATE]: "Partially update resource",
34
+ [EApiRouteType.UPDATE]: "Update resource",
35
+ };
25
36
  /**
26
- * Creates a decorator for controller methods that combines NestJS route decorators with Swagger documentation
27
- * @param {IApiMethodProperties<T>} options - Configuration options for the API method
28
- * @returns {Function} A decorator function that applies multiple decorators to a controller method
29
- * @template T - The entity type for the API method
30
- * @see {@link https://elsikora.com/docs/nestjs-crud-automator/api-reference/decorators/api-method/api-method | API Reference - ApiMethod}
37
+ * Composes Nest route, Swagger, throttling, authentication, and route metadata decorators.
38
+ * @template E - Entity type represented by the route metadata.
39
+ * @param {IApiMethodProperties<E>} options - Route metadata used to build the composed method decorator.
40
+ * @returns {MethodDecorator} A decorator for a controller method.
31
41
  */
32
- // eslint-disable-next-line @elsikora/typescript/no-unnecessary-type-parameters,@elsikora/typescript/no-unsafe-function-type
33
42
  function ApiMethod(options) {
34
- let summary = "";
35
- if (options.action) {
36
- switch (options.action) {
37
- case EApiAction.ARCHIVE: {
38
- summary = `Archiving \`${pluralizer.toSingular(String(options.entity.name))}\``;
39
- break;
40
- }
41
- case EApiAction.AUTHENTICATION: {
42
- summary = `Authentication of \`${pluralizer.toSingular(String(options.entity.name))}\``;
43
- break;
44
- }
45
- case EApiAction.BULK_CREATE: {
46
- summary = `Bulk creating \`${pluralizer.toPlural(String(options.entity.name))}\``;
47
- break;
48
- }
49
- case EApiAction.BULK_DELETE: {
50
- summary = `Bulk deleting \`${pluralizer.toPlural(String(options.entity.name))}\``;
51
- break;
52
- }
53
- case EApiAction.BULK_UPDATE: {
54
- summary = `Bulk updating \`${pluralizer.toPlural(String(options.entity.name))}\``;
55
- break;
56
- }
57
- case EApiAction.CONFIRMATION: {
58
- summary = `Confirmation of \`${pluralizer.toSingular(String(options.entity.name))}\``;
59
- break;
60
- }
61
- case EApiAction.CREATE: {
62
- summary = `Creating \`${pluralizer.toSingular(String(options.entity.name))}\``;
63
- break;
64
- }
65
- case EApiAction.DELETE: {
66
- summary = `Deleting \`${pluralizer.toSingular(String(options.entity.name))}\``;
67
- break;
68
- }
69
- case EApiAction.DOWNLOAD: {
70
- summary = `Downloading \`${pluralizer.toSingular(String(options.entity.name))}\``;
71
- break;
72
- }
73
- case EApiAction.DUPLICATE: {
74
- summary = `Duplicating \`${pluralizer.toSingular(String(options.entity.name))}\``;
75
- break;
76
- }
77
- case EApiAction.EXPORT: {
78
- summary = `Exporting \`${pluralizer.toSingular(String(options.entity.name))}\``;
79
- break;
80
- }
81
- case EApiAction.FETCH: {
82
- summary = `Fetching \`${pluralizer.toSingular(String(options.entity.name))}\``;
83
- break;
84
- }
85
- case EApiAction.FETCH_LIST: {
86
- summary = `Fetching list of \`${pluralizer.toPlural(String(options.entity.name))}\``;
87
- break;
88
- }
89
- case EApiAction.FETCH_SIMPLE_LIST: {
90
- summary = `Fetching simple list of \`${pluralizer.toPlural(String(options.entity.name))}\``;
91
- break;
92
- }
93
- case EApiAction.FETCH_SPECIFIED: {
94
- summary = `Fetching \`${pluralizer.toSingular(String(options.entity.name))}\` of specified item`;
95
- break;
96
- }
97
- case EApiAction.IMPORT: {
98
- summary = `Importing \`${pluralizer.toSingular(String(options.entity.name))}\``;
99
- break;
100
- }
101
- case EApiAction.LOGOUT: {
102
- summary = `Logout of \`${pluralizer.toSingular(String(options.entity.name))}\``;
103
- break;
104
- }
105
- case EApiAction.PARTIAL_UPDATE: {
106
- summary = `Partial updating \`${pluralizer.toSingular(String(options.entity.name))}\``;
107
- break;
108
- }
109
- case EApiAction.REFRESH: {
110
- summary = `Refresh of \`${pluralizer.toSingular(String(options.entity.name))}\``;
111
- break;
112
- }
113
- case EApiAction.REGISTRATION: {
114
- summary = `Registration of \`${pluralizer.toSingular(String(options.entity.name))}\``;
115
- break;
116
- }
117
- case EApiAction.RESTORE: {
118
- summary = `Restoring \`${pluralizer.toSingular(String(options.entity.name))}\``;
119
- break;
120
- }
121
- case EApiAction.SEARCH: {
122
- summary = `Searching for \`${pluralizer.toSingular(String(options.entity.name))}\``;
123
- break;
124
- }
125
- case EApiAction.SOLVE: {
126
- summary = `Solving \`${pluralizer.toSingular(String(options.entity.name))}\``;
127
- break;
128
- }
129
- case EApiAction.SUBSCRIBE: {
130
- summary = `Subscribing to \`${pluralizer.toSingular(String(options.entity.name))}\``;
131
- break;
132
- }
133
- case EApiAction.UNSUBSCRIBE: {
134
- summary = `Unsubscribing from \`${pluralizer.toSingular(String(options.entity.name))}\``;
135
- break;
136
- }
137
- case EApiAction.UPDATE: {
138
- summary = `Updating \`${pluralizer.toSingular(String(options.entity.name))}\``;
139
- break;
140
- }
141
- case EApiAction.UPLOAD: {
142
- summary = `Uploading \`${pluralizer.toSingular(String(options.entity.name))}\``;
143
- break;
144
- }
145
- case EApiAction.VALIDATE: {
146
- summary = `Validating \`${pluralizer.toSingular(String(options.entity.name))}\``;
147
- break;
148
- }
149
- case EApiAction.VERIFY: {
150
- summary = `Verifying \`${pluralizer.toSingular(String(options.entity.name))}\``;
151
- break;
152
- }
153
- }
154
- }
155
- if (!options.description && options.action) {
156
- switch (options.action) {
157
- case EApiAction.ARCHIVE: {
158
- options.description = `This method is used for archiving \`${pluralizer.toSingular(String(options.entity.name))}\``;
159
- break;
160
- }
161
- case EApiAction.AUTHENTICATION: {
162
- options.description = `This method is used for authentication of \`${pluralizer.toSingular(String(options.entity.name))}\``;
163
- break;
164
- }
165
- case EApiAction.BULK_CREATE: {
166
- options.description = `This method is used for bulk creating \`${pluralizer.toPlural(String(options.entity.name))}\``;
167
- break;
168
- }
169
- case EApiAction.BULK_DELETE: {
170
- options.description = `This method is used for bulk deleting \`${pluralizer.toPlural(String(options.entity.name))}\``;
171
- break;
172
- }
173
- case EApiAction.BULK_UPDATE: {
174
- options.description = `This method is used for bulk updating \`${pluralizer.toSingular(String(options.entity.name))}\``;
175
- break;
176
- }
177
- case EApiAction.CONFIRMATION: {
178
- options.description = `This method is used for confirmation of \`${pluralizer.toSingular(String(options.entity.name))}\``;
179
- break;
180
- }
181
- case EApiAction.CREATE: {
182
- options.description = `This method is used for creating \`${pluralizer.toSingular(String(options.entity.name))}\``;
183
- break;
184
- }
185
- case EApiAction.DELETE: {
186
- options.description = `This method is used for deleting \`${pluralizer.toSingular(String(options.entity.name))}\``;
187
- break;
188
- }
189
- case EApiAction.DOWNLOAD: {
190
- options.description = `This method is used for downloading \`${pluralizer.toSingular(String(options.entity.name))}\``;
191
- break;
192
- }
193
- case EApiAction.DUPLICATE: {
194
- options.description = `This method is used for duplicating \`${pluralizer.toSingular(String(options.entity.name))}\``;
195
- break;
196
- }
197
- case EApiAction.EXPORT: {
198
- options.description = `This method is used for exporting \`${pluralizer.toSingular(String(options.entity.name))}\``;
199
- break;
200
- }
201
- case EApiAction.FETCH: {
202
- options.description = `This method is used for fetching \`${pluralizer.toSingular(String(options.entity.name))}\``;
203
- break;
204
- }
205
- case EApiAction.FETCH_LIST: {
206
- options.description = `This method is used for fetching list of \`${pluralizer.toPlural(String(options.entity.name))}\``;
207
- break;
208
- }
209
- case EApiAction.FETCH_SIMPLE_LIST: {
210
- options.description = `This method is used for fetching simple list of \`${pluralizer.toPlural(String(options.entity.name))}\``;
211
- break;
212
- }
213
- case EApiAction.FETCH_SPECIFIED: {
214
- options.description = `This method is used for fetching \`${pluralizer.toSingular(String(options.entity.name))}\` of specified item`;
215
- break;
216
- }
217
- case EApiAction.IMPORT: {
218
- options.description = `This method is used for importing \`${pluralizer.toSingular(String(options.entity.name))}\``;
219
- break;
220
- }
221
- case EApiAction.LOGOUT: {
222
- options.description = `This method is used for logout of \`${pluralizer.toSingular(String(options.entity.name))}\``;
223
- break;
224
- }
225
- case EApiAction.PARTIAL_UPDATE: {
226
- options.description = `This method is used for partial updating \`${pluralizer.toSingular(String(options.entity.name))}\``;
227
- break;
228
- }
229
- case EApiAction.REFRESH: {
230
- options.description = `This method is used for refresh of \`${pluralizer.toSingular(String(options.entity.name))}\``;
231
- break;
232
- }
233
- case EApiAction.REGISTRATION: {
234
- options.description = `This method is used for registration of \`${pluralizer.toSingular(String(options.entity.name))}\``;
235
- break;
236
- }
237
- case EApiAction.RESTORE: {
238
- options.description = `This method is used for restoring \`${pluralizer.toSingular(String(options.entity.name))}\``;
239
- break;
240
- }
241
- case EApiAction.SEARCH: {
242
- options.description = `This method is used for searching \`${pluralizer.toSingular(String(options.entity.name))}\``;
243
- break;
244
- }
245
- case EApiAction.SOLVE: {
246
- options.description = `This method is used for solving \`${pluralizer.toSingular(String(options.entity.name))}\``;
247
- break;
248
- }
249
- case EApiAction.SUBSCRIBE: {
250
- options.description = `This method is used for subscribing to \`${pluralizer.toSingular(String(options.entity.name))}\``;
251
- break;
252
- }
253
- case EApiAction.UNSUBSCRIBE: {
254
- options.description = `This method is used for unsubscribing from \`${pluralizer.toSingular(String(options.entity.name))}\``;
255
- break;
256
- }
257
- case EApiAction.UPDATE: {
258
- options.description = `This method is used for updating \`${pluralizer.toSingular(String(options.entity.name))}\``;
259
- break;
260
- }
261
- case EApiAction.UPLOAD: {
262
- options.description = `This method is used for uploading \`${pluralizer.toSingular(String(options.entity.name))}\``;
263
- break;
264
- }
265
- case EApiAction.VALIDATE: {
266
- options.description = `This method is used for validating \`${pluralizer.toSingular(String(options.entity.name))}\``;
267
- break;
268
- }
269
- case EApiAction.VERIFY: {
270
- options.description = `This method is used for verifying \`${pluralizer.toSingular(String(options.entity.name))}\``;
271
- break;
272
- }
273
- }
274
- }
43
+ const metadata = options.metadata;
275
44
  const decorators = [
276
- ApiOperation({ description: options.description, summary }),
45
+ SetMetadata(METHOD_API_DECORATOR_CONSTANT.ROUTE_METADATA_KEY, metadata),
46
+ ApiOperation({
47
+ description: metadata.documentation?.description,
48
+ operationId: metadata.documentation?.operationId,
49
+ summary: metadata.documentation?.summary ?? (metadata.route.type ? DEFAULT_OPERATION_SUMMARY_BY_ROUTE[metadata.route.type] : metadata.resource.action),
50
+ }),
277
51
  ApiResponse({
278
52
  description: "Success",
279
- status: options.httpCode,
280
- type: options.responseType,
53
+ status: metadata.response?.status,
54
+ type: metadata.response?.type,
281
55
  }),
282
- HttpCode(options.httpCode),
56
+ HttpCode(metadata.response?.status ?? HttpStatus.OK),
283
57
  ];
284
- if (options.action) {
285
- decorators.push(SetMetadata(METHOD_API_DECORATOR_CONSTANT.ACTION_METADATA_KEY, options.action));
58
+ if (metadata.throttling?.default) {
59
+ decorators.push(Throttle({ default: metadata.throttling.default }));
286
60
  }
287
- if (options.authorization) {
288
- decorators.push(SetMetadata(METHOD_API_DECORATOR_CONSTANT.AUTHORIZATION_METADATA_KEY, options.authorization));
61
+ const errors = metadata.response?.errors;
62
+ if (errors?.hasUnauthorized) {
63
+ decorators.push(ApiUnauthorizedResponse({ description: "Unauthorized", type: DtoGenerateException(HttpStatus.UNAUTHORIZED) }));
289
64
  }
290
- if (options.throttler) {
291
- decorators.push(Throttle({ default: options.throttler }));
65
+ if (errors?.hasForbidden) {
66
+ decorators.push(ApiForbiddenResponse({ description: "Forbidden", type: DtoGenerateException(HttpStatus.FORBIDDEN) }));
292
67
  }
293
- if (options.responses) {
294
- if (options.responses.hasUnauthorized) {
295
- decorators.push(ApiUnauthorizedResponse({
296
- description: "Unauthorized",
297
- type: DtoGenerateException(HttpStatus.UNAUTHORIZED),
298
- }));
299
- }
300
- if (options.responses.hasForbidden) {
301
- decorators.push(ApiForbiddenResponse({
302
- description: "Forbiddeb",
303
- type: DtoGenerateException(HttpStatus.FORBIDDEN),
304
- }));
305
- }
306
- if (options.responses.hasInternalServerError) {
307
- decorators.push(ApiInternalServerErrorResponse({
308
- description: "Internal Server Error",
309
- type: DtoGenerateException(HttpStatus.INTERNAL_SERVER_ERROR),
310
- }));
311
- }
312
- if (options.responses.hasNotFound) {
313
- decorators.push(ApiNotFoundResponse({
314
- description: "Not Found",
315
- type: DtoGenerateException(HttpStatus.NOT_FOUND),
316
- }));
317
- }
318
- if (options.responses.hasBadRequest) {
319
- decorators.push(ApiBadRequestResponse({
320
- description: "Bad Request",
321
- type: DtoGenerateException(HttpStatus.BAD_REQUEST),
322
- }));
323
- }
324
- if (options.responses.hasConflict) {
325
- decorators.push(ApiConflictResponse({
326
- description: "Conflict",
327
- type: DtoGenerateException(HttpStatus.CONFLICT),
328
- }));
329
- }
330
- if (options.responses.hasTooManyRequests) {
331
- decorators.push(ApiTooManyRequestsResponse({
332
- description: "Too Many Requests",
333
- type: DtoGenerateException(HttpStatus.TOO_MANY_REQUESTS),
334
- }));
335
- }
68
+ if (errors?.hasInternalServerError) {
69
+ decorators.push(ApiInternalServerErrorResponse({ description: "Internal Server Error", type: DtoGenerateException(HttpStatus.INTERNAL_SERVER_ERROR) }));
70
+ }
71
+ if (errors?.hasNotFound) {
72
+ decorators.push(ApiNotFoundResponse({ description: "Not Found", type: DtoGenerateException(HttpStatus.NOT_FOUND) }));
73
+ }
74
+ if (errors?.hasBadRequest) {
75
+ decorators.push(ApiBadRequestResponse({ description: "Bad Request", type: DtoGenerateException(HttpStatus.BAD_REQUEST) }));
76
+ }
77
+ if (errors?.hasConflict) {
78
+ decorators.push(ApiConflictResponse({ description: "Conflict", type: DtoGenerateException(HttpStatus.CONFLICT) }));
79
+ }
80
+ if (errors?.hasTooManyRequests) {
81
+ decorators.push(ApiTooManyRequestsResponse({ description: "Too Many Requests", type: DtoGenerateException(HttpStatus.TOO_MANY_REQUESTS) }));
336
82
  }
337
83
  // eslint-disable-next-line @elsikora/typescript/switch-exhaustiveness-check
338
- switch (options.method) {
84
+ switch (metadata.route.method) {
339
85
  case RequestMethod.DELETE: {
340
- decorators.push(Delete(options.path));
86
+ decorators.push(Delete(metadata.route.path));
341
87
  break;
342
88
  }
343
89
  case RequestMethod.GET: {
344
- decorators.push(Get(options.path));
90
+ decorators.push(Get(metadata.route.path));
345
91
  break;
346
92
  }
347
93
  case RequestMethod.PATCH: {
348
- decorators.push(Patch(options.path));
94
+ decorators.push(Patch(metadata.route.path));
349
95
  break;
350
96
  }
351
97
  case RequestMethod.POST: {
352
- decorators.push(Post(options.path));
98
+ decorators.push(Post(metadata.route.path));
353
99
  break;
354
100
  }
355
101
  case RequestMethod.PUT: {
356
- decorators.push(Put(options.path));
102
+ decorators.push(Put(metadata.route.path));
357
103
  break;
358
104
  }
359
105
  default: {
360
- throw ErrorException(`ApiMethod error: Method ${String(options.method)} is not supported`);
106
+ throw ErrorException(`ApiMethod error: Method ${String(metadata.route.method)} is not supported`);
361
107
  }
362
108
  }
109
+ for (const strategy of metadata.security?.authentication?.bearerStrategies ?? []) {
110
+ decorators.push(ApiBearerAuth(strategy));
111
+ }
112
+ for (const strategy of metadata.security?.authentication?.securityStrategies ?? []) {
113
+ decorators.push(ApiSecurity(strategy));
114
+ }
363
115
  const guards = [];
364
- if (options.authentication) {
365
- if (options.authentication?.bearerStrategies?.length) {
366
- for (const strategy of options.authentication?.bearerStrategies ?? []) {
367
- decorators.push(ApiBearerAuth(strategy));
368
- }
369
- }
370
- if (options.authentication?.securityStrategies?.length) {
371
- for (const strategy of options.authentication.securityStrategies) {
372
- decorators.push(ApiSecurity(strategy));
373
- }
374
- }
375
- if (options.authentication.guard) {
376
- guards.push(options.authentication.guard);
377
- }
116
+ if (metadata.security?.authentication?.guard) {
117
+ guards.push(metadata.security.authentication.guard);
378
118
  }
379
119
  guards.push(ApiAuthorizationGuard);
380
120
  decorators.push(UseGuards(...guards));
@@ -1 +1 @@
1
- {"version":3,"file":"method.decorator.js","sources":["../../../../../src/decorator/api/method.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"method.decorator.js","sources":["../../../../../src/decorator/api/method.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,kCAAkC,GAA2C;AAClF,IAAA,CAAC,aAAa,CAAC,MAAM,GAAG,iBAAiB;AACzC,IAAA,CAAC,aAAa,CAAC,MAAM,GAAG,iBAAiB;AACzC,IAAA,CAAC,aAAa,CAAC,GAAG,GAAG,cAAc;AACnC,IAAA,CAAC,aAAa,CAAC,QAAQ,GAAG,mBAAmB;AAC7C,IAAA,CAAC,aAAa,CAAC,cAAc,GAAG,2BAA2B;AAC3D,IAAA,CAAC,aAAa,CAAC,MAAM,GAAG,iBAAiB;CACzC;AAED;;;;;AAKG;AACG,SAAU,SAAS,CAA2B,OAAgC,EAAA;AACnF,IAAA,MAAM,QAAQ,GAAwC,OAAO,CAAC,QAAQ;AAEtE,IAAA,MAAM,UAAU,GAA2B;AAC1C,QAAA,WAAW,CAAC,6BAA6B,CAAC,kBAAkB,EAAE,QAAQ,CAAC;AACvE,QAAA,YAAY,CAAC;AACZ,YAAA,WAAW,EAAE,QAAQ,CAAC,aAAa,EAAE,WAAW;AAChD,YAAA,WAAW,EAAE,QAAQ,CAAC,aAAa,EAAE,WAAW;AAChD,YAAA,OAAO,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,kCAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;SACtJ,CAAC;AACF,QAAA,WAAW,CAAC;AACX,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM;AACjC,YAAA,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI;SAC7B,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,UAAU,CAAC,EAAE,CAAC;KACpD;AAED,IAAA,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;AACjC,QAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE;AAEA,IAAA,MAAM,MAAM,GAA2E,QAAQ,CAAC,QAAQ,EAAE,MAAM;AAEhH,IAAA,IAAI,MAAM,EAAE,eAAe,EAAE;QAC5B,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/H;AAEA,IAAA,IAAI,MAAM,EAAE,YAAY,EAAE;QACzB,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtH;AAEA,IAAA,IAAI,MAAM,EAAE,sBAAsB,EAAE;QACnC,UAAU,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACxJ;AAEA,IAAA,IAAI,MAAM,EAAE,WAAW,EAAE;QACxB,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACrH;AAEA,IAAA,IAAI,MAAM,EAAE,aAAa,EAAE;QAC1B,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3H;AAEA,IAAA,IAAI,MAAM,EAAE,WAAW,EAAE;QACxB,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnH;AAEA,IAAA,IAAI,MAAM,EAAE,kBAAkB,EAAE;QAC/B,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC5I;;AAGA,IAAA,QAAQ,QAAQ,CAAC,KAAK,CAAC,MAAM;AAC5B,QAAA,KAAK,aAAa,CAAC,MAAM,EAAE;AAC1B,YAAA,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE5C;QACD;AAEA,QAAA,KAAK,aAAa,CAAC,GAAG,EAAE;AACvB,YAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEzC;QACD;AAEA,QAAA,KAAK,aAAa,CAAC,KAAK,EAAE;AACzB,YAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE3C;QACD;AAEA,QAAA,KAAK,aAAa,CAAC,IAAI,EAAE;AACxB,YAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE1C;QACD;AAEA,QAAA,KAAK,aAAa,CAAC,GAAG,EAAE;AACvB,YAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEzC;QACD;QAEA,SAAS;AACR,YAAA,MAAM,cAAc,CAAC,CAAA,wBAAA,EAA2B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA,iBAAA,CAAmB,CAAC;QAClG;;AAGD,IAAA,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,gBAAgB,IAAI,EAAE,EAAE;QACjF,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC;AAEA,IAAA,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,kBAAkB,IAAI,EAAE,EAAE;QACnF,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC;IAEA,MAAM,MAAM,GAA2C,EAAE;IAEzD,IAAI,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE;QAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;IACpD;AAEA,IAAA,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC;IAClC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC;AAErC,IAAA,OAAO,eAAe,CAAC,GAAG,UAAU,CAAC;AACtC;;;;"}
@@ -1,8 +1,12 @@
1
1
  import '../../../enum/decorator/api/action.enum.js';
2
2
  import '../../../enum/decorator/api/authentication-type.enum.js';
3
3
  import '../../../enum/decorator/api/controller/load-relations-strategy.enum.js';
4
- import '../../../enum/decorator/api/controller/request-transformer-type.enum.js';
4
+ import '../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
5
+ import '../../../enum/decorator/api/controller/request/target.enum.js';
6
+ import '../../../enum/decorator/api/controller/request/transformer-type.enum.js';
7
+ import '../../../enum/decorator/api/controller/response-target.enum.js';
5
8
  import '../../../enum/decorator/api/dto-type.enum.js';
9
+ import '../../../enum/decorator/api/function-transaction-mode.enum.js';
6
10
  import '../../../enum/decorator/api/function-type.enum.js';
7
11
  import '../../../enum/decorator/api/on-type.enum.js';
8
12
  import { EApiPropertyDataType } from '../../../enum/decorator/api/property/data-type.enum.js';
@@ -20,7 +24,7 @@ import { RegisterManualDtoPropertyMetadata } from '../../../utility/dto/manual/p
20
24
  import { ErrorException } from '../../../utility/error/exception.utility.js';
21
25
  import { WithResolvedPropertyEntity } from '../../../utility/with-resolved-property-entity.utility.js';
22
26
  import { Expose, Exclude, Transform } from 'class-transformer';
23
- import { IsOptional, IsArray, ArrayMinSize, ArrayMaxSize, ArrayNotEmpty, IsBoolean } from 'class-validator';
27
+ import { IsBoolean, IsArray, ArrayMinSize, ArrayMaxSize, ArrayNotEmpty, ValidateIf } from 'class-validator';
24
28
 
25
29
  /**
26
30
  * Creates a decorator that applies NestJS Swagger and class-validator/class-transformer decorators
@@ -144,6 +148,23 @@ function buildFormatDecorators(properties) {
144
148
  }
145
149
  return decorators;
146
150
  }
151
+ /**
152
+ * Builds the presence validator for boolean request properties.
153
+ * @param {TApiPropertyBaseProperties} properties - Property configuration that controls required and nullable semantics.
154
+ * @returns {PropertyDecorator} A class-validator presence decorator.
155
+ */
156
+ function buildPresenceDecorator(properties) {
157
+ if (properties.isRequired && properties.isNullable) {
158
+ return ValidateIf((_object, value) => value !== null);
159
+ }
160
+ if (!properties.isRequired && properties.isNullable) {
161
+ return ValidateIf((_object, value) => value !== undefined && value !== null);
162
+ }
163
+ if (!properties.isRequired) {
164
+ return ValidateIf((_object, value) => value !== undefined);
165
+ }
166
+ return ValidateIf(() => true);
167
+ }
147
168
  /**
148
169
  * Builds decorators for request validation including optional status and array validation
149
170
  * @param {TApiPropertyBaseProperties} properties - The property configuration
@@ -153,9 +174,7 @@ function buildFormatDecorators(properties) {
153
174
  function buildRequestDecorators(properties) {
154
175
  const decorators = [];
155
176
  if (properties.isResponse === false || properties.isResponse === undefined) {
156
- if (!properties.isRequired) {
157
- decorators.push(IsOptional());
158
- }
177
+ decorators.push(buildPresenceDecorator(properties));
159
178
  if (properties.isArray === true) {
160
179
  decorators.push(IsArray(), ArrayMinSize(properties.minItems), ArrayMaxSize(properties.maxItems));
161
180
  if (properties.minItems > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"boolean.decorator.js","sources":["../../../../../../src/decorator/api/property/boolean.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"boolean.decorator.js","sources":["../../../../../../src/decorator/api/property/boolean.decorator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import '../../../enum/decorator/api/action.enum.js';
2
2
  import '../../../enum/decorator/api/authentication-type.enum.js';
3
3
  import '../../../enum/decorator/api/controller/load-relations-strategy.enum.js';
4
- import '../../../enum/decorator/api/controller/request-transformer-type.enum.js';
4
+ import '../../../enum/decorator/api/controller/relation-reference-shape.enum.js';
5
+ import '../../../enum/decorator/api/controller/request/target.enum.js';
6
+ import '../../../enum/decorator/api/controller/request/transformer-type.enum.js';
7
+ import '../../../enum/decorator/api/controller/response-target.enum.js';
5
8
  import '../../../enum/decorator/api/dto-type.enum.js';
9
+ import '../../../enum/decorator/api/function-transaction-mode.enum.js';
6
10
  import '../../../enum/decorator/api/function-type.enum.js';
7
11
  import '../../../enum/decorator/api/on-type.enum.js';
8
12
  import { EApiPropertyDataType } from '../../../enum/decorator/api/property/data-type.enum.js';
@@ -20,7 +24,7 @@ import { RegisterManualDtoPropertyMetadata } from '../../../utility/dto/manual/p
20
24
  import { ErrorException } from '../../../utility/error/exception.utility.js';
21
25
  import { WithResolvedPropertyEntity } from '../../../utility/with-resolved-property-entity.utility.js';
22
26
  import { Expose, Exclude, Transform } from 'class-transformer';
23
- import { IsOptional, IsArray, ArrayMinSize, ArrayMaxSize, ArrayNotEmpty, IsDate } from 'class-validator';
27
+ import { IsDate, IsArray, ArrayMinSize, ArrayMaxSize, ArrayNotEmpty, ValidateIf } from 'class-validator';
24
28
 
25
29
  /**
26
30
  * Creates a decorator that applies NestJS Swagger and class-validator/class-transformer decorators
@@ -158,6 +162,23 @@ function buildFormatDecorators(properties) {
158
162
  }
159
163
  return decorators;
160
164
  }
165
+ /**
166
+ * Builds the presence validator for date request properties.
167
+ * @param {TApiPropertyDateProperties} properties - Property configuration that controls required and nullable semantics.
168
+ * @returns {PropertyDecorator} A class-validator presence decorator.
169
+ */
170
+ function buildPresenceDecorator(properties) {
171
+ if (properties.isRequired && properties.isNullable) {
172
+ return ValidateIf((_object, value) => value !== null);
173
+ }
174
+ if (!properties.isRequired && properties.isNullable) {
175
+ return ValidateIf((_object, value) => value !== undefined && value !== null);
176
+ }
177
+ if (!properties.isRequired) {
178
+ return ValidateIf((_object, value) => value !== undefined);
179
+ }
180
+ return ValidateIf(() => true);
181
+ }
161
182
  /**
162
183
  * Builds decorators for request validation including optional status,
163
184
  * array validation, and size constraints for date properties.
@@ -168,9 +189,7 @@ function buildFormatDecorators(properties) {
168
189
  function buildRequestDecorators(properties) {
169
190
  const decorators = [];
170
191
  if (properties.isResponse === false || properties.isResponse === undefined) {
171
- if (!properties.isRequired) {
172
- decorators.push(IsOptional());
173
- }
192
+ decorators.push(buildPresenceDecorator(properties));
174
193
  if (properties.isArray === true) {
175
194
  decorators.push(IsArray(), ArrayMinSize(properties.minItems), ArrayMaxSize(properties.maxItems));
176
195
  if (properties.minItems > 0) {