@elsikora/nestjs-crud-automator 1.9.0-dev.2 → 1.10.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 (411) hide show
  1. package/dist/cjs/class/api/index.d.ts +2 -1
  2. package/dist/cjs/class/api/subscriber/base.class.d.ts +3 -0
  3. package/dist/cjs/class/api/subscriber/base.class.js +7 -0
  4. package/dist/cjs/class/api/subscriber/base.class.js.map +1 -0
  5. package/dist/cjs/class/api/subscriber/discovery-service.class.d.ts +9 -0
  6. package/dist/cjs/class/api/subscriber/discovery-service.class.js +46 -0
  7. package/dist/cjs/class/api/subscriber/discovery-service.class.js.map +1 -0
  8. package/dist/cjs/class/api/subscriber/executor.class.d.ts +10 -0
  9. package/dist/cjs/class/api/subscriber/executor.class.js +52 -0
  10. package/dist/cjs/class/api/subscriber/executor.class.js.map +1 -0
  11. package/dist/cjs/class/api/subscriber/function-base.class.d.ts +5 -0
  12. package/dist/cjs/class/api/subscriber/function-base.class.js +9 -0
  13. package/dist/cjs/class/api/subscriber/function-base.class.js.map +1 -0
  14. package/dist/cjs/class/api/subscriber/index.d.ts +6 -0
  15. package/dist/cjs/class/api/subscriber/registry.class.d.ts +15 -0
  16. package/dist/cjs/class/api/subscriber/registry.class.js +57 -0
  17. package/dist/cjs/class/api/subscriber/registry.class.js.map +1 -0
  18. package/dist/cjs/class/api/subscriber/route-base.class.d.ts +5 -0
  19. package/dist/cjs/class/api/subscriber/route-base.class.js +9 -0
  20. package/dist/cjs/class/api/subscriber/route-base.class.js.map +1 -0
  21. package/dist/cjs/class/metadata-storage.class.js +1 -2
  22. package/dist/cjs/class/metadata-storage.class.js.map +1 -1
  23. package/dist/cjs/class/utility/dto/property/factory/number.class.js +1 -0
  24. package/dist/cjs/class/utility/dto/property/factory/number.class.js.map +1 -1
  25. package/dist/cjs/class/utility/dto/property/factory/relation.class.js +1 -0
  26. package/dist/cjs/class/utility/dto/property/factory/relation.class.js.map +1 -1
  27. package/dist/cjs/class/utility/dto/strategy/body.class.js +1 -0
  28. package/dist/cjs/class/utility/dto/strategy/body.class.js.map +1 -1
  29. package/dist/cjs/class/utility/dto/strategy/query.class.js +1 -0
  30. package/dist/cjs/class/utility/dto/strategy/query.class.js.map +1 -1
  31. package/dist/cjs/class/utility/dto/strategy/request.class.js +1 -0
  32. package/dist/cjs/class/utility/dto/strategy/request.class.js.map +1 -1
  33. package/dist/cjs/class/utility/dto/strategy/response.class.js +1 -0
  34. package/dist/cjs/class/utility/dto/strategy/response.class.js.map +1 -1
  35. package/dist/cjs/constant/decorator/api/controller.constant.d.ts +1 -0
  36. package/dist/cjs/constant/decorator/api/controller.constant.js +2 -0
  37. package/dist/cjs/constant/decorator/api/controller.constant.js.map +1 -1
  38. package/dist/cjs/constant/decorator/api/property-describe.constant.d.ts +1 -1
  39. package/dist/cjs/constant/decorator/api/property-describe.constant.js +2 -2
  40. package/dist/cjs/constant/decorator/api/property-describe.constant.js.map +1 -1
  41. package/dist/cjs/constant/decorator/api/service.constant.d.ts +3 -0
  42. package/dist/cjs/constant/decorator/api/service.constant.js +9 -0
  43. package/dist/cjs/constant/decorator/api/service.constant.js.map +1 -0
  44. package/dist/cjs/constant/decorator/api/subscriber.constant.d.ts +4 -0
  45. package/dist/cjs/constant/decorator/api/subscriber.constant.js +11 -0
  46. package/dist/cjs/constant/decorator/api/subscriber.constant.js.map +1 -0
  47. package/dist/cjs/constant/utility/dto/constant.js +1 -0
  48. package/dist/cjs/constant/utility/dto/constant.js.map +1 -1
  49. package/dist/cjs/constant/validator/has-paired-custom-suffixes-fields.constant.js +0 -1
  50. package/dist/cjs/constant/validator/has-paired-custom-suffixes-fields.constant.js.map +1 -1
  51. package/dist/cjs/decorator/api/controller/index.d.ts +1 -0
  52. package/dist/cjs/decorator/api/controller/observable.decorator.d.ts +4 -0
  53. package/dist/cjs/decorator/api/controller/observable.decorator.js +15 -0
  54. package/dist/cjs/decorator/api/controller/observable.decorator.js.map +1 -0
  55. package/dist/cjs/decorator/api/function/create.decorator.d.ts +2 -2
  56. package/dist/cjs/decorator/api/function/create.decorator.js +45 -8
  57. package/dist/cjs/decorator/api/function/create.decorator.js.map +1 -1
  58. package/dist/cjs/decorator/api/function/decorator.js +1 -1
  59. package/dist/cjs/decorator/api/function/decorator.js.map +1 -1
  60. package/dist/cjs/decorator/api/function/delete.decorator.d.ts +5 -1
  61. package/dist/cjs/decorator/api/function/delete.decorator.js +59 -7
  62. package/dist/cjs/decorator/api/function/delete.decorator.js.map +1 -1
  63. package/dist/cjs/decorator/api/function/get-list.decorator.d.ts +5 -1
  64. package/dist/cjs/decorator/api/function/get-list.decorator.js +56 -10
  65. package/dist/cjs/decorator/api/function/get-list.decorator.js.map +1 -1
  66. package/dist/cjs/decorator/api/function/get-many.decorator.d.ts +5 -1
  67. package/dist/cjs/decorator/api/function/get-many.decorator.js +53 -5
  68. package/dist/cjs/decorator/api/function/get-many.decorator.js.map +1 -1
  69. package/dist/cjs/decorator/api/function/get.decorator.d.ts +5 -1
  70. package/dist/cjs/decorator/api/function/get.decorator.js +53 -5
  71. package/dist/cjs/decorator/api/function/get.decorator.js.map +1 -1
  72. package/dist/cjs/decorator/api/function/update.decorator.d.ts +5 -1
  73. package/dist/cjs/decorator/api/function/update.decorator.js +60 -11
  74. package/dist/cjs/decorator/api/function/update.decorator.js.map +1 -1
  75. package/dist/cjs/decorator/api/index.d.ts +6 -3
  76. package/dist/cjs/decorator/api/method.decorator.js +1 -0
  77. package/dist/cjs/decorator/api/method.decorator.js.map +1 -1
  78. package/dist/cjs/decorator/api/property/boolean.decorator.js +1 -2
  79. package/dist/cjs/decorator/api/property/boolean.decorator.js.map +1 -1
  80. package/dist/cjs/decorator/api/property/copy.decorator.js +1 -1
  81. package/dist/cjs/decorator/api/property/copy.decorator.js.map +1 -1
  82. package/dist/cjs/decorator/api/property/date.decorator.js +1 -2
  83. package/dist/cjs/decorator/api/property/date.decorator.js.map +1 -1
  84. package/dist/cjs/decorator/api/property/describe.decorator.js +1 -1
  85. package/dist/cjs/decorator/api/property/describe.decorator.js.map +1 -1
  86. package/dist/cjs/decorator/api/property/enum.decorator.js +0 -2
  87. package/dist/cjs/decorator/api/property/enum.decorator.js.map +1 -1
  88. package/dist/cjs/decorator/api/property/number.decorator.js +1 -4
  89. package/dist/cjs/decorator/api/property/number.decorator.js.map +1 -1
  90. package/dist/cjs/decorator/api/property/object.decorator.js +0 -4
  91. package/dist/cjs/decorator/api/property/object.decorator.js.map +1 -1
  92. package/dist/cjs/decorator/api/property/string.decorator.js +4 -21
  93. package/dist/cjs/decorator/api/property/string.decorator.js.map +1 -1
  94. package/dist/cjs/decorator/api/property/uuid.decorator.js +1 -2
  95. package/dist/cjs/decorator/api/property/uuid.decorator.js.map +1 -1
  96. package/dist/cjs/decorator/api/service/index.d.ts +1 -0
  97. package/dist/cjs/decorator/api/service/observable.decorator.d.ts +4 -0
  98. package/dist/cjs/decorator/api/service/observable.decorator.js +15 -0
  99. package/dist/cjs/decorator/api/service/observable.decorator.js.map +1 -0
  100. package/dist/cjs/decorator/api/service.decorator.js +3 -37
  101. package/dist/cjs/decorator/api/service.decorator.js.map +1 -1
  102. package/dist/cjs/decorator/api/subscriber/function.decorator.d.ts +9 -0
  103. package/dist/cjs/decorator/api/subscriber/function.decorator.js +18 -0
  104. package/dist/cjs/decorator/api/subscriber/function.decorator.js.map +1 -0
  105. package/dist/cjs/decorator/api/subscriber/index.d.ts +2 -0
  106. package/dist/cjs/decorator/api/subscriber/route.decorator.d.ts +9 -0
  107. package/dist/cjs/decorator/api/subscriber/route.decorator.js +18 -0
  108. package/dist/cjs/decorator/api/subscriber/route.decorator.js.map +1 -0
  109. package/dist/cjs/enum/decorator/api/index.d.ts +5 -4
  110. package/dist/cjs/enum/decorator/api/on-type.enum.d.ts +6 -0
  111. package/dist/cjs/enum/decorator/api/on-type.enum.js +10 -0
  112. package/dist/cjs/enum/decorator/api/on-type.enum.js.map +1 -0
  113. package/dist/cjs/external/@elsikora/cladi/dist/esm/domain/enum/logger-log-level.enum.js +14 -0
  114. package/dist/cjs/external/@elsikora/cladi/dist/esm/domain/enum/logger-log-level.enum.js.map +1 -0
  115. package/dist/cjs/external/@elsikora/cladi/dist/esm/infrastructure/class/base/error.class.js +31 -0
  116. package/dist/cjs/external/@elsikora/cladi/dist/esm/infrastructure/class/base/error.class.js.map +1 -0
  117. package/dist/cjs/external/@elsikora/cladi/dist/esm/infrastructure/class/base/registry.class.js +222 -0
  118. package/dist/cjs/external/@elsikora/cladi/dist/esm/infrastructure/class/base/registry.class.js.map +1 -0
  119. package/dist/cjs/external/@elsikora/cladi/dist/esm/infrastructure/constant/console-logger-default-options.constant.js +11 -0
  120. package/dist/cjs/external/@elsikora/cladi/dist/esm/infrastructure/constant/console-logger-default-options.constant.js.map +1 -0
  121. package/dist/cjs/external/@elsikora/cladi/dist/esm/infrastructure/service/console-logger.service.js +131 -0
  122. package/dist/cjs/external/@elsikora/cladi/dist/esm/infrastructure/service/console-logger.service.js.map +1 -0
  123. package/dist/cjs/external/@elsikora/cladi/dist/esm/presentation/utility/create/registry.utility.js +19 -0
  124. package/dist/cjs/external/@elsikora/cladi/dist/esm/presentation/utility/create/registry.utility.js.map +1 -0
  125. package/dist/cjs/factory/api/controller.factory.d.ts +2 -1
  126. package/dist/cjs/factory/api/controller.factory.js +299 -105
  127. package/dist/cjs/factory/api/controller.factory.js.map +1 -1
  128. package/dist/cjs/index.d.ts +1 -0
  129. package/dist/cjs/index.js +33 -0
  130. package/dist/cjs/index.js.map +1 -1
  131. package/dist/cjs/interface/class/api/subscriber/execution-context.interface.d.ts +15 -0
  132. package/dist/cjs/interface/class/api/subscriber/function-execution-context.interface.d.ts +6 -0
  133. package/dist/cjs/interface/class/api/subscriber/function.interface.d.ts +31 -0
  134. package/dist/cjs/interface/class/api/subscriber/interface.d.ts +2 -0
  135. package/dist/cjs/interface/class/api/subscriber/route-execution-context.interface.d.ts +6 -0
  136. package/dist/cjs/interface/class/api/subscriber/route.interface.d.ts +39 -0
  137. package/dist/cjs/interface/decorator/api/function/create-executor-properties.interface.d.ts +2 -1
  138. package/dist/cjs/interface/decorator/api/function/delete-executor-properties.interface.d.ts +5 -4
  139. package/dist/cjs/interface/decorator/api/function/get-executor-properties.interface.d.ts +2 -1
  140. package/dist/cjs/interface/decorator/api/function/get-list-executor-properties.interface.d.ts +2 -1
  141. package/dist/cjs/interface/decorator/api/function/get-many-executor-properties.interface.d.ts +2 -1
  142. package/dist/cjs/interface/decorator/api/function/properties.interface.d.ts +2 -2
  143. package/dist/cjs/interface/decorator/api/function/update-executor-properties.interface.d.ts +5 -4
  144. package/dist/cjs/interface/decorator/api/index.d.ts +6 -5
  145. package/dist/cjs/interface/decorator/api/subscriber/function-properties.interface.d.ts +5 -0
  146. package/dist/cjs/interface/decorator/api/subscriber/index.d.ts +2 -0
  147. package/dist/cjs/interface/decorator/api/subscriber/route-properties.interface.d.ts +5 -0
  148. package/dist/cjs/module/api-subscriber.module.d.ts +2 -0
  149. package/dist/cjs/module/api-subscriber.module.js +17 -0
  150. package/dist/cjs/module/api-subscriber.module.js.map +1 -0
  151. package/dist/cjs/module/index.d.ts +1 -0
  152. package/dist/cjs/package.json +1 -0
  153. package/dist/cjs/utility/api/controller/apply-decorators.utility.js +1 -0
  154. package/dist/cjs/utility/api/controller/apply-decorators.utility.js.map +1 -1
  155. package/dist/cjs/utility/api/controller/apply-metadata.utility.js +1 -0
  156. package/dist/cjs/utility/api/controller/apply-metadata.utility.js.map +1 -1
  157. package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.js +1 -0
  158. package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.js.map +1 -1
  159. package/dist/cjs/utility/api/controller/get-list/transform-operation.utility.d.ts +5 -0
  160. package/dist/cjs/utility/api/controller/get-list/transform-operation.utility.js +5 -1
  161. package/dist/cjs/utility/api/controller/get-list/transform-operation.utility.js.map +1 -1
  162. package/dist/cjs/utility/api/controller/handle-request-relations.utility.js +4 -0
  163. package/dist/cjs/utility/api/controller/handle-request-relations.utility.js.map +1 -1
  164. package/dist/cjs/utility/api/controller/transform-data.utility.js +1 -0
  165. package/dist/cjs/utility/api/controller/transform-data.utility.js.map +1 -1
  166. package/dist/cjs/utility/api/controller/write-dto-swagger.utility.js +2 -4
  167. package/dist/cjs/utility/api/controller/write-dto-swagger.utility.js.map +1 -1
  168. package/dist/cjs/utility/api/filter-order-by-from-entity.utility.js +1 -1
  169. package/dist/cjs/utility/api/filter-order-by-from-entity.utility.js.map +1 -1
  170. package/dist/cjs/utility/dto/build-decorator.utility.js +1 -0
  171. package/dist/cjs/utility/dto/build-decorator.utility.js.map +1 -1
  172. package/dist/cjs/utility/dto/generate-dynamic.utility.js +1 -3
  173. package/dist/cjs/utility/dto/generate-dynamic.utility.js.map +1 -1
  174. package/dist/cjs/utility/dto/generate-exception.utility.js +1 -0
  175. package/dist/cjs/utility/dto/generate-exception.utility.js.map +1 -1
  176. package/dist/cjs/utility/dto/generate-filter-decorator.utility.js +1 -0
  177. package/dist/cjs/utility/dto/generate-filter-decorator.utility.js.map +1 -1
  178. package/dist/cjs/utility/dto/generate-get-list-response.utility.js +1 -0
  179. package/dist/cjs/utility/dto/generate-get-list-response.utility.js.map +1 -1
  180. package/dist/cjs/utility/dto/generate.utility.js +4 -18
  181. package/dist/cjs/utility/dto/generate.utility.js.map +1 -1
  182. package/dist/cjs/utility/dto/get-get-list-query-base-class.utility.js +1 -0
  183. package/dist/cjs/utility/dto/get-get-list-query-base-class.utility.js.map +1 -1
  184. package/dist/cjs/utility/dto/handle-date-property.utility.js +1 -0
  185. package/dist/cjs/utility/dto/handle-date-property.utility.js.map +1 -1
  186. package/dist/cjs/utility/dto/is-property-should-be-marked.utility.js +1 -0
  187. package/dist/cjs/utility/dto/is-property-should-be-marked.utility.js.map +1 -1
  188. package/dist/cjs/utility/dto/is-should-be-generated.utility.js +1 -0
  189. package/dist/cjs/utility/dto/is-should-be-generated.utility.js.map +1 -1
  190. package/dist/cjs/utility/logger.utility.js +3 -2
  191. package/dist/cjs/utility/logger.utility.js.map +1 -1
  192. package/dist/cjs/validator/all-or-none-of-listed-properties.validator.js +0 -1
  193. package/dist/cjs/validator/all-or-none-of-listed-properties.validator.js.map +1 -1
  194. package/dist/cjs/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js +0 -1
  195. package/dist/cjs/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js.map +1 -1
  196. package/dist/cjs/validator/has-at-least-one-of-listed-properties.validator.js +0 -1
  197. package/dist/cjs/validator/has-at-least-one-of-listed-properties.validator.js.map +1 -1
  198. package/dist/cjs/validator/has-at-least-one-property.validator.js +0 -1
  199. package/dist/cjs/validator/has-at-least-one-property.validator.js.map +1 -1
  200. package/dist/cjs/validator/has-paired-custom-suffixes-fields.validator.js +0 -1
  201. package/dist/cjs/validator/has-paired-custom-suffixes-fields.validator.js.map +1 -1
  202. package/dist/cjs/validator/must-match-one-of-schemas.validator.js +0 -1
  203. package/dist/cjs/validator/must-match-one-of-schemas.validator.js.map +1 -1
  204. package/dist/cjs/validator/only-one-of-listed-properties.validator.js +0 -1
  205. package/dist/cjs/validator/only-one-of-listed-properties.validator.js.map +1 -1
  206. package/dist/esm/class/api/index.d.ts +2 -1
  207. package/dist/esm/class/api/subscriber/base.class.d.ts +3 -0
  208. package/dist/esm/class/api/subscriber/base.class.js +5 -0
  209. package/dist/esm/class/api/subscriber/base.class.js.map +1 -0
  210. package/dist/esm/class/api/subscriber/discovery-service.class.d.ts +9 -0
  211. package/dist/esm/class/api/subscriber/discovery-service.class.js +46 -0
  212. package/dist/esm/class/api/subscriber/discovery-service.class.js.map +1 -0
  213. package/dist/esm/class/api/subscriber/executor.class.d.ts +10 -0
  214. package/dist/esm/class/api/subscriber/executor.class.js +50 -0
  215. package/dist/esm/class/api/subscriber/executor.class.js.map +1 -0
  216. package/dist/esm/class/api/subscriber/function-base.class.d.ts +5 -0
  217. package/dist/esm/class/api/subscriber/function-base.class.js +7 -0
  218. package/dist/esm/class/api/subscriber/function-base.class.js.map +1 -0
  219. package/dist/esm/class/api/subscriber/index.d.ts +6 -0
  220. package/dist/esm/class/api/subscriber/registry.class.d.ts +15 -0
  221. package/dist/esm/class/api/subscriber/registry.class.js +55 -0
  222. package/dist/esm/class/api/subscriber/registry.class.js.map +1 -0
  223. package/dist/esm/class/api/subscriber/route-base.class.d.ts +5 -0
  224. package/dist/esm/class/api/subscriber/route-base.class.js +7 -0
  225. package/dist/esm/class/api/subscriber/route-base.class.js.map +1 -0
  226. package/dist/esm/class/metadata-storage.class.js +1 -2
  227. package/dist/esm/class/metadata-storage.class.js.map +1 -1
  228. package/dist/esm/class/utility/dto/property/factory/number.class.js +1 -0
  229. package/dist/esm/class/utility/dto/property/factory/number.class.js.map +1 -1
  230. package/dist/esm/class/utility/dto/property/factory/relation.class.js +1 -0
  231. package/dist/esm/class/utility/dto/property/factory/relation.class.js.map +1 -1
  232. package/dist/esm/class/utility/dto/strategy/body.class.js +1 -0
  233. package/dist/esm/class/utility/dto/strategy/body.class.js.map +1 -1
  234. package/dist/esm/class/utility/dto/strategy/query.class.js +1 -0
  235. package/dist/esm/class/utility/dto/strategy/query.class.js.map +1 -1
  236. package/dist/esm/class/utility/dto/strategy/request.class.js +1 -0
  237. package/dist/esm/class/utility/dto/strategy/request.class.js.map +1 -1
  238. package/dist/esm/class/utility/dto/strategy/response.class.js +1 -0
  239. package/dist/esm/class/utility/dto/strategy/response.class.js.map +1 -1
  240. package/dist/esm/constant/decorator/api/controller.constant.d.ts +1 -0
  241. package/dist/esm/constant/decorator/api/controller.constant.js +2 -0
  242. package/dist/esm/constant/decorator/api/controller.constant.js.map +1 -1
  243. package/dist/esm/constant/decorator/api/property-describe.constant.d.ts +1 -1
  244. package/dist/esm/constant/decorator/api/property-describe.constant.js +2 -2
  245. package/dist/esm/constant/decorator/api/property-describe.constant.js.map +1 -1
  246. package/dist/esm/constant/decorator/api/service.constant.d.ts +3 -0
  247. package/dist/esm/constant/decorator/api/service.constant.js +7 -0
  248. package/dist/esm/constant/decorator/api/service.constant.js.map +1 -0
  249. package/dist/esm/constant/decorator/api/subscriber.constant.d.ts +4 -0
  250. package/dist/esm/constant/decorator/api/subscriber.constant.js +9 -0
  251. package/dist/esm/constant/decorator/api/subscriber.constant.js.map +1 -0
  252. package/dist/esm/constant/utility/dto/constant.js +1 -0
  253. package/dist/esm/constant/utility/dto/constant.js.map +1 -1
  254. package/dist/esm/constant/validator/has-paired-custom-suffixes-fields.constant.js +0 -1
  255. package/dist/esm/constant/validator/has-paired-custom-suffixes-fields.constant.js.map +1 -1
  256. package/dist/esm/decorator/api/controller/index.d.ts +1 -0
  257. package/dist/esm/decorator/api/controller/observable.decorator.d.ts +4 -0
  258. package/dist/esm/decorator/api/controller/observable.decorator.js +13 -0
  259. package/dist/esm/decorator/api/controller/observable.decorator.js.map +1 -0
  260. package/dist/esm/decorator/api/function/create.decorator.d.ts +2 -2
  261. package/dist/esm/decorator/api/function/create.decorator.js +45 -8
  262. package/dist/esm/decorator/api/function/create.decorator.js.map +1 -1
  263. package/dist/esm/decorator/api/function/decorator.js +1 -1
  264. package/dist/esm/decorator/api/function/decorator.js.map +1 -1
  265. package/dist/esm/decorator/api/function/delete.decorator.d.ts +5 -1
  266. package/dist/esm/decorator/api/function/delete.decorator.js +59 -7
  267. package/dist/esm/decorator/api/function/delete.decorator.js.map +1 -1
  268. package/dist/esm/decorator/api/function/get-list.decorator.d.ts +5 -1
  269. package/dist/esm/decorator/api/function/get-list.decorator.js +56 -10
  270. package/dist/esm/decorator/api/function/get-list.decorator.js.map +1 -1
  271. package/dist/esm/decorator/api/function/get-many.decorator.d.ts +5 -1
  272. package/dist/esm/decorator/api/function/get-many.decorator.js +53 -5
  273. package/dist/esm/decorator/api/function/get-many.decorator.js.map +1 -1
  274. package/dist/esm/decorator/api/function/get.decorator.d.ts +5 -1
  275. package/dist/esm/decorator/api/function/get.decorator.js +53 -5
  276. package/dist/esm/decorator/api/function/get.decorator.js.map +1 -1
  277. package/dist/esm/decorator/api/function/update.decorator.d.ts +5 -1
  278. package/dist/esm/decorator/api/function/update.decorator.js +60 -11
  279. package/dist/esm/decorator/api/function/update.decorator.js.map +1 -1
  280. package/dist/esm/decorator/api/index.d.ts +6 -3
  281. package/dist/esm/decorator/api/method.decorator.js +1 -0
  282. package/dist/esm/decorator/api/method.decorator.js.map +1 -1
  283. package/dist/esm/decorator/api/property/boolean.decorator.js +1 -2
  284. package/dist/esm/decorator/api/property/boolean.decorator.js.map +1 -1
  285. package/dist/esm/decorator/api/property/copy.decorator.js +1 -1
  286. package/dist/esm/decorator/api/property/copy.decorator.js.map +1 -1
  287. package/dist/esm/decorator/api/property/date.decorator.js +1 -2
  288. package/dist/esm/decorator/api/property/date.decorator.js.map +1 -1
  289. package/dist/esm/decorator/api/property/describe.decorator.js +1 -1
  290. package/dist/esm/decorator/api/property/describe.decorator.js.map +1 -1
  291. package/dist/esm/decorator/api/property/enum.decorator.js +0 -2
  292. package/dist/esm/decorator/api/property/enum.decorator.js.map +1 -1
  293. package/dist/esm/decorator/api/property/number.decorator.js +1 -4
  294. package/dist/esm/decorator/api/property/number.decorator.js.map +1 -1
  295. package/dist/esm/decorator/api/property/object.decorator.js +0 -4
  296. package/dist/esm/decorator/api/property/object.decorator.js.map +1 -1
  297. package/dist/esm/decorator/api/property/string.decorator.js +4 -21
  298. package/dist/esm/decorator/api/property/string.decorator.js.map +1 -1
  299. package/dist/esm/decorator/api/property/uuid.decorator.js +1 -2
  300. package/dist/esm/decorator/api/property/uuid.decorator.js.map +1 -1
  301. package/dist/esm/decorator/api/service/index.d.ts +1 -0
  302. package/dist/esm/decorator/api/service/observable.decorator.d.ts +4 -0
  303. package/dist/esm/decorator/api/service/observable.decorator.js +13 -0
  304. package/dist/esm/decorator/api/service/observable.decorator.js.map +1 -0
  305. package/dist/esm/decorator/api/service.decorator.js +3 -37
  306. package/dist/esm/decorator/api/service.decorator.js.map +1 -1
  307. package/dist/esm/decorator/api/subscriber/function.decorator.d.ts +9 -0
  308. package/dist/esm/decorator/api/subscriber/function.decorator.js +16 -0
  309. package/dist/esm/decorator/api/subscriber/function.decorator.js.map +1 -0
  310. package/dist/esm/decorator/api/subscriber/index.d.ts +2 -0
  311. package/dist/esm/decorator/api/subscriber/route.decorator.d.ts +9 -0
  312. package/dist/esm/decorator/api/subscriber/route.decorator.js +16 -0
  313. package/dist/esm/decorator/api/subscriber/route.decorator.js.map +1 -0
  314. package/dist/esm/enum/decorator/api/index.d.ts +5 -4
  315. package/dist/esm/enum/decorator/api/on-type.enum.d.ts +6 -0
  316. package/dist/esm/enum/decorator/api/on-type.enum.js +10 -0
  317. package/dist/esm/enum/decorator/api/on-type.enum.js.map +1 -0
  318. package/dist/esm/external/@elsikora/cladi/dist/esm/domain/enum/logger-log-level.enum.js +14 -0
  319. package/dist/esm/external/@elsikora/cladi/dist/esm/domain/enum/logger-log-level.enum.js.map +1 -0
  320. package/dist/esm/external/@elsikora/cladi/dist/esm/infrastructure/class/base/error.class.js +29 -0
  321. package/dist/esm/external/@elsikora/cladi/dist/esm/infrastructure/class/base/error.class.js.map +1 -0
  322. package/dist/esm/external/@elsikora/cladi/dist/esm/infrastructure/class/base/registry.class.js +220 -0
  323. package/dist/esm/external/@elsikora/cladi/dist/esm/infrastructure/class/base/registry.class.js.map +1 -0
  324. package/dist/esm/external/@elsikora/cladi/dist/esm/infrastructure/constant/console-logger-default-options.constant.js +9 -0
  325. package/dist/esm/external/@elsikora/cladi/dist/esm/infrastructure/constant/console-logger-default-options.constant.js.map +1 -0
  326. package/dist/esm/external/@elsikora/cladi/dist/esm/infrastructure/service/console-logger.service.js +129 -0
  327. package/dist/esm/external/@elsikora/cladi/dist/esm/infrastructure/service/console-logger.service.js.map +1 -0
  328. package/dist/esm/external/@elsikora/cladi/dist/esm/presentation/utility/create/registry.utility.js +17 -0
  329. package/dist/esm/external/@elsikora/cladi/dist/esm/presentation/utility/create/registry.utility.js.map +1 -0
  330. package/dist/esm/factory/api/controller.factory.d.ts +2 -1
  331. package/dist/esm/factory/api/controller.factory.js +299 -105
  332. package/dist/esm/factory/api/controller.factory.js.map +1 -1
  333. package/dist/esm/index.d.ts +1 -0
  334. package/dist/esm/index.js +12 -0
  335. package/dist/esm/index.js.map +1 -1
  336. package/dist/esm/interface/class/api/subscriber/execution-context.interface.d.ts +15 -0
  337. package/dist/esm/interface/class/api/subscriber/function-execution-context.interface.d.ts +6 -0
  338. package/dist/esm/interface/class/api/subscriber/function.interface.d.ts +31 -0
  339. package/dist/esm/interface/class/api/subscriber/interface.d.ts +2 -0
  340. package/dist/esm/interface/class/api/subscriber/route-execution-context.interface.d.ts +6 -0
  341. package/dist/esm/interface/class/api/subscriber/route.interface.d.ts +39 -0
  342. package/dist/esm/interface/decorator/api/function/create-executor-properties.interface.d.ts +2 -1
  343. package/dist/esm/interface/decorator/api/function/delete-executor-properties.interface.d.ts +5 -4
  344. package/dist/esm/interface/decorator/api/function/get-executor-properties.interface.d.ts +2 -1
  345. package/dist/esm/interface/decorator/api/function/get-list-executor-properties.interface.d.ts +2 -1
  346. package/dist/esm/interface/decorator/api/function/get-many-executor-properties.interface.d.ts +2 -1
  347. package/dist/esm/interface/decorator/api/function/properties.interface.d.ts +2 -2
  348. package/dist/esm/interface/decorator/api/function/update-executor-properties.interface.d.ts +5 -4
  349. package/dist/esm/interface/decorator/api/index.d.ts +6 -5
  350. package/dist/esm/interface/decorator/api/subscriber/function-properties.interface.d.ts +5 -0
  351. package/dist/esm/interface/decorator/api/subscriber/index.d.ts +2 -0
  352. package/dist/esm/interface/decorator/api/subscriber/route-properties.interface.d.ts +5 -0
  353. package/dist/esm/module/api-subscriber.module.d.ts +2 -0
  354. package/dist/esm/module/api-subscriber.module.js +17 -0
  355. package/dist/esm/module/api-subscriber.module.js.map +1 -0
  356. package/dist/esm/module/index.d.ts +1 -0
  357. package/dist/esm/package.json +1 -0
  358. package/dist/esm/utility/api/controller/apply-decorators.utility.js +1 -0
  359. package/dist/esm/utility/api/controller/apply-decorators.utility.js.map +1 -1
  360. package/dist/esm/utility/api/controller/apply-metadata.utility.js +1 -0
  361. package/dist/esm/utility/api/controller/apply-metadata.utility.js.map +1 -1
  362. package/dist/esm/utility/api/controller/get-list/transform-filter.utility.js +1 -0
  363. package/dist/esm/utility/api/controller/get-list/transform-filter.utility.js.map +1 -1
  364. package/dist/esm/utility/api/controller/get-list/transform-operation.utility.d.ts +5 -0
  365. package/dist/esm/utility/api/controller/get-list/transform-operation.utility.js +5 -1
  366. package/dist/esm/utility/api/controller/get-list/transform-operation.utility.js.map +1 -1
  367. package/dist/esm/utility/api/controller/handle-request-relations.utility.js +4 -0
  368. package/dist/esm/utility/api/controller/handle-request-relations.utility.js.map +1 -1
  369. package/dist/esm/utility/api/controller/transform-data.utility.js +1 -0
  370. package/dist/esm/utility/api/controller/transform-data.utility.js.map +1 -1
  371. package/dist/esm/utility/api/controller/write-dto-swagger.utility.js +2 -4
  372. package/dist/esm/utility/api/controller/write-dto-swagger.utility.js.map +1 -1
  373. package/dist/esm/utility/api/filter-order-by-from-entity.utility.js +1 -1
  374. package/dist/esm/utility/api/filter-order-by-from-entity.utility.js.map +1 -1
  375. package/dist/esm/utility/dto/build-decorator.utility.js +1 -0
  376. package/dist/esm/utility/dto/build-decorator.utility.js.map +1 -1
  377. package/dist/esm/utility/dto/generate-dynamic.utility.js +1 -3
  378. package/dist/esm/utility/dto/generate-dynamic.utility.js.map +1 -1
  379. package/dist/esm/utility/dto/generate-exception.utility.js +1 -0
  380. package/dist/esm/utility/dto/generate-exception.utility.js.map +1 -1
  381. package/dist/esm/utility/dto/generate-filter-decorator.utility.js +1 -0
  382. package/dist/esm/utility/dto/generate-filter-decorator.utility.js.map +1 -1
  383. package/dist/esm/utility/dto/generate-get-list-response.utility.js +1 -0
  384. package/dist/esm/utility/dto/generate-get-list-response.utility.js.map +1 -1
  385. package/dist/esm/utility/dto/generate.utility.js +4 -18
  386. package/dist/esm/utility/dto/generate.utility.js.map +1 -1
  387. package/dist/esm/utility/dto/get-get-list-query-base-class.utility.js +1 -0
  388. package/dist/esm/utility/dto/get-get-list-query-base-class.utility.js.map +1 -1
  389. package/dist/esm/utility/dto/handle-date-property.utility.js +1 -0
  390. package/dist/esm/utility/dto/handle-date-property.utility.js.map +1 -1
  391. package/dist/esm/utility/dto/is-property-should-be-marked.utility.js +1 -0
  392. package/dist/esm/utility/dto/is-property-should-be-marked.utility.js.map +1 -1
  393. package/dist/esm/utility/dto/is-should-be-generated.utility.js +1 -0
  394. package/dist/esm/utility/dto/is-should-be-generated.utility.js.map +1 -1
  395. package/dist/esm/utility/logger.utility.js +3 -2
  396. package/dist/esm/utility/logger.utility.js.map +1 -1
  397. package/dist/esm/validator/all-or-none-of-listed-properties.validator.js +0 -1
  398. package/dist/esm/validator/all-or-none-of-listed-properties.validator.js.map +1 -1
  399. package/dist/esm/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js +0 -1
  400. package/dist/esm/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js.map +1 -1
  401. package/dist/esm/validator/has-at-least-one-of-listed-properties.validator.js +0 -1
  402. package/dist/esm/validator/has-at-least-one-of-listed-properties.validator.js.map +1 -1
  403. package/dist/esm/validator/has-at-least-one-property.validator.js +0 -1
  404. package/dist/esm/validator/has-at-least-one-property.validator.js.map +1 -1
  405. package/dist/esm/validator/has-paired-custom-suffixes-fields.validator.js +0 -1
  406. package/dist/esm/validator/has-paired-custom-suffixes-fields.validator.js.map +1 -1
  407. package/dist/esm/validator/must-match-one-of-schemas.validator.js +0 -1
  408. package/dist/esm/validator/must-match-one-of-schemas.validator.js.map +1 -1
  409. package/dist/esm/validator/only-one-of-listed-properties.validator.js +0 -1
  410. package/dist/esm/validator/only-one-of-listed-properties.validator.js.map +1 -1
  411. package/package.json +21 -18
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var executor_class = require('../../class/api/subscriber/executor.class.js');
3
4
  var controller_constant = require('../../constant/decorator/api/controller.constant.js');
