@decaf-ts/for-nest 0.11.2 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/README.md +274 -2
  2. package/dist/for-nest.cjs +1 -1
  3. package/dist/for-nest.cjs.map +1 -1
  4. package/dist/for-nest.js +1 -1
  5. package/dist/for-nest.js.map +1 -1
  6. package/lib/cjs/auth/AuthInterceptor.cjs +93 -0
  7. package/lib/cjs/auth/AuthInterceptor.cjs.map +1 -0
  8. package/lib/cjs/auth/DecafAuthHandler.cjs +37 -0
  9. package/lib/cjs/auth/DecafAuthHandler.cjs.map +1 -0
  10. package/lib/cjs/auth/DecafAuthModule.cjs +50 -0
  11. package/lib/cjs/auth/DecafAuthModule.cjs.map +1 -0
  12. package/lib/cjs/auth/constants.cjs +10 -0
  13. package/lib/cjs/auth/constants.cjs.map +1 -0
  14. package/lib/cjs/auth/decorators.cjs +28 -0
  15. package/lib/cjs/auth/decorators.cjs.map +1 -0
  16. package/lib/cjs/{ram → auth}/index.cjs +6 -2
  17. package/lib/cjs/auth/index.cjs.map +1 -0
  18. package/lib/cjs/bin/cli.cjs +1 -1
  19. package/lib/cjs/bin/cli.cjs.map +1 -1
  20. package/lib/cjs/cli-module.cjs +63 -6
  21. package/lib/cjs/cli-module.cjs.map +1 -1
  22. package/lib/cjs/constants.cjs +4 -5
  23. package/lib/cjs/constants.cjs.map +1 -1
  24. package/lib/cjs/controllers.cjs +15 -112
  25. package/lib/cjs/controllers.cjs.map +1 -1
  26. package/lib/cjs/core-module.cjs +7 -7
  27. package/lib/cjs/core-module.cjs.map +1 -1
  28. package/lib/cjs/decaf-model/DecafModelModule.cjs +27 -3
  29. package/lib/cjs/decaf-model/DecafModelModule.cjs.map +1 -1
  30. package/lib/cjs/decaf-model/FromModelController.cjs +618 -792
  31. package/lib/cjs/decaf-model/FromModelController.cjs.map +1 -1
  32. package/lib/cjs/decaf-model/decorators/ApiOperationFromModel.cjs +52 -15
  33. package/lib/cjs/decaf-model/decorators/ApiOperationFromModel.cjs.map +1 -1
  34. package/lib/cjs/decaf-model/decorators/ApiParamsFromModel.cjs +1 -1
  35. package/lib/cjs/decaf-model/decorators/ApiParamsFromModel.cjs.map +1 -1
  36. package/lib/cjs/decaf-model/decorators/DecafBody.cjs +1 -1
  37. package/lib/cjs/decaf-model/decorators/DecafBody.cjs.map +1 -1
  38. package/lib/cjs/decaf-model/decorators/DecafParams.cjs +1 -1
  39. package/lib/cjs/decaf-model/decorators/DecafParams.cjs.map +1 -1
  40. package/lib/cjs/decaf-model/decorators/controller-config.cjs +29 -0
  41. package/lib/cjs/decaf-model/decorators/controller-config.cjs.map +1 -0
  42. package/lib/cjs/decaf-model/decorators/decorators.cjs +4 -44
  43. package/lib/cjs/decaf-model/decorators/decorators.cjs.map +1 -1
  44. package/lib/cjs/decaf-model/decorators/expose.cjs +13 -0
  45. package/lib/cjs/decaf-model/decorators/expose.cjs.map +1 -0
  46. package/lib/cjs/decaf-model/decorators/index.cjs +2 -1
  47. package/lib/cjs/decaf-model/decorators/index.cjs.map +1 -1
  48. package/lib/cjs/decaf-model/decorators/types.cjs +1 -1
  49. package/lib/cjs/decaf-model/decorators/types.cjs.map +1 -1
  50. package/lib/cjs/decaf-model/decorators/utils.cjs +3 -2
  51. package/lib/cjs/decaf-model/decorators/utils.cjs.map +1 -1
  52. package/lib/cjs/decaf-model/index.cjs +27 -18
  53. package/lib/cjs/decaf-model/index.cjs.map +1 -1
  54. package/lib/cjs/decaf-model/types.cjs +1 -1
  55. package/lib/cjs/decaf-model/types.cjs.map +1 -1
  56. package/lib/cjs/decaf-model/utils.cjs +10 -4
  57. package/lib/cjs/decaf-model/utils.cjs.map +1 -1
  58. package/lib/cjs/decoration.cjs +1 -1
  59. package/lib/cjs/decoration.cjs.map +1 -1
  60. package/lib/cjs/decorators.cjs +93 -0
  61. package/lib/cjs/decorators.cjs.map +1 -0
  62. package/lib/cjs/events-module/DecafStreamModule.cjs +1 -1
  63. package/lib/cjs/events-module/DecafStreamModule.cjs.map +1 -1
  64. package/lib/cjs/events-module/EventsController.cjs +1 -1
  65. package/lib/cjs/events-module/EventsController.cjs.map +1 -1
  66. package/lib/cjs/events-module/constant.cjs +1 -1
  67. package/lib/cjs/events-module/constant.cjs.map +1 -1
  68. package/lib/cjs/events-module/index.cjs +1 -1
  69. package/lib/cjs/events-module/index.cjs.map +1 -1
  70. package/lib/cjs/events-module/utils.cjs +1 -1
  71. package/lib/cjs/events-module/utils.cjs.map +1 -1
  72. package/lib/cjs/factory/NestBootstraper.cjs +11 -4
  73. package/lib/cjs/factory/NestBootstraper.cjs.map +1 -1
  74. package/lib/cjs/factory/errors/cors.cjs +1 -1
  75. package/lib/cjs/factory/errors/cors.cjs.map +1 -1
  76. package/lib/cjs/factory/errors/index.cjs +1 -1
  77. package/lib/cjs/factory/errors/index.cjs.map +1 -1
  78. package/lib/cjs/factory/errors/throttling.cjs +1 -1
  79. package/lib/cjs/factory/errors/throttling.cjs.map +1 -1
  80. package/lib/cjs/factory/exceptions/DecafErrorFilter.cjs +105 -6
  81. package/lib/cjs/factory/exceptions/DecafErrorFilter.cjs.map +1 -1
  82. package/lib/cjs/factory/exceptions/decorators.cjs +4 -1
  83. package/lib/cjs/factory/exceptions/decorators.cjs.map +1 -1
  84. package/lib/cjs/factory/exceptions/index.cjs +1 -1
  85. package/lib/cjs/factory/exceptions/index.cjs.map +1 -1
  86. package/lib/cjs/factory/index.cjs +1 -1
  87. package/lib/cjs/factory/index.cjs.map +1 -1
  88. package/lib/cjs/factory/openapi/DtoBuilder.cjs +36 -5
  89. package/lib/cjs/factory/openapi/DtoBuilder.cjs.map +1 -1
  90. package/lib/cjs/factory/openapi/SwaggerBuilder.cjs +1 -1
  91. package/lib/cjs/factory/openapi/SwaggerBuilder.cjs.map +1 -1
  92. package/lib/cjs/factory/openapi/SwaggerCustomUI.cjs +1 -1
  93. package/lib/cjs/factory/openapi/SwaggerCustomUI.cjs.map +1 -1
  94. package/lib/cjs/factory/openapi/constants.cjs +1 -1
  95. package/lib/cjs/factory/openapi/constants.cjs.map +1 -1
  96. package/lib/cjs/factory/openapi/index.cjs +1 -1
  97. package/lib/cjs/factory/openapi/index.cjs.map +1 -1
  98. package/lib/cjs/index.cjs +6 -5
  99. package/lib/cjs/index.cjs.map +1 -1
  100. package/lib/cjs/interceptors/DecafRequestHandlerInterceptor.cjs +24 -20
  101. package/lib/cjs/interceptors/DecafRequestHandlerInterceptor.cjs.map +1 -1
  102. package/lib/cjs/interceptors/index.cjs +2 -3
  103. package/lib/cjs/interceptors/index.cjs.map +1 -1
  104. package/lib/cjs/module.cjs +4 -1
  105. package/lib/cjs/module.cjs.map +1 -1
  106. package/lib/cjs/overrides/Adapter.cjs +1 -1
  107. package/lib/cjs/overrides/Adapter.cjs.map +1 -1
  108. package/lib/cjs/overrides/ModelBuilderExtensions.cjs +1 -1
  109. package/lib/cjs/overrides/ModelBuilderExtensions.cjs.map +1 -1
  110. package/lib/cjs/overrides/constants.cjs +1 -1
  111. package/lib/cjs/overrides/constants.cjs.map +1 -1
  112. package/lib/cjs/overrides/decoration.cjs +1 -1
  113. package/lib/cjs/overrides/decoration.cjs.map +1 -1
  114. package/lib/cjs/overrides/helpers.cjs +1 -1
  115. package/lib/cjs/overrides/helpers.cjs.map +1 -1
  116. package/lib/cjs/overrides/index.cjs +2 -1
  117. package/lib/cjs/overrides/index.cjs.map +1 -1
  118. package/lib/cjs/overrides/logging.cjs +5 -0
  119. package/lib/cjs/overrides/logging.cjs.map +1 -0
  120. package/lib/cjs/overrides/overrides.cjs +1 -1
  121. package/lib/cjs/overrides/overrides.cjs.map +1 -1
  122. package/lib/cjs/request/DecafAuthHandler.cjs +4 -38
  123. package/lib/cjs/request/DecafAuthHandler.cjs.map +1 -1
  124. package/lib/cjs/request/DecafHandlerExecutor.cjs +1 -1
  125. package/lib/cjs/request/DecafHandlerExecutor.cjs.map +1 -1
  126. package/lib/cjs/request/DecafRequestContext.cjs +12 -19
  127. package/lib/cjs/request/DecafRequestContext.cjs.map +1 -1
  128. package/lib/cjs/request/DecafResponseInterceptor.cjs +5 -3
  129. package/lib/cjs/request/DecafResponseInterceptor.cjs.map +1 -1
  130. package/lib/cjs/request/index.cjs +1 -1
  131. package/lib/cjs/request/index.cjs.map +1 -1
  132. package/lib/cjs/swagger-types.cjs +1 -1
  133. package/lib/cjs/swagger-types.cjs.map +1 -1
  134. package/lib/cjs/types.cjs +1 -1
  135. package/lib/cjs/types.cjs.map +1 -1
  136. package/lib/cjs/utils.cjs +1 -1
  137. package/lib/cjs/utils.cjs.map +1 -1
  138. package/lib/cjs/webhooks/DecafWebhookModule.cjs +4 -3
  139. package/lib/cjs/webhooks/DecafWebhookModule.cjs.map +1 -1
  140. package/lib/cjs/webhooks/controllers.cjs +49 -54
  141. package/lib/cjs/webhooks/controllers.cjs.map +1 -1
  142. package/lib/cjs/webhooks/index.cjs +1 -1
  143. package/lib/cjs/webhooks/index.cjs.map +1 -1
  144. package/lib/cjs/webhooks/types.cjs +1 -1
  145. package/lib/cjs/webhooks/types.cjs.map +1 -1
  146. package/lib/esm/auth/AuthInterceptor.js +84 -0
  147. package/lib/esm/auth/AuthInterceptor.js.map +1 -0
  148. package/lib/esm/auth/DecafAuthHandler.js +31 -0
  149. package/lib/esm/auth/DecafAuthHandler.js.map +1 -0
  150. package/lib/esm/auth/DecafAuthModule.js +42 -0
  151. package/lib/esm/auth/DecafAuthModule.js.map +1 -0
  152. package/lib/esm/auth/constants.js +6 -0
  153. package/lib/esm/auth/constants.js.map +1 -0
  154. package/lib/esm/auth/decorators.js +22 -0
  155. package/lib/esm/auth/decorators.js.map +1 -0
  156. package/lib/esm/auth/index.js +6 -0
  157. package/lib/esm/auth/index.js.map +1 -0
  158. package/lib/esm/cli-module.js +62 -5
  159. package/lib/esm/cli-module.js.map +1 -1
  160. package/lib/esm/constants.js +2 -3
  161. package/lib/esm/constants.js.map +1 -1
  162. package/lib/esm/controllers.js +15 -112
  163. package/lib/esm/controllers.js.map +1 -1
  164. package/lib/esm/core-module.js +6 -6
  165. package/lib/esm/core-module.js.map +1 -1
  166. package/lib/esm/decaf-model/DecafModelModule.js +26 -2
  167. package/lib/esm/decaf-model/DecafModelModule.js.map +1 -1
  168. package/lib/esm/decaf-model/FromModelController.js +622 -796
  169. package/lib/esm/decaf-model/FromModelController.js.map +1 -1
  170. package/lib/esm/decaf-model/decorators/ApiOperationFromModel.js +52 -14
  171. package/lib/esm/decaf-model/decorators/ApiOperationFromModel.js.map +1 -1
  172. package/lib/esm/decaf-model/decorators/controller-config.js +25 -0
  173. package/lib/esm/decaf-model/decorators/controller-config.js.map +1 -0
  174. package/lib/esm/decaf-model/decorators/decorators.js +1 -42
  175. package/lib/esm/decaf-model/decorators/decorators.js.map +1 -1
  176. package/lib/esm/decaf-model/decorators/expose.js +9 -0
  177. package/lib/esm/decaf-model/decorators/expose.js.map +1 -0
  178. package/lib/esm/decaf-model/decorators/index.js +1 -0
  179. package/lib/esm/decaf-model/decorators/index.js.map +1 -1
  180. package/lib/esm/decaf-model/decorators/utils.js +2 -1
  181. package/lib/esm/decaf-model/decorators/utils.js.map +1 -1
  182. package/lib/esm/decaf-model/index.js +10 -3
  183. package/lib/esm/decaf-model/index.js.map +1 -1
  184. package/lib/esm/decaf-model/utils.js +9 -3
  185. package/lib/esm/decaf-model/utils.js.map +1 -1
  186. package/lib/esm/decorators.js +87 -0
  187. package/lib/esm/decorators.js.map +1 -0
  188. package/lib/esm/events-module/utils.js.map +1 -1
  189. package/lib/esm/factory/NestBootstraper.js +10 -3
  190. package/lib/esm/factory/NestBootstraper.js.map +1 -1
  191. package/lib/esm/factory/exceptions/DecafErrorFilter.js +105 -7
  192. package/lib/esm/factory/exceptions/DecafErrorFilter.js.map +1 -1
  193. package/lib/esm/factory/exceptions/decorators.js +3 -0
  194. package/lib/esm/factory/exceptions/decorators.js.map +1 -1
  195. package/lib/esm/factory/openapi/DtoBuilder.js +35 -4
  196. package/lib/esm/factory/openapi/DtoBuilder.js.map +1 -1
  197. package/lib/esm/index.js +5 -4
  198. package/lib/esm/index.js.map +1 -1
  199. package/lib/esm/interceptors/DecafRequestHandlerInterceptor.js +24 -20
  200. package/lib/esm/interceptors/DecafRequestHandlerInterceptor.js.map +1 -1
  201. package/lib/esm/interceptors/index.js +1 -2
  202. package/lib/esm/interceptors/index.js.map +1 -1
  203. package/lib/esm/module.js +3 -0
  204. package/lib/esm/module.js.map +1 -1
  205. package/lib/esm/overrides/index.js +1 -0
  206. package/lib/esm/overrides/index.js.map +1 -1
  207. package/lib/esm/overrides/logging.js +2 -0
  208. package/lib/esm/overrides/logging.js.map +1 -0
  209. package/lib/esm/request/DecafAuthHandler.js +1 -35
  210. package/lib/esm/request/DecafAuthHandler.js.map +1 -1
  211. package/lib/esm/request/DecafRequestContext.js +11 -18
  212. package/lib/esm/request/DecafRequestContext.js.map +1 -1
  213. package/lib/esm/request/DecafResponseInterceptor.js +4 -2
  214. package/lib/esm/request/DecafResponseInterceptor.js.map +1 -1
  215. package/lib/esm/webhooks/DecafWebhookModule.js +2 -1
  216. package/lib/esm/webhooks/DecafWebhookModule.js.map +1 -1
  217. package/lib/esm/webhooks/controllers.js +48 -53
  218. package/lib/esm/webhooks/controllers.js.map +1 -1
  219. package/lib/types/{interceptors → auth}/AuthInterceptor.d.cts +4 -1
  220. package/lib/types/{interceptors → auth}/AuthInterceptor.d.mts +4 -1
  221. package/lib/types/auth/DecafAuthHandler.d.cts +22 -0
  222. package/lib/types/auth/DecafAuthHandler.d.mts +22 -0
  223. package/lib/types/auth/DecafAuthModule.d.cts +9 -0
  224. package/lib/types/auth/DecafAuthModule.d.mts +9 -0
  225. package/lib/types/auth/constants.d.cts +5 -0
  226. package/lib/types/auth/constants.d.mts +5 -0
  227. package/lib/types/auth/decorators.d.cts +4 -0
  228. package/lib/types/auth/decorators.d.mts +4 -0
  229. package/lib/types/auth/index.d.cts +6 -0
  230. package/lib/types/auth/index.d.mts +6 -0
  231. package/lib/types/cli-module.d.cts +1 -4
  232. package/lib/types/cli-module.d.mts +1 -4
  233. package/lib/types/constants.d.cts +2 -3
  234. package/lib/types/constants.d.mts +2 -3
  235. package/lib/types/controllers.d.cts +7 -12
  236. package/lib/types/controllers.d.mts +7 -12
  237. package/lib/types/decaf-model/DecafModelModule.d.cts +1 -0
  238. package/lib/types/decaf-model/DecafModelModule.d.mts +1 -0
  239. package/lib/types/decaf-model/FromModelController.d.cts +32 -52
  240. package/lib/types/decaf-model/FromModelController.d.mts +32 -52
  241. package/lib/types/decaf-model/decorators/ApiOperationFromModel.d.cts +0 -2
  242. package/lib/types/decaf-model/decorators/ApiOperationFromModel.d.mts +0 -2
  243. package/lib/types/decaf-model/decorators/controller-config.d.cts +18 -0
  244. package/lib/types/decaf-model/decorators/controller-config.d.mts +18 -0
  245. package/lib/types/decaf-model/decorators/decorators.d.cts +1 -29
  246. package/lib/types/decaf-model/decorators/decorators.d.mts +1 -29
  247. package/lib/types/decaf-model/decorators/expose.d.cts +1 -0
  248. package/lib/types/decaf-model/decorators/expose.d.mts +1 -0
  249. package/lib/types/decaf-model/decorators/index.d.cts +1 -0
  250. package/lib/types/decaf-model/decorators/index.d.mts +1 -0
  251. package/lib/types/decaf-model/decorators/types.d.cts +8 -21
  252. package/lib/types/decaf-model/decorators/types.d.mts +8 -21
  253. package/lib/types/decaf-model/index.d.cts +11 -3
  254. package/lib/types/decaf-model/index.d.mts +11 -3
  255. package/lib/types/decaf-model/utils.d.cts +2 -1
  256. package/lib/types/decaf-model/utils.d.mts +2 -1
  257. package/lib/types/decorators.d.cts +35 -0
  258. package/lib/types/decorators.d.mts +35 -0
  259. package/lib/types/factory/NestBootstraper.d.cts +5 -0
  260. package/lib/types/factory/NestBootstraper.d.mts +5 -0
  261. package/lib/types/factory/exceptions/DecafErrorFilter.d.cts +33 -1
  262. package/lib/types/factory/exceptions/DecafErrorFilter.d.mts +33 -1
  263. package/lib/types/factory/openapi/DtoBuilder.d.cts +7 -3
  264. package/lib/types/factory/openapi/DtoBuilder.d.mts +7 -3
  265. package/lib/types/index.d.cts +5 -4
  266. package/lib/types/index.d.mts +5 -4
  267. package/lib/types/interceptors/DecafRequestHandlerInterceptor.d.cts +1 -2
  268. package/lib/types/interceptors/DecafRequestHandlerInterceptor.d.mts +1 -2
  269. package/lib/types/interceptors/index.d.cts +1 -2
  270. package/lib/types/interceptors/index.d.mts +1 -2
  271. package/lib/types/overrides/Adapter.d.cts +1 -1
  272. package/lib/types/overrides/Adapter.d.mts +1 -1
  273. package/lib/types/overrides/index.d.cts +1 -0
  274. package/lib/types/overrides/index.d.mts +1 -0
  275. package/lib/types/overrides/logging.d.cts +1 -0
  276. package/lib/types/overrides/logging.d.mts +1 -0
  277. package/lib/types/request/DecafAuthHandler.d.cts +1 -10
  278. package/lib/types/request/DecafAuthHandler.d.mts +1 -10
  279. package/lib/types/request/DecafRequestContext.d.cts +5 -5
  280. package/lib/types/request/DecafRequestContext.d.mts +5 -5
  281. package/lib/types/types.d.cts +12 -24
  282. package/lib/types/types.d.mts +12 -24
  283. package/package.json +12 -13
  284. package/lib/cjs/interceptors/AuthInterceptor.cjs +0 -52
  285. package/lib/cjs/interceptors/AuthInterceptor.cjs.map +0 -1
  286. package/lib/cjs/interceptors/context.cjs +0 -18
  287. package/lib/cjs/interceptors/context.cjs.map +0 -1
  288. package/lib/cjs/migrations/index.cjs +0 -35
  289. package/lib/cjs/migrations/index.cjs.map +0 -1
  290. package/lib/cjs/migrations/migration-module.cjs +0 -60
  291. package/lib/cjs/migrations/migration-module.cjs.map +0 -1
  292. package/lib/cjs/migrations/migration-options.cjs +0 -4
  293. package/lib/cjs/migrations/migration-options.cjs.map +0 -1
  294. package/lib/cjs/ram/RamRequestTransformer.cjs +0 -26
  295. package/lib/cjs/ram/RamRequestTransformer.cjs.map +0 -1
  296. package/lib/cjs/ram/index.cjs.map +0 -1
  297. package/lib/esm/interceptors/AuthInterceptor.js +0 -43
  298. package/lib/esm/interceptors/AuthInterceptor.js.map +0 -1
  299. package/lib/esm/interceptors/context.js +0 -12
  300. package/lib/esm/interceptors/context.js.map +0 -1
  301. package/lib/esm/migrations/index.js +0 -18
  302. package/lib/esm/migrations/index.js.map +0 -1
  303. package/lib/esm/migrations/migration-module.js +0 -52
  304. package/lib/esm/migrations/migration-module.js.map +0 -1
  305. package/lib/esm/migrations/migration-options.js +0 -7
  306. package/lib/esm/migrations/migration-options.js.map +0 -1
  307. package/lib/esm/ram/RamRequestTransformer.js +0 -21
  308. package/lib/esm/ram/RamRequestTransformer.js.map +0 -1
  309. package/lib/esm/ram/index.js +0 -2
  310. package/lib/esm/ram/index.js.map +0 -1
  311. package/lib/types/interceptors/context.d.cts +0 -6
  312. package/lib/types/interceptors/context.d.mts +0 -6
  313. package/lib/types/migrations/index.d.cts +0 -17
  314. package/lib/types/migrations/index.d.mts +0 -17
  315. package/lib/types/migrations/migration-module.d.cts +0 -15
  316. package/lib/types/migrations/migration-module.d.mts +0 -15
  317. package/lib/types/migrations/migration-options.d.cts +0 -11
  318. package/lib/types/migrations/migration-options.d.mts +0 -11
  319. package/lib/types/ram/RamRequestTransformer.d.cts +0 -5
  320. package/lib/types/ram/RamRequestTransformer.d.mts +0 -5
  321. package/lib/types/ram/index.d.cts +0 -1
  322. package/lib/types/ram/index.d.mts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NestBootstraper.js","sourceRoot":"","sources":["../../../src/factory/NestBootstraper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NestBootstraper.js","sourceRoot":"","sources":["../../../src/factory/NestBootstraper.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,38 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { Catch, NotAcceptableException, NotFoundException, } from "@nestjs/common";
8
- import { BaseError, InternalError } from "@decaf-ts/db-decorators";
9
- import { LoggedEnvironment } from "@decaf-ts/logging";
10
- import { UnsupportedError } from "@decaf-ts/core";
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { BadRequestException, Catch, ConflictException, ForbiddenException, HttpException, Injectable, NotAcceptableException, NotFoundException, Optional, UnauthorizedException, UnprocessableEntityException, } from "@nestjs/common";
14
+ import { ContextIdFactory, ModuleRef } from "@nestjs/core";
15
+ import { BadRequestError, BaseError, ConflictError, InternalError, ValidationError, } from "@decaf-ts/db-decorators";
16
+ import { LoggedEnvironment, Logging } from "@decaf-ts/logging";
17
+ import { AuthorizationError, ForbiddenError, UnsupportedError } from "@decaf-ts/core";
11
18
  import { ToManyRequestsError } from "./../errors/throttling.js";
19
+ import { DecafRequestContext } from "./../../request/DecafRequestContext.js";
20
+ /**
21
+ * @description Maps well-known NestJS `HttpException` subclasses (as guards, pipes, or
22
+ * other framework-level code would throw them) onto the equivalent decaf-ts `BaseError`.
23
+ * @summary Only `BaseError` instances carry the `.code` the response body relies on, so
24
+ * without this map every non-decaf exception — including perfectly legitimate ones like a
25
+ * guard's `ForbiddenException` — would be flattened into a generic 500 `InternalError`.
26
+ */
27
+ const HTTP_EXCEPTION_TO_DECAF_ERROR = new Map([
28
+ [UnauthorizedException, (msg) => new AuthorizationError(msg)],
29
+ [ForbiddenException, (msg) => new ForbiddenError(msg)],
30
+ [BadRequestException, (msg) => new BadRequestError(msg)],
31
+ [ConflictException, (msg) => new ConflictError(msg)],
32
+ [UnprocessableEntityException, (msg) => new ValidationError(msg)],
33
+ ]);
12
34
  let DecafExceptionFilter = class DecafExceptionFilter {
13
- catch(exception, host) {
35
+ constructor(moduleRef) {
36
+ this.moduleRef = moduleRef;
37
+ }
38
+ async catch(exception, host) {
14
39
  const ctx = host.switchToHttp();
15
40
  const response = ctx.getResponse();
16
41
  const request = ctx.getRequest();
@@ -22,13 +47,23 @@ let DecafExceptionFilter = class DecafExceptionFilter {
22
47
  statusCode = exception.getStatus();
23
48
  }
24
49
  else if (!(exception instanceof BaseError)) {
25
- if (exception.status === 429) {
50
+ const toDecafError = this.decafErrorFor(exception);
51
+ if (toDecafError) {
52
+ exception = toDecafError(exception.message);
53
+ }
54
+ else if (exception.status === 429) {
26
55
  exception = new ToManyRequestsError(exception.message);
27
56
  }
57
+ else if (exception instanceof HttpException) {
58
+ // A recognized but unmapped HttpException (e.g. thrown by a guard or
59
+ // pipe) — preserve its real status instead of flattening it to 500.
60
+ statusCode = exception.getStatus();
61
+ }
28
62
  else {
29
63
  exception = new InternalError(exception.message);
30
64
  }
31
65
  }
66
+ await this.logError(request, exception);
32
67
  response.status(exception.code || statusCode).json({
33
68
  status: exception.code || statusCode,
34
69
  error: isProduction ? exception.name : exception.message,
@@ -37,9 +72,72 @@ let DecafExceptionFilter = class DecafExceptionFilter {
37
72
  method: request.method,
38
73
  });
39
74
  }
75
+ /**
76
+ * @description Finds the decaf-ts `BaseError` constructor mapped to this exception's type, if any.
77
+ * @summary Walks `HTTP_EXCEPTION_TO_DECAF_ERROR` with `instanceof` (rather than a straight
78
+ * `Map.get`) so subclasses of a mapped exception are matched too.
79
+ */
80
+ decafErrorFor(exception) {
81
+ for (const [type, factory] of HTTP_EXCEPTION_TO_DECAF_ERROR) {
82
+ if (exception instanceof type)
83
+ return factory;
84
+ }
85
+ return undefined;
86
+ }
87
+ /**
88
+ * @description Logs the exception without ever letting logging failures block the response.
89
+ * @summary A guard (or middleware/CORS check) can throw before any decaf-aware provider ran,
90
+ * so the request-bound Context may not exist yet — or the resolved logger's `.error()` itself
91
+ * could throw (broken transport, formatter bug, etc.). Either way the client-facing error
92
+ * response below must still go out, so every failure mode here is swallowed, falling back to
93
+ * the plain `Logging.get()` logger and, as a last resort, doing nothing at all.
94
+ */
95
+ async logError(request, exception) {
96
+ const message = `Unhandled error on ${request?.method} ${request?.url}`;
97
+ try {
98
+ const log = await this.resolveLogger(request);
99
+ log.error(message, exception);
100
+ }
101
+ catch {
102
+ try {
103
+ Logging.get().error(message, exception);
104
+ }
105
+ catch {
106
+ // logging is unavailable — the response is still sent below
107
+ }
108
+ }
109
+ }
110
+ /**
111
+ * @description Resolves the logger bound to the originating request's decaf-ts Context.
112
+ * @summary Global filters are singletons, so the request-scoped {@link DecafRequestContext}
113
+ * (and the client/user-bound logger it carries) can't be constructor-injected. Instead, this
114
+ * looks up the same request's context id and re-resolves the already-accumulated instance
115
+ * through `ModuleRef`. Falls back to the generic `Logging.get()` logger when the filter wasn't
116
+ * constructed with a `ModuleRef` (e.g. manually `new`'d) or no request-scoped context exists
117
+ * for this request (e.g. the error happened before any decaf-aware provider ran, as is the
118
+ * case when a guard rejects the request before interceptors get to bind the client-scoped
119
+ * logger onto the Context).
120
+ */
121
+ async resolveLogger(request) {
122
+ if (this.moduleRef) {
123
+ try {
124
+ const contextId = ContextIdFactory.getByRequest(request);
125
+ const requestContext = await this.moduleRef.resolve(DecafRequestContext, contextId, { strict: false });
126
+ if (requestContext?.logger)
127
+ return requestContext.logger;
128
+ }
129
+ catch {
130
+ // no request-scoped context bound for this request — fall back below
131
+ }
132
+ }
133
+ return Logging.get();
134
+ }
40
135
  };
41
136
  DecafExceptionFilter = __decorate([
42
- Catch()
137
+ Catch(),
138
+ Injectable(),
139
+ __param(0, Optional()),
140
+ __metadata("design:paramtypes", [ModuleRef])
43
141
  ], DecafExceptionFilter);
44
142
  export { DecafExceptionFilter };
45
143
  //# sourceMappingURL=DecafErrorFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecafErrorFilter.js","sourceRoot":"","sources":["../../../../src/factory/exceptions/DecafErrorFilter.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAEL,KAAK,EAEL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,kCAA6B;AAGpD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,KAAK,CAAC,SAAgB,EAAE,IAAmB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,KAAK,YAAY,CAAC;QAC5D,IAAI,UAAU,CAAC;QAEf,IACE,SAAS,YAAY,iBAAiB;YACtC,SAAS,YAAY,gBAAgB,EACrC,CAAC;YACD,SAAS,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC1D,UAAU,GAAI,SAAoC,CAAC,SAAS,EAAE,CAAC;QACjE,CAAC;aAAM,IAAI,CAAC,CAAC,SAAS,YAAY,SAAS,CAAC,EAAE,CAAC;YAC7C,IAAI,SAAiB,CAAC,MAAM,KAAK,GAAG,EAAC,CAAC;gBACpC,SAAS,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC;iBAAI,CAAC;gBACJ,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,MAAM,CAAE,SAAuB,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC;YAChE,MAAM,EAAG,SAAuB,CAAC,IAAI,IAAI,UAAU;YACnD,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO;YACxD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,OAAO,CAAC,GAAG;YACjB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA/BY,oBAAoB;IADhC,KAAK,EAAE;GACK,oBAAoB,CA+BhC"}
1
+ {"version":3,"file":"DecafErrorFilter.js","sourceRoot":"","sources":["../../../../src/factory/exceptions/DecafErrorFilter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { UseFilters, UseInterceptors } from "@nestjs/common";
2
2
  import { DecafExceptionFilter } from "./DecafErrorFilter.js";
3
3
  import { DecafResponseInterceptor } from "./../../request/index.js";
4
+ // No ModuleRef available at decoration time, so this instance falls back to
5
+ // Logging.get() rather than the request-bound context logger; prefer
6
+ // NestBootstraper.useGlobalFilters() for context-aware error logging.
4
7
  export function UseDecafFilter() {
5
8
  return UseFilters(new DecafExceptionFilter());
6
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/factory/exceptions/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,8BAA2B;AAC1D,OAAO,EAAE,wBAAwB,EAAE,iCAA4B;AAE/D,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,eAAe,CAAC,wBAAwB,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/factory/exceptions/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,8BAA2B;AAC1D,OAAO,EAAE,wBAAwB,EAAE,iCAA4B;AAE/D,4EAA4E;AAC5E,qEAAqE;AACrE,sEAAsE;AACtE,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,eAAe,CAAC,wBAAwB,CAAC,CAAC;AACnD,CAAC"}
@@ -19,15 +19,19 @@ const dtoCache = new Map();
19
19
  * • CREATE – included only when the pk is NOT auto-generated
20
20
  * (checked via Model.pkProps().generated AND Model.generated()).
21
21
  * - Relation properties (@oneToOne, @oneToMany, …):
22
- * • CREATE – nested as DtoFor(CREATE, RelatedModel).
22
+ * • CREATE – nested as DtoFor(CREATE, RelatedModel). When the relation
23
+ * creates a circular reference (model A → model B → model A),
24
+ * the back-reference uses the related model's PK type
25
+ * (string/integer) instead of the full DTO to break the cycle.
23
26
  * • UPDATE – union of DtoFor(UPDATE, RelatedModel) **or** the
24
27
  * related model's primary-key type (string / integer),
25
- * expressed as a Swagger oneOf.
28
+ * expressed as a Swagger oneOf. Circular back-references
29
+ * omit the DTO $ref and only include the PK type.
26
30
  *
27
31
  * Metadata.properties() now returns ALL properties across the prototype chain,
28
32
  * so DTO inheritance is no longer needed; every DTO is a flat class.
29
33
  */
30
- export function DtoFor(op, model) {
34
+ export function DtoFor(op, model, stack = new Set()) {
31
35
  if (!TransactionOperationKeys.includes(op)) {
32
36
  return model;
33
37
  }
@@ -118,7 +122,17 @@ export function DtoFor(op, model) {
118
122
  const meta = Metadata.validationFor(model, relation);
119
123
  const isArray = !!meta?.[ValidationKeys.LIST];
120
124
  const isRequired = !!meta?.[ValidationKeys.REQUIRED];
121
- const relationDto = DtoFor(op, relationType);
125
+ // Detect circular reference: if the related model is already in the
126
+ // recursion stack, use the PK type instead of the full DTO to break
127
+ // the cycle. This prevents @nestjs/swagger's SchemaObjectFactory from
128
+ // infinitely recursing when exploring the schemas.
129
+ const isCircular = stack.has(relationType);
130
+ if (isCircular) {
131
+ const pkTypeName = getPkOpenApiType(relationType);
132
+ addRelationPkRef(DynamicDTO, relation, pkTypeName, isArray, isRequired);
133
+ continue;
134
+ }
135
+ const relationDto = DtoFor(op, relationType, new Set(stack).add(model));
122
136
  if (isUpdateOp) {
123
137
  addRelationUpdate(DynamicDTO, relation, relationType, relationDto, isArray, isRequired);
124
138
  }
@@ -143,6 +157,23 @@ function addRelation(DtoClass, relation, relationDto, isArray, isRequired) {
143
157
  configurable: true,
144
158
  });
145
159
  }
160
+ /**
161
+ * Adds a relation property that uses the PK type (string/integer) instead of
162
+ * a full DTO class. Used to break circular references (e.g. Customer → Order → Customer).
163
+ */
164
+ function addRelationPkRef(DtoClass, relation, pkTypeName, isArray, isRequired) {
165
+ const apiOptions = isArray
166
+ ? { type: "array", items: { type: pkTypeName }, required: isRequired }
167
+ : { type: pkTypeName === "integer" ? Number : String, required: isRequired };
168
+ ApiProperty(apiOptions)(DtoClass.prototype, relation);
169
+ Reflect.defineMetadata("design:type", isArray ? Array : (pkTypeName === "integer" ? Number : String), DtoClass.prototype, relation);
170
+ Object.defineProperty(DtoClass.prototype, relation, {
171
+ value: undefined,
172
+ writable: true,
173
+ enumerable: true,
174
+ configurable: true,
175
+ });
176
+ }
146
177
  function addRelationUpdate(DtoClass, relation, relationType, relationDto, isArray, isRequired) {
147
178
  const extraModels = Reflect.getMetadata(DECORATORS.API_EXTRA_MODELS, DtoClass) || [];
148
179
  if (!extraModels.includes(relationDto)) {
@@ -1 +1 @@
1
- {"version":3,"file":"DtoBuilder.js","sourceRoot":"","sources":["../../../../src/factory/openapi/DtoBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DtoBuilder.js","sourceRoot":"","sources":["../../../../src/factory/openapi/DtoBuilder.ts"],"names":[],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -23,6 +23,7 @@ import { Metadata } from "@decaf-ts/decoration";
23
23
  import "./decoration.js";
24
24
  export * from "./decoration.js"; // on top on purpose
25
25
  export * from "./decaf-model/index.js";
26
+ export * from "./auth/index.js";
26
27
  export * from "./factory/index.js";
27
28
  export * from "./interceptors/index.js";
28
29
  export * from "./overrides/index.js";
@@ -31,8 +32,8 @@ export * from "./constants.js";
31
32
  export * from "./controllers.js";
32
33
  export * from "./module.js";
33
34
  export * from "./core-module.js";
34
- export * from "./migrations/index.js";
35
35
  export * from "./types.js";
36
+ export * from "./decorators.js";
36
37
  export * from "./utils.js";
37
38
  export * from "./events-module/index.js";
38
39
  // export * from "./webhooks";
@@ -42,21 +43,21 @@ export * from "./events-module/index.js";
42
43
  * @constant
43
44
  * @type {string}
44
45
  */
45
- export const VERSION = "0.11.1";
46
+ export const VERSION = "0.11.2-refactor.9";
46
47
  /**
47
48
  * @description Represents the current commit hash of the module build.
48
49
  * @summary Stores the current git commit hash for the package. The build replaces
49
50
  * the placeholder with the actual commit hash at publish time.
50
51
  * @const COMMIT
51
52
  */
52
- export const COMMIT = "4deec24";
53
+ export const COMMIT = "00a7d73";
53
54
  /**
54
55
  * @description Represents the full version string of the module.
55
56
  * @summary Stores the semver version and commit hash for the package.
56
57
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
57
58
  * @const FULL_VERSION
58
59
  */
59
- export const FULL_VERSION = "0.11.1-4deec24";
60
+ export const FULL_VERSION = "0.11.2-refactor.9-00a7d73";
60
61
  export const PACKAGE_NAME = "@decaf-ts/for-nest";
61
62
  Metadata.allowReregistration(true);
62
63
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,yBAAsB;AAEtB,gCAA6B,CAAC,oBAAoB;AAClD,uCAA8B;AAC9B,mCAA0B;AAC1B,wCAA+B;AAC/B,qCAA4B;AAC5B,mCAA0B;AAC1B,+BAA4B;AAC5B,iCAA8B;AAC9B,4BAAyB;AACzB,iCAA8B;AAC9B,sCAA6B;AAC7B,2BAAwB;AACxB,2BAAwB;AACxB,yCAAgC;AAChC,8BAA8B;AAE9B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAChD,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,yBAAsB;AAEtB,gCAA6B,CAAC,oBAAoB;AAClD,uCAA8B;AAC9B,gCAAuB;AACvB,mCAA0B;AAC1B,wCAA+B;AAC/B,qCAA4B;AAC5B,mCAA0B;AAC1B,+BAA4B;AAC5B,iCAA8B;AAC9B,4BAAyB;AACzB,iCAA8B;AAC9B,2BAAwB;AACxB,gCAA6B;AAC7B,2BAAwB;AACxB,yCAAgC;AAChC,8BAA8B;AAE9B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAChD,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC"}
@@ -10,10 +10,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var DecafRequestHandlerInterceptor_1;
11
11
  import { Injectable, Scope, } from "@nestjs/common";
12
12
  import { DecafHandlerExecutor, DecafRequestContext } from "./../request/index.js";
13
- import { Adapter, Context, DefaultAdapterFlags } from "@decaf-ts/core";
13
+ import { DefaultAdapterFlags } from "@decaf-ts/core";
14
14
  import "./../overrides/index.js";
15
15
  import { Logging } from "@decaf-ts/logging";
16
- import { InternalError } from "@decaf-ts/db-decorators";
17
16
  /**
18
17
  * @description
19
18
  * Interceptor responsible for executing all registered Decaf request handlers
@@ -71,33 +70,21 @@ let DecafRequestHandlerInterceptor = DecafRequestHandlerInterceptor_1 = class De
71
70
  headers: headers,
72
71
  overrides: {},
73
72
  };
74
- const flavours = Adapter.flavoursToTransform();
75
- if (flavours)
76
- for (const flavour of flavours) {
77
- try {
78
- const transformer = Adapter.transformerFor(flavour);
79
- const from = await transformer.from(req);
80
- Object.assign(flags.overrides, from);
81
- }
82
- catch (e) {
83
- throw new InternalError(`Failed to contextualize request: ${e}`);
84
- }
85
- }
86
- const ctx = new Context().accumulate(Object.assign({}, DefaultAdapterFlags, {
87
- logger: Logging.get(),
73
+ const ip = extractIp(req);
74
+ const logger = Logging.get().for({ ip });
75
+ this.requestContext.accumulate(Object.assign({}, DefaultAdapterFlags, {
76
+ logger,
88
77
  timestamp: new Date(),
78
+ operation: `${req.method} ${req.url}`,
89
79
  }, flags));
90
- return ctx;
91
80
  }
92
81
  async intercept(context, next) {
93
82
  const req = context.switchToHttp().getRequest();
94
83
  const res = context.switchToHttp().getResponse();
95
84
  const log = Logging.for(DecafRequestHandlerInterceptor_1).for(this.intercept);
96
85
  log.debug(`CONTEXT ${this.requestContext.uuid} - request: ${req.method} ${req.url}`);
97
- const ctx = await this.contextualize(req);
86
+ await this.contextualize(req);
98
87
  log.debug(`CONTEXT ${this.requestContext.uuid} contextualized - request: ${req.method} ${req.url}`);
99
- this.requestContext.applyCtx(ctx);
100
- log.debug(`CONTEXT ${this.requestContext.uuid} applied - request: ${req.method} ${req.url}`);
101
88
  await this.executor.exec(req, res);
102
89
  log.debug(`CONTEXT ${this.requestContext.uuid} executors finished - request: ${req.method} ${req.url}`);
103
90
  return next.handle();
@@ -109,4 +96,21 @@ DecafRequestHandlerInterceptor = DecafRequestHandlerInterceptor_1 = __decorate([
109
96
  DecafHandlerExecutor])
110
97
  ], DecafRequestHandlerInterceptor);
111
98
  export { DecafRequestHandlerInterceptor };
99
+ function extractIp(req) {
100
+ const headers = req.headers;
101
+ function parseIpHeader(value) {
102
+ if (!value)
103
+ return undefined;
104
+ const candidate = Array.isArray(value) ? value[0] : value;
105
+ return candidate
106
+ .split(",")
107
+ .map((segment) => segment.trim())
108
+ .filter(Boolean)[0];
109
+ }
110
+ return (parseIpHeader(headers?.["x-forwarded-for"]) ??
111
+ parseIpHeader(headers?.["x-real-ip"]) ??
112
+ parseIpHeader(headers?.["X-Forwarded-For"]) ??
113
+ parseIpHeader(headers?.["X-Real-IP"]) ??
114
+ req.ip);
115
+ }
112
116
  //# sourceMappingURL=DecafRequestHandlerInterceptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecafRequestHandlerInterceptor.js","sourceRoot":"","sources":["../../../src/interceptors/DecafRequestHandlerInterceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecafRequestHandlerInterceptor.js","sourceRoot":"","sources":["../../../src/interceptors/DecafRequestHandlerInterceptor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
1
  export * from "./DecafRequestHandlerInterceptor.js";
2
- export * from "./AuthInterceptor.js";
3
- export * from "./context.js";
2
+ export * from "./../auth/AuthInterceptor.js";
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interceptors/index.ts"],"names":[],"mappings":"AAAA,oDAAiD;AACjD,qCAAkC;AAClC,6BAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interceptors/index.ts"],"names":[],"mappings":"AAAA,oDAAiD;AACjD,6CAAwC"}
package/lib/esm/module.js CHANGED
@@ -22,6 +22,9 @@ let DecafModule = DecafModule_1 = class DecafModule {
22
22
  flavours.forEach((flavour) => {
23
23
  imports.push(getModuleFor(flavour).forRoot(flavour, {
24
24
  autoServices,
25
+ controllerExposure: options.controllerExposure,
26
+ controllerConfig: options.controllerConfig,
27
+ aggregations: options.aggregations,
25
28
  }));
26
29
  });
27
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAmC,MAAM,EAAQ,MAAM,gBAAgB,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,yBAAsB;AAEhD,OAAO,EAAE,YAAY,EAAE,+BAA4B;AACnD,OAAO,EAAE,iBAAiB,EAAE,iCAAwB;AAEpD;;GAEG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,OAA2B;QAE3B,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAElD,MAAM,QAAQ,GACZ,MAAM,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,OAAO,GAOG,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAEnD,IAAI,eAAe,EAAE,CAAC;YACpB,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,OAAO,CAAC,IAAI,CACV,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;oBACrC,YAAY;iBACb,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,eAAe,EAAE,oBAAoB,EAAE,CAAC;YAClD,OAAO,CAAC,IAAI,CACV,iBAAiB,CAAC,WAAW,CAC3B,OAAO,CAAC,eAAe,CAAC,gBAAgB,IAAI,QAAQ,CACrD,CACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;CACF,CAAA;AA1CY,WAAW;IADvB,MAAM,CAAC,EAAE,CAAC;GACE,WAAW,CA0CvB;;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,KAAmB,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAmC,MAAM,EAAQ,MAAM,gBAAgB,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,yBAAsB;AAEhD,OAAO,EAAE,YAAY,EAAE,+BAA4B;AACnD,OAAO,EAAE,iBAAiB,EAAE,iCAAwB;AAEpD;;GAEG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,OAA2B;QAE3B,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAElD,MAAM,QAAQ,GACZ,MAAM,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,OAAO,GAOG,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAEnD,IAAI,eAAe,EAAE,CAAC;YAClB,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,OAAO,CAAC,IAAI,CACV,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;oBACrC,YAAY;oBACZ,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;oBAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAEH,IAAI,OAAO,CAAC,eAAe,EAAE,oBAAoB,EAAE,CAAC;YAClD,OAAO,CAAC,IAAI,CACV,iBAAiB,CAAC,WAAW,CAC3B,OAAO,CAAC,eAAe,CAAC,gBAAgB,IAAI,QAAQ,CACrD,CACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;CACF,CAAA;AA7CY,WAAW;IADvB,MAAM,CAAC,EAAE,CAAC;GACE,WAAW,CA6CvB;;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,KAAmB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import "./overrides.js";
2
+ import "./logging.js";
2
3
  export * from "./Adapter.js";
3
4
  export * from "./constants.js";
4
5
  export * from "./decoration.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/overrides/index.ts"],"names":[],"mappings":"AAAA,wBAAqB;AAErB,6BAA0B;AAC1B,+BAA4B;AAC5B,gCAA6B;AAC7B,+BAA4B;AAC5B,4CAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/overrides/index.ts"],"names":[],"mappings":"AAAA,wBAAqB;AACrB,sBAAmB;AAEnB,6BAA0B;AAC1B,+BAA4B;AAC5B,gCAA6B;AAC7B,+BAA4B;AAC5B,4CAAyC"}
@@ -0,0 +1,2 @@
1
+ import "@decaf-ts/for-http/server";
2
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/overrides/logging.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}
@@ -1,36 +1,2 @@
1
- import { Metadata } from "@decaf-ts/decoration";
2
- import { AuthorizationError, PersistenceKeys } from "@decaf-ts/core";
3
- import { Model } from "@decaf-ts/decorator-validation";
4
- export class DecafAuthHandler {
5
- parseRequest(req) {
6
- const userRole = req.headers.authorization?.split(" ")[1];
7
- return userRole;
8
- }
9
- async authorize(ctx, resource) {
10
- const req = ctx.switchToHttp().getRequest();
11
- const userRole = this.parseRequest(req);
12
- if (!userRole)
13
- throw new AuthorizationError("Unauthenticated");
14
- const roles = Metadata.get(Model.get(resource), PersistenceKeys.AUTH_ROLE);
15
- if (!roles.includes(userRole)) {
16
- throw new AuthorizationError(`Missing role: ${userRole}`);
17
- }
18
- }
19
- }
20
- export class DecafRoleAuthHandler extends DecafAuthHandler {
21
- constructor() {
22
- super();
23
- }
24
- async authorize(ctx, resource) {
25
- const req = ctx.switchToHttp().getRequest();
26
- const userRole = this.parseRequest(req);
27
- if (!userRole)
28
- throw new AuthorizationError("Unauthenticated");
29
- const roles = Metadata.get(Model.get(resource), PersistenceKeys.AUTH_ROLE);
30
- if (!roles.includes(userRole)) {
31
- throw new AuthorizationError(`Missing role: ${userRole}`);
32
- }
33
- return roles;
34
- }
35
- }
1
+ export { DecafAuthHandler, DecafRoleAuthHandler } from "./../auth/index.js";
36
2
  //# sourceMappingURL=DecafAuthHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecafAuthHandler.js","sourceRoot":"","sources":["../../../src/request/DecafAuthHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAGvD,MAAM,OAAO,gBAAgB;IACjB,YAAY,CAAC,GAAQ;QAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAW,CAAC;QACpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAqB,EAAE,QAAgB;QACrD,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;QAE5E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IACxD;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,GAAqB,EAAE,QAAgB;QAC9D,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;QAE5E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"DecafAuthHandler.js","sourceRoot":"","sources":["../../../src/request/DecafAuthHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,2BAAgB"}
@@ -11,45 +11,38 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  import { Inject, Injectable, Scope } from "@nestjs/common";
14
- import { InternalError } from "@decaf-ts/db-decorators";
15
14
  import { REQUEST } from "@nestjs/core";
16
15
  import { UUID } from "@decaf-ts/core";
17
- let DecafRequestContext = class DecafRequestContext {
16
+ import { RequestContext } from "@decaf-ts/for-http/server";
17
+ let DecafRequestContext = class DecafRequestContext extends RequestContext {
18
18
  constructor(req) {
19
+ super({
20
+ headersOf: (request) => request?.headers || undefined,
21
+ }, req);
19
22
  this.req = req;
20
23
  this.uuid = UUID.instance.generate();
24
+ this.request = req;
21
25
  }
22
- get request() {
23
- return this.req;
26
+ get headers() {
27
+ return this.getOrUndefined("headers");
24
28
  }
25
29
  put(record) {
26
30
  let overrides;
27
31
  try {
28
- overrides = this.ctx.get("overrides");
29
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
32
+ overrides = this.get("overrides");
30
33
  }
31
34
  catch (e) {
32
35
  overrides = {};
33
36
  }
34
- this._ctx = this.ctx.accumulate({
37
+ this.accumulate({
35
38
  overrides: Object.assign(overrides, record),
36
39
  });
37
40
  }
38
- applyCtx(ctx) {
39
- if (this._ctx)
40
- throw new InternalError("Trying to overwrite context");
41
- this._ctx = ctx;
42
- }
43
- get ctx() {
44
- if (!this._ctx)
45
- throw new InternalError(`Context not initialized for request`);
46
- return this._ctx;
47
- }
48
41
  };
49
42
  DecafRequestContext = __decorate([
50
43
  Injectable({ scope: Scope.REQUEST }),
51
44
  __param(0, Inject(REQUEST)),
52
- __metadata("design:paramtypes", [Request])
45
+ __metadata("design:paramtypes", [Object])
53
46
  ], DecafRequestContext);
54
47
  export { DecafRequestContext };
55
48
  //# sourceMappingURL=DecafRequestContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecafRequestContext.js","sourceRoot":"","sources":["../../../src/request/DecafRequestContext.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAG/B,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAK9B,YAA6B,GAA6B;QAAZ,QAAG,GAAH,GAAG,CAAS;QAF1D,SAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAE6B,CAAC;IAE9D,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,GAAG,CAAC,MAAwB;QAC1B,IAAI,SAAc,CAAC;QACnB,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACtC,6DAA6D;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;SAC5C,CAAQ,CAAC;IACZ,CAAC;IAED,QAAQ,CAAC,GAAM;QACb,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,aAAa,CAAC,6BAA6B,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,GAAG;QACL,IAAI,CAAC,IAAI,CAAC,IAAI;YACZ,MAAM,IAAI,aAAa,CAAC,qCAAqC,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF,CAAA;AAnCY,mBAAmB;IAD/B,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAMtB,WAAA,MAAM,CAAC,OAAO,CAAC,CAAA;qCAAuB,OAAO;GAL/C,mBAAmB,CAmC/B"}
1
+ {"version":3,"file":"DecafRequestContext.js","sourceRoot":"","sources":["../../../src/request/DecafRequestContext.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAMpD,IAAM,mBAAmB,GAAzB,MAAM,mBAGX,SAAQ,cAAuB;IAI/B,YAA6B,GAA6B;QACxD,KAAK,CACH;YACE,SAAS,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAE,OAAe,EAAE,OAAO,IAAI,SAAS;SACjE,EACR,GAAG,CACJ,CAAC;QAN0C,QAAG,GAAH,GAAG,CAAS;QAH1D,SAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAU9B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,cAAc,CAAC,SAAgB,CAAC,CAAC;IAC/C,CAAC;IAED,GAAG,CAAC,MAAwB;QAC1B,IAAI,SAAc,CAAC;QACnB,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,UAAU,CAAC;YACd,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAjCY,mBAAmB;IAD/B,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAQtB,WAAA,MAAM,CAAC,OAAO,CAAC,CAAA;;GAPjB,mBAAmB,CAiC/B"}
@@ -16,8 +16,10 @@ let DecafResponseInterceptor = class DecafResponseInterceptor {
16
16
  }
17
17
  intercept(context, next) {
18
18
  let response = context.switchToHttp().getResponse();
19
- return next.handle().pipe(tap((data) => {
20
- response = this.ctx.ctx.toResponse(response);
19
+ return next.handle().pipe(
20
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
+ tap((data) => {
22
+ response = this.ctx.toResponse(response);
21
23
  }));
22
24
  }
23
25
  };