4
5
  var function_constant = require('../../constant/decorator/api/function.constant.js');
5
6
  require('../../enum/decorator/api/action.enum.js');
@@ -8,6 +9,7 @@ require('../../enum/decorator/api/controller/load-relations-strategy.enum.js');
8
9
  require('../../enum/decorator/api/controller/request-transformer-type.enum.js');
9
10
  var dtoType_enum = require('../../enum/decorator/api/dto-type.enum.js');
10
11
  require('../../enum/decorator/api/function/type.enum.js');
12
+ var onType_enum = require('../../enum/decorator/api/on-type.enum.js');
11
13
  require('../../enum/decorator/api/property/data-type.enum.js');
12
14
  require('../../enum/decorator/api/property/date/identifier.enum.js');
13
15
  require('../../enum/decorator/api/property/date/type.enum.js');
@@ -91,137 +93,329 @@ class ApiControllerFactory {
91
93
  }
92
94
  [routeType_enum.EApiRouteType.CREATE](method, methodName, properties, entityMetadata) {
93
95
  this.targetPrototype[methodName] = Object.defineProperty(async function (body, headers, ip, authenticationRequest) {
94
- const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(body, entityMetadata);
95
- if (!primaryKey) {
96
- throw errorException_utility.ErrorException("Primary key not found in entity columns");
97
- }
98
- transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body }, { authenticationRequest, headers, ip });
99
- await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, body);
100
- await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, body);
101
- const createResponse = await this.service.create(body);
102
- const dto = generate_utility.DtoGenerate(properties.entity, entityMetadata, method, dtoType_enum.EApiDtoType.RESPONSE, properties.routes[method]?.autoDto?.[dtoType_enum.EApiDtoType.RESPONSE], properties.routes[method]?.authentication?.guard);
103
- const requestProperties = {
104
- relations: properties.routes[method]?.response?.relations,
105
- where: {
106
- [primaryKey.key]: createResponse[primaryKey.key],
107
- },
96
+ const entityInstance = new properties.entity();
97
+ const beforeExecutionContext = {
98
+ data: { entityMetadata, method, methodName, properties },
99
+ entity: entityInstance,
100
+ result: { authenticationRequest, body, headers, ip },
101
+ routeType: routeType_enum.EApiRouteType.CREATE,
108
102
  };
109
- const response = await this.service.get(requestProperties);
110
- transformData_utility.ApiControllerTransformData(properties.routes[method]?.response?.transformers, properties, { response }, { authenticationRequest, headers, ip });
111
- return classTransformer.plainToInstance(dto, response, {
112
- // eslint-disable-next-line @elsikora/typescript/naming-convention
113
- excludeExtraneousValues: true,
114
- strategy: "excludeAll",
115
- });
103
+ const beforeResult = await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.CREATE, onType_enum.EApiSubscriberOnType.BEFORE, beforeExecutionContext);
104
+ if (beforeResult) {
105
+ body = beforeResult.body;
106
+ headers = beforeResult.headers;
107
+ ip = beforeResult.ip;
108
+ authenticationRequest = beforeResult.authenticationRequest;
109
+ }
110
+ try {
111
+ const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(body, entityMetadata);
112
+ if (!primaryKey) {
113
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.CREATE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, { ...beforeExecutionContext, result: undefined }, new Error("Primary key not found in entity columns"));
114
+ throw errorException_utility.ErrorException("Primary key not found in entity columns");
115
+ }
116
+ transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body }, { authenticationRequest, headers, ip });
117
+ await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, body);
118
+ await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, body);
119
+ const createResponse = await this.service.create(body);
120
+ const dto = generate_utility.DtoGenerate(properties.entity, entityMetadata, method, dtoType_enum.EApiDtoType.RESPONSE, properties.routes[method]?.autoDto?.[dtoType_enum.EApiDtoType.RESPONSE], properties.routes[method]?.authentication?.guard);
121
+ const requestProperties = {
122
+ relations: properties.routes[method]?.response?.relations,
123
+ where: { [primaryKey.key]: createResponse[primaryKey.key] },
124
+ };
125
+ const response = await this.service.get(requestProperties);
126
+ transformData_utility.ApiControllerTransformData(properties.routes[method]?.response?.transformers, properties, { response }, { authenticationRequest, headers, ip });
127
+ const afterExecutionContext = {
128
+ data: { ...beforeExecutionContext.data, authenticationRequest, body, headers, ip },
129
+ entity: response,
130
+ result: response,
131
+ routeType: routeType_enum.EApiRouteType.CREATE,
132
+ };
133
+ const afterResult = await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, response, routeType_enum.EApiRouteType.CREATE, onType_enum.EApiSubscriberOnType.AFTER, afterExecutionContext);
134
+ const finalResponse = afterResult ?? response;
135
+ return classTransformer.plainToInstance(dto, finalResponse, {
136
+ excludeExtraneousValues: true,
137
+ strategy: "excludeAll",
138
+ });
139
+ }
140
+ catch (error) {
141
+ const errorExecutionContext = {
142
+ data: { ...beforeExecutionContext.data, authenticationRequest, body, headers, ip },
143
+ entity: entityInstance,
144
+ routeType: routeType_enum.EApiRouteType.CREATE,
145
+ };
146
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.CREATE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
147
+ throw error;
148
+ }
116
149
  }, "name", { value: methodName });
117
150
  }
118
151
  [routeType_enum.EApiRouteType.DELETE](method, methodName, properties, entityMetadata) {
119
152
  this.targetPrototype[methodName] = Object.defineProperty(async function (parameters, headers, ip, authenticationRequest) {
120
- const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
121
- if (!primaryKey) {
122
- throw errorException_utility.ErrorException("Primary key not found in entity columns");
123
- }
124
- transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { parameters }, { authenticationRequest, headers, ip });
125
- await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
126
- await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
127
- const requestCriteria = {
128
- [primaryKey.key]: primaryKey.value,
153
+ const entityInstance = new properties.entity();
154
+ const beforeExecutionContext = {
155
+ data: { entityMetadata, method, methodName, properties },
156
+ entity: entityInstance,
157
+ result: { authenticationRequest, headers, ip, parameters },
158
+ routeType: routeType_enum.EApiRouteType.DELETE,
129
159
  };
130
- await this.service.delete(requestCriteria);
160
+ const beforeResult = await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.DELETE, onType_enum.EApiSubscriberOnType.BEFORE, beforeExecutionContext);
161
+ if (beforeResult) {
162
+ parameters = beforeResult.parameters;
163
+ headers = beforeResult.headers;
164
+ ip = beforeResult.ip;
165
+ authenticationRequest = beforeResult.authenticationRequest;
166
+ }
167
+ try {
168
+ const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
169
+ if (!primaryKey) {
170
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.DELETE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, { ...beforeExecutionContext, result: undefined }, new Error("Primary key not found in entity columns"));
171
+ throw errorException_utility.ErrorException("Primary key not found in entity columns");
172
+ }
173
+ transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { parameters }, { authenticationRequest, headers, ip });
174
+ await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
175
+ await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
176
+ const requestCriteria = {
177
+ [primaryKey.key]: primaryKey.value,
178
+ };
179
+ await this.service.delete(requestCriteria);
180
+ const afterExecutionContext = {
181
+ data: { ...beforeExecutionContext.data, authenticationRequest, headers, ip, parameters },
182
+ entity: entityInstance,
183
+ result: parameters,
184
+ routeType: routeType_enum.EApiRouteType.DELETE,
185
+ };
186
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.DELETE, onType_enum.EApiSubscriberOnType.AFTER, afterExecutionContext);
187
+ }
188
+ catch (error) {
189
+ const errorExecutionContext = {
190
+ data: { ...beforeExecutionContext.data, authenticationRequest, headers, ip, parameters },
191
+ entity: entityInstance,
192
+ routeType: routeType_enum.EApiRouteType.DELETE,
193
+ };
194
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.DELETE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
195
+ throw error;
196
+ }
131
197
  }, "name", { value: methodName });
132
198
  }
133
199
  [routeType_enum.EApiRouteType.GET](method, methodName, properties, entityMetadata) {
134
200
  this.targetPrototype[methodName] = Object.defineProperty(async function (parameters, headers, ip, authenticationRequest) {
135
- const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
136
- if (!primaryKey) {
137
- throw errorException_utility.ErrorException("Primary key not found in entity columns");
138
- }
139
- transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { parameters }, { authenticationRequest, headers, ip });
140
- await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
141
- await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
142
- const requestProperties = {
143
- relations: properties.routes[method]?.response?.relations,
144
- where: {
145
- [primaryKey.key]: primaryKey.value,
146
- },
201
+ const entityInstance = new properties.entity();
202
+ const beforeExecutionContext = {
203
+ data: { entityMetadata, method, methodName, properties },
204
+ entity: entityInstance,
205
+ result: { authenticationRequest, headers, ip, parameters },
206
+ routeType: routeType_enum.EApiRouteType.GET,
147
207
  };
148
- const response = await this.service.get(requestProperties);
149
- transformData_utility.ApiControllerTransformData(properties.routes[method]?.response?.transformers, properties, { response }, { authenticationRequest, headers, ip });
150
- const dto = generate_utility.DtoGenerate(properties.entity, entityMetadata, method, dtoType_enum.EApiDtoType.RESPONSE, properties.routes[method]?.autoDto?.[dtoType_enum.EApiDtoType.RESPONSE], properties.routes[method]?.authentication?.guard);
151
- return classTransformer.plainToInstance(dto, response, {
152
- // eslint-disable-next-line @elsikora/typescript/naming-convention
153
- excludeExtraneousValues: true,
154
- });
208
+ const beforeResult = await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET, onType_enum.EApiSubscriberOnType.BEFORE, beforeExecutionContext);
209
+ if (beforeResult) {
210
+ parameters = beforeResult.parameters;
211
+ headers = beforeResult.headers;
212
+ ip = beforeResult.ip;
213
+ authenticationRequest = beforeResult.authenticationRequest;
214
+ }
215
+ try {
216
+ const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
217
+ if (!primaryKey) {
218
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, { ...beforeExecutionContext, result: undefined }, new Error("Primary key not found in entity columns"));
219
+ throw errorException_utility.ErrorException("Primary key not found in entity columns");
220
+ }
221
+ transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { parameters }, { authenticationRequest, headers, ip });
222
+ await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
223
+ await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
224
+ const requestProperties = {
225
+ relations: properties.routes[method]?.response?.relations,
226
+ where: { [primaryKey.key]: primaryKey.value },
227
+ };
228
+ const response = await this.service.get(requestProperties);
229
+ transformData_utility.ApiControllerTransformData(properties.routes[method]?.response?.transformers, properties, { response }, { authenticationRequest, headers, ip });
230
+ const afterExecutionContext = {
231
+ data: { ...beforeExecutionContext.data, authenticationRequest, headers, ip, parameters },
232
+ entity: response,
233
+ result: response,
234
+ routeType: routeType_enum.EApiRouteType.GET,
235
+ };
236
+ const afterResult = await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, response, routeType_enum.EApiRouteType.GET, onType_enum.EApiSubscriberOnType.AFTER, afterExecutionContext);
237
+ const finalResponse = afterResult ?? response;
238
+ const dto = generate_utility.DtoGenerate(properties.entity, entityMetadata, method, dtoType_enum.EApiDtoType.RESPONSE, properties.routes[method]?.autoDto?.[dtoType_enum.EApiDtoType.RESPONSE], properties.routes[method]?.authentication?.guard);
239
+ return classTransformer.plainToInstance(dto, finalResponse, {
240
+ excludeExtraneousValues: true,
241
+ });
242
+ }
243
+ catch (error) {
244
+ const errorExecutionContext = {
245
+ data: { ...beforeExecutionContext.data, authenticationRequest, headers, ip, parameters },
246
+ entity: entityInstance,
247
+ routeType: routeType_enum.EApiRouteType.GET,
248
+ };
249
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
250
+ throw error;
251
+ }
155
252
  }, "name", { value: methodName });
156
253
  }
157
254
  [routeType_enum.EApiRouteType.GET_LIST](method, methodName, properties, entityMetadata) {
158
255
  this.targetPrototype[methodName] = Object.defineProperty(async function (query, headers, ip, authenticationRequest) {
159
- transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { query }, { authenticationRequest, headers, ip });
160
- await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, query);
161
- await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, query);
162
- const { limit, orderBy, orderDirection, page, ...getListQuery } = query;
163
- const filter = transformFilter_utility.ApiControllerGetListTransformFilter(getListQuery, entityMetadata);
164
- const requestProperties = {
165
- relations: properties.routes[method]?.response?.relations,
166
- skip: query.limit * (query.page - 1),
167
- take: query.limit,
168
- where: filter,
256
+ const entityInstance = new properties.entity();
257
+ const beforeExecutionContext = {
258
+ data: { entityMetadata, method, methodName, properties },
259
+ entity: entityInstance,
260
+ result: { authenticationRequest, headers, ip, query },
261
+ routeType: routeType_enum.EApiRouteType.GET_LIST,
169
262
  };
170
- if (orderBy) {
171
- requestProperties.order = {
172
- [orderBy]: orderDirection ?? function_constant.FUNCTION_API_DECORATOR_CONSTANT.DEFAULT_FILTER_ORDER_BY_DIRECTION,
173
- };
174
- }
175
- const response = await this.service.getList(requestProperties);
176
- transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { response }, { authenticationRequest, headers, ip });
177
- const dto = generate_utility.DtoGenerate(properties.entity, entityMetadata, method, dtoType_enum.EApiDtoType.RESPONSE, properties.routes[method]?.autoDto?.[dtoType_enum.EApiDtoType.RESPONSE], properties.routes[method]?.authentication?.guard);
178
- return classTransformer.plainToInstance(dto, response, {
179
- // eslint-disable-next-line @elsikora/typescript/naming-convention
180
- excludeExtraneousValues: true,
181
- });
263
+ const beforeResult = await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET_LIST, onType_enum.EApiSubscriberOnType.BEFORE, beforeExecutionContext);
264
+ if (beforeResult) {
265
+ query = beforeResult.query;
266
+ headers = beforeResult.headers;
267
+ ip = beforeResult.ip;
268
+ authenticationRequest = beforeResult.authenticationRequest;
269
+ }
270
+ try {
271
+ transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { query }, { authenticationRequest, headers, ip });
272
+ await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, query);
273
+ await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, query);
274
+ const { limit, orderBy, orderDirection, page, ...getListQuery } = query;
275
+ const filter = transformFilter_utility.ApiControllerGetListTransformFilter(getListQuery, entityMetadata);
276
+ const requestProperties = {
277
+ relations: properties.routes[method]?.response?.relations,
278
+ skip: query.limit * (query.page - 1),
279
+ take: query.limit,
280
+ where: filter,
281
+ };
282
+ if (orderBy) {
283
+ requestProperties.order = { [orderBy]: orderDirection ?? function_constant.FUNCTION_API_DECORATOR_CONSTANT.DEFAULT_FILTER_ORDER_BY_DIRECTION };
284
+ }
285
+ const response = await this.service.getList(requestProperties);
286
+ transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { response }, { authenticationRequest, headers, ip });
287
+ const afterExecutionContext = {
288
+ data: { ...beforeExecutionContext.data, authenticationRequest, headers, ip, query },
289
+ entity: entityInstance,
290
+ result: response,
291
+ routeType: routeType_enum.EApiRouteType.GET_LIST,
292
+ };
293
+ const afterResult = await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET_LIST, onType_enum.EApiSubscriberOnType.AFTER, afterExecutionContext);
294
+ const finalResponse = afterResult ?? response;
295
+ const dto = generate_utility.DtoGenerate(properties.entity, entityMetadata, method, dtoType_enum.EApiDtoType.RESPONSE, properties.routes[method]?.autoDto?.[dtoType_enum.EApiDtoType.RESPONSE], properties.routes[method]?.authentication?.guard);
296
+ return classTransformer.plainToInstance(dto, finalResponse, {
297
+ excludeExtraneousValues: true,
298
+ });
299
+ }
300
+ catch (error) {
301
+ const errorExecutionContext = {
302
+ data: { ...beforeExecutionContext.data, authenticationRequest, headers, ip, query },
303
+ entity: entityInstance,
304
+ routeType: routeType_enum.EApiRouteType.GET_LIST,
305
+ };
306
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.GET_LIST, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
307
+ throw error;
308
+ }
182
309
  }, "name", { value: methodName });
183
310
  }
184
311
  [routeType_enum.EApiRouteType.PARTIAL_UPDATE](method, methodName, properties, entityMetadata) {
185
312
  this.targetPrototype[methodName] = Object.defineProperty(async function (parameters, body, headers, ip, authenticationRequest) {
186
- const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
187
- if (!primaryKey) {
188
- throw errorException_utility.ErrorException("Primary key not found in entity columns");
189
- }
190
- transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body, parameters }, { authenticationRequest, headers, ip });
191
- await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
192
- await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
193
- const requestCriteria = {
194
- [primaryKey.key]: primaryKey.value,
313
+ const entityInstance = new properties.entity();
314
+ const beforeExecutionContext = {
315
+ data: { entityMetadata, method, methodName, properties },
316
+ entity: entityInstance,
317
+ result: { authenticationRequest, body, headers, ip, parameters },
318
+ routeType: routeType_enum.EApiRouteType.PARTIAL_UPDATE,
195
319
  };
196
- const response = await this.service.update(requestCriteria, body);
197
- transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { response }, { authenticationRequest, headers, ip });
198
- const dto = generate_utility.DtoGenerate(properties.entity, entityMetadata, method, dtoType_enum.EApiDtoType.RESPONSE, properties.routes[method]?.autoDto?.[dtoType_enum.EApiDtoType.RESPONSE], properties.routes[method]?.authentication?.guard);
199
- return classTransformer.plainToInstance(dto, response, {
200
- // eslint-disable-next-line @elsikora/typescript/naming-convention
201
- excludeExtraneousValues: true,
202
- });
320
+ const beforeResult = await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.PARTIAL_UPDATE, onType_enum.EApiSubscriberOnType.BEFORE, beforeExecutionContext);
321
+ if (beforeResult) {
322
+ parameters = beforeResult.parameters;
323
+ body = beforeResult.body;
324
+ headers = beforeResult.headers;
325
+ ip = beforeResult.ip;
326
+ authenticationRequest = beforeResult.authenticationRequest;
327
+ }
328
+ try {
329
+ const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
330
+ if (!primaryKey) {
331
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.PARTIAL_UPDATE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, { ...beforeExecutionContext, result: undefined }, new Error("Primary key not found in entity columns"));
332
+ throw errorException_utility.ErrorException("Primary key not found in entity columns");
333
+ }
334
+ transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body, parameters }, { authenticationRequest, headers, ip });
335
+ await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
336
+ await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
337
+ const requestCriteria = {
338
+ [primaryKey.key]: primaryKey.value,
339
+ };
340
+ const response = await this.service.update(requestCriteria, body);
341
+ transformData_utility.ApiControllerTransformData(properties.routes[method]?.response?.transformers, properties, { response }, { authenticationRequest, headers, ip });
342
+ const afterExecutionContext = {
343
+ data: { ...beforeExecutionContext.data, authenticationRequest, body, headers, ip, parameters },
344
+ entity: response,
345
+ result: response,
346
+ routeType: routeType_enum.EApiRouteType.PARTIAL_UPDATE,
347
+ };
348
+ const afterResult = await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, response, routeType_enum.EApiRouteType.PARTIAL_UPDATE, onType_enum.EApiSubscriberOnType.AFTER, afterExecutionContext);
349
+ const finalResponse = afterResult ?? response;
350
+ const dto = generate_utility.DtoGenerate(properties.entity, entityMetadata, method, dtoType_enum.EApiDtoType.RESPONSE, properties.routes[method]?.autoDto?.[dtoType_enum.EApiDtoType.RESPONSE], properties.routes[method]?.authentication?.guard);
351
+ return classTransformer.plainToInstance(dto, finalResponse, {
352
+ excludeExtraneousValues: true,
353
+ });
354
+ }
355
+ catch (error) {
356
+ const errorExecutionContext = {
357
+ data: { ...beforeExecutionContext.data, authenticationRequest, body, headers, ip, parameters },
358
+ entity: entityInstance,
359
+ routeType: routeType_enum.EApiRouteType.PARTIAL_UPDATE,
360
+ };
361
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.PARTIAL_UPDATE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
362
+ throw error;
363
+ }
203
364
  }, "name", { value: methodName });
204
365
  }
205
- // eslint-disable-next-line @elsikora/sonar/no-identical-functions
206
366
  [routeType_enum.EApiRouteType.UPDATE](method, methodName, properties, entityMetadata) {
207
367
  this.targetPrototype[methodName] = Object.defineProperty(async function (parameters, body, headers, ip, authenticationRequest) {
208
- const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
209
- if (!primaryKey) {
210
- throw errorException_utility.ErrorException("Primary key not found in entity columns");
211
- }
212
- transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body, parameters }, { authenticationRequest, headers, ip });
213
- await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
214
- await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
215
- const requestCriteria = {
216
- [primaryKey.key]: primaryKey.value,
368
+ const entityInstance = new properties.entity();
369
+ const beforeExecutionContext = {
370
+ data: { entityMetadata, method, methodName, properties },
371
+ entity: entityInstance,
372
+ result: { authenticationRequest, body, headers, ip, parameters },
373
+ routeType: routeType_enum.EApiRouteType.UPDATE,
217
374
  };
218
- const response = await this.service.update(requestCriteria, body);
219
- transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { response }, { authenticationRequest, headers, ip });
220
- const dto = generate_utility.DtoGenerate(properties.entity, entityMetadata, method, dtoType_enum.EApiDtoType.RESPONSE, properties.routes[method]?.autoDto?.[dtoType_enum.EApiDtoType.RESPONSE], properties.routes[method]?.authentication?.guard);
221
- return classTransformer.plainToInstance(dto, response, {
222
- // eslint-disable-next-line @elsikora/typescript/naming-convention
223
- excludeExtraneousValues: true,
224
- });
375
+ const beforeResult = await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.UPDATE, onType_enum.EApiSubscriberOnType.BEFORE, beforeExecutionContext);
376
+ if (beforeResult) {
377
+ parameters = beforeResult.parameters;
378
+ body = beforeResult.body;
379
+ headers = beforeResult.headers;
380
+ ip = beforeResult.ip;
381
+ authenticationRequest = beforeResult.authenticationRequest;
382
+ }
383
+ try {
384
+ const primaryKey = getPrimaryColumn_utility.ApiControllerGetPrimaryColumn(parameters, entityMetadata);
385
+ if (!primaryKey) {
386
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.UPDATE, onType_enum.EApiSubscriberOnType.BEFORE_ERROR, { ...beforeExecutionContext, result: undefined }, new Error("Primary key not found in entity columns"));
387
+ throw errorException_utility.ErrorException("Primary key not found in entity columns");
388
+ }
389
+ transformData_utility.ApiControllerTransformData(properties.routes[method]?.request?.transformers, properties, { body, parameters }, { authenticationRequest, headers, ip });
390
+ await validateRequest_utility.ApiControllerValidateRequest(properties.routes[method]?.request?.validators, properties, parameters);
391
+ await handleRequestRelations_utility.ApiControllerHandleRequestRelations(this, properties, properties.routes[method]?.request?.relations, parameters);
392
+ const requestCriteria = {
393
+ [primaryKey.key]: primaryKey.value,
394
+ };
395
+ const response = await this.service.update(requestCriteria, body);
396
+ transformData_utility.ApiControllerTransformData(properties.routes[method]?.response?.transformers, properties, { response }, { authenticationRequest, headers, ip });
397
+ const afterExecutionContext = {
398
+ data: { ...beforeExecutionContext.data, authenticationRequest, body, headers, ip, parameters },
399
+ entity: response,
400
+ result: response,
401
+ routeType: routeType_enum.EApiRouteType.UPDATE,
402
+ };
403
+ const afterResult = await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, response, routeType_enum.EApiRouteType.UPDATE, onType_enum.EApiSubscriberOnType.AFTER, afterExecutionContext);
404
+ const finalResponse = afterResult ?? response;
405
+ const dto = generate_utility.DtoGenerate(properties.entity, entityMetadata, method, dtoType_enum.EApiDtoType.RESPONSE, properties.routes[method]?.autoDto?.[dtoType_enum.EApiDtoType.RESPONSE], properties.routes[method]?.authentication?.guard);
406
+ return classTransformer.plainToInstance(dto, finalResponse, {
407
+ excludeExtraneousValues: true,
408
+ });
409
+ }
410
+ catch (error) {
411
+ const errorExecutionContext = {
412
+ data: { ...beforeExecutionContext.data, authenticationRequest, body, headers, ip, parameters },
413
+ entity: entityInstance,
414
+ routeType: routeType_enum.EApiRouteType.UPDATE,
415
+ };
416
+ await executor_class.ApiSubscriberExecutor.executeRouteSubscribers(this.constructor, entityInstance, routeType_enum.EApiRouteType.UPDATE, onType_enum.EApiSubscriberOnType.AFTER_ERROR, errorExecutionContext, error);
417
+ throw error;
418
+ }
225
419
  }, "name", { value: methodName });
226
420
  }
227
421
  }
@@ -1 +1 @@
1
- {"version":3,"file":"controller.factory.js","sources":["../../../../../src/factory/api/controller.factory.ts"],"sourcesContent":[null],"names":["GenerateEntityInformation","analyzeEntityMetadata","ErrorException","Controller","ApiTags","CONTROLLER_API_DECORATOR_CONSTANT","ApiControllerWriteMethod","ApiControllerApplyMetadata","ApiControllerApplyDecorators","ApiControllerWriteDtoSwagger","EApiRouteType","ApiControllerGetPrimaryColumn","ApiControllerTransformData","ApiControllerValidateRequest","ApiControllerHandleRequestRelations","DtoGenerate","EApiDtoType","plainToInstance","ApiControllerGetListTransformFilter","FUNCTION_API_DECORATOR_CONSTANT"],"mappings":"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"}
1
+ {"version":3,"file":"controller.factory.js","sources":["../../../../../src/factory/api/controller.factory.ts"],"sourcesContent":[null],"names":["GenerateEntityInformation","analyzeEntityMetadata","ErrorException","Controller","ApiTags","CONTROLLER_API_DECORATOR_CONSTANT","ApiControllerWriteMethod","ApiControllerApplyMetadata","ApiControllerApplyDecorators","ApiControllerWriteDtoSwagger","EApiRouteType","ApiSubscriberExecutor","EApiSubscriberOnType","ApiControllerGetPrimaryColumn","ApiControllerTransformData","ApiControllerValidateRequest","ApiControllerHandleRequestRelations","DtoGenerate","EApiDtoType","plainToInstance","ApiControllerGetListTransformFilter","FUNCTION_API_DECORATOR_CONSTANT"],"mappings":"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"}
@@ -5,6 +5,7 @@ export * from './enum/index';
5
5
  export * from './factory/api/index';
6
6
  export * from './interceptor/index';
7
7
  export type * from './interface/index';
8
+ export * from './module/index';
8
9
  export type * from './type/index';
9
10
  export * from './utility/index';
10
11
  export * from './validator/index';