mongodb-dynamic-api 2.3.16 → 2.4.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 (286) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.json +5 -2
  3. package/src/adapters/socket-adapter.d.ts +8 -0
  4. package/src/adapters/socket-adapter.js +11 -0
  5. package/src/adapters/socket-adapter.js.map +1 -0
  6. package/src/builders/route-decorators/auth-decorators.builder.d.ts +4 -4
  7. package/src/builders/route-decorators/auth-decorators.builder.js +9 -6
  8. package/src/builders/route-decorators/auth-decorators.builder.js.map +1 -1
  9. package/src/dtos/index.d.ts +1 -1
  10. package/src/dtos/index.js +1 -1
  11. package/src/dtos/index.js.map +1 -1
  12. package/src/dtos/many-entity.query.d.ts +3 -0
  13. package/src/dtos/{delete-many-entity.query.js → many-entity.query.js} +5 -5
  14. package/src/dtos/many-entity.query.js.map +1 -0
  15. package/src/dynamic-api.module.d.ts +2 -2
  16. package/src/dynamic-api.module.js +10 -7
  17. package/src/dynamic-api.module.js.map +1 -1
  18. package/src/filters/ws-exception/dynamic-api-ws-exception.filter.d.ts +5 -0
  19. package/src/filters/ws-exception/dynamic-api-ws-exception.filter.js +29 -0
  20. package/src/filters/ws-exception/dynamic-api-ws-exception.filter.js.map +1 -0
  21. package/src/gateways/base.gateway.d.ts +10 -0
  22. package/src/gateways/base.gateway.js +45 -0
  23. package/src/gateways/base.gateway.js.map +1 -0
  24. package/src/gateways/index.d.ts +1 -0
  25. package/src/gateways/index.js +18 -0
  26. package/src/gateways/index.js.map +1 -0
  27. package/src/helpers/controller-mixin.helper.js +2 -20
  28. package/src/helpers/controller-mixin.helper.js.map +1 -1
  29. package/src/helpers/format.helper.d.ts +7 -4
  30. package/src/helpers/format.helper.js +12 -4
  31. package/src/helpers/format.helper.js.map +1 -1
  32. package/src/helpers/index.d.ts +1 -0
  33. package/src/helpers/index.js +1 -0
  34. package/src/helpers/index.js.map +1 -1
  35. package/src/helpers/socket-config.helper.d.ts +5 -0
  36. package/src/helpers/socket-config.helper.js +30 -0
  37. package/src/helpers/socket-config.helper.js.map +1 -0
  38. package/src/index.d.ts +1 -0
  39. package/src/index.js +1 -0
  40. package/src/index.js.map +1 -1
  41. package/src/interfaces/dynamic-api-global-state.interface.d.ts +3 -0
  42. package/src/interfaces/dynamic-api-options.interface.d.ts +3 -0
  43. package/src/interfaces/dynamic-api-options.interface.js.map +1 -1
  44. package/src/interfaces/dynamic-api-policy-handler.interface.d.ts +2 -2
  45. package/src/interfaces/dynamic-api-route-config.interface.d.ts +2 -0
  46. package/src/interfaces/dynamic-api-service-callback.interface.d.ts +2 -2
  47. package/src/interfaces/dynamic-api-web-socket.interface.d.ts +13 -0
  48. package/src/interfaces/dynamic-api-web-socket.interface.js +3 -0
  49. package/src/interfaces/dynamic-api-web-socket.interface.js.map +1 -0
  50. package/src/interfaces/index.d.ts +1 -0
  51. package/src/interfaces/index.js +1 -0
  52. package/src/interfaces/index.js.map +1 -1
  53. package/src/modules/auth/auth.helper.d.ts +7 -5
  54. package/src/modules/auth/auth.helper.js +29 -5
  55. package/src/modules/auth/auth.helper.js.map +1 -1
  56. package/src/modules/auth/auth.module.js +28 -10
  57. package/src/modules/auth/auth.module.js.map +1 -1
  58. package/src/modules/auth/guards/index.d.ts +4 -2
  59. package/src/modules/auth/guards/index.js +4 -2
  60. package/src/modules/auth/guards/index.js.map +1 -1
  61. package/src/modules/auth/guards/jwt-auth/jwt-auth.guard.js.map +1 -0
  62. package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.d.ts +5 -0
  63. package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js +57 -0
  64. package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js.map +1 -0
  65. package/src/modules/auth/guards/local-auth/local-auth.guard.js.map +1 -0
  66. package/src/modules/auth/guards/reset-password/reset-password.guard.d.ts +6 -0
  67. package/src/modules/auth/guards/reset-password/reset-password.guard.js +30 -0
  68. package/src/modules/auth/guards/reset-password/reset-password.guard.js.map +1 -0
  69. package/src/modules/auth/interfaces/auth-controller.interface.d.ts +3 -0
  70. package/src/modules/auth/interfaces/auth-gateway.interface.d.ts +16 -0
  71. package/src/modules/auth/interfaces/auth-gateway.interface.js +3 -0
  72. package/src/modules/auth/interfaces/auth-gateway.interface.js.map +1 -0
  73. package/src/modules/auth/interfaces/auth-options.interface.d.ts +15 -8
  74. package/src/modules/auth/interfaces/auth-service.interface.d.ts +1 -0
  75. package/src/modules/auth/interfaces/index.d.ts +1 -0
  76. package/src/modules/auth/interfaces/index.js +1 -0
  77. package/src/modules/auth/interfaces/index.js.map +1 -1
  78. package/src/modules/auth/mixins/auth-controller.mixin.d.ts +2 -2
  79. package/src/modules/auth/mixins/auth-controller.mixin.js +31 -5
  80. package/src/modules/auth/mixins/auth-controller.mixin.js.map +1 -1
  81. package/src/modules/auth/mixins/auth-gateway.mixin.d.ts +5 -0
  82. package/src/modules/auth/mixins/auth-gateway.mixin.js +191 -0
  83. package/src/modules/auth/mixins/auth-gateway.mixin.js.map +1 -0
  84. package/src/modules/auth/mixins/auth-policies-guard.mixin.d.ts +6 -0
  85. package/src/modules/auth/mixins/auth-policies-guard.mixin.js +52 -0
  86. package/src/modules/auth/mixins/auth-policies-guard.mixin.js.map +1 -0
  87. package/src/modules/auth/mixins/index.d.ts +2 -1
  88. package/src/modules/auth/mixins/index.js +2 -1
  89. package/src/modules/auth/mixins/index.js.map +1 -1
  90. package/src/modules/auth/services/base-auth.service.d.ts +2 -0
  91. package/src/modules/auth/services/base-auth.service.js +27 -7
  92. package/src/modules/auth/services/base-auth.service.js.map +1 -1
  93. package/src/routes/create-many/create-many-body-dto.mixin.d.ts +7 -0
  94. package/src/routes/create-many/create-many-body-dto.mixin.js +30 -0
  95. package/src/routes/create-many/create-many-body-dto.mixin.js.map +1 -0
  96. package/src/routes/create-many/create-many-controller.interface.d.ts +5 -4
  97. package/src/routes/create-many/create-many-gateway.interface.d.ts +10 -0
  98. package/src/routes/create-many/create-many-gateway.interface.js +3 -0
  99. package/src/routes/create-many/create-many-gateway.interface.js.map +1 -0
  100. package/src/routes/create-many/create-many-gateway.mixin.d.ts +6 -0
  101. package/src/routes/create-many/create-many-gateway.mixin.js +60 -0
  102. package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -0
  103. package/src/routes/create-many/create-many.helper.d.ts +4 -2
  104. package/src/routes/create-many/create-many.helper.js +21 -1
  105. package/src/routes/create-many/create-many.helper.js.map +1 -1
  106. package/src/routes/create-many/create-many.module.d.ts +2 -2
  107. package/src/routes/create-many/create-many.module.js +12 -2
  108. package/src/routes/create-many/create-many.module.js.map +1 -1
  109. package/src/routes/create-many/index.d.ts +3 -0
  110. package/src/routes/create-many/index.js +3 -0
  111. package/src/routes/create-many/index.js.map +1 -1
  112. package/src/routes/create-one/create-one-gateway.interface.d.ts +9 -0
  113. package/src/routes/create-one/create-one-gateway.interface.js +3 -0
  114. package/src/routes/create-one/create-one-gateway.interface.js.map +1 -0
  115. package/src/routes/create-one/create-one-gateway.mixin.d.ts +6 -0
  116. package/src/routes/create-one/create-one-gateway.mixin.js +61 -0
  117. package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -0
  118. package/src/routes/create-one/create-one.helper.d.ts +4 -2
  119. package/src/routes/create-one/create-one.helper.js +21 -1
  120. package/src/routes/create-one/create-one.helper.js.map +1 -1
  121. package/src/routes/create-one/create-one.module.d.ts +2 -2
  122. package/src/routes/create-one/create-one.module.js +12 -2
  123. package/src/routes/create-one/create-one.module.js.map +1 -1
  124. package/src/routes/create-one/index.d.ts +2 -0
  125. package/src/routes/create-one/index.js +2 -0
  126. package/src/routes/create-one/index.js.map +1 -1
  127. package/src/routes/delete-many/delete-many-controller.interface.d.ts +2 -2
  128. package/src/routes/delete-many/delete-many-controller.mixin.js +1 -1
  129. package/src/routes/delete-many/delete-many-controller.mixin.js.map +1 -1
  130. package/src/routes/delete-many/delete-many-gateway.interface.d.ts +10 -0
  131. package/src/routes/delete-many/delete-many-gateway.interface.js +3 -0
  132. package/src/routes/delete-many/delete-many-gateway.interface.js.map +1 -0
  133. package/src/routes/delete-many/delete-many-gateway.mixin.d.ts +6 -0
  134. package/src/routes/delete-many/delete-many-gateway.mixin.js +60 -0
  135. package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -0
  136. package/src/routes/delete-many/delete-many.helper.d.ts +4 -2
  137. package/src/routes/delete-many/delete-many.helper.js +21 -1
  138. package/src/routes/delete-many/delete-many.helper.js.map +1 -1
  139. package/src/routes/delete-many/delete-many.module.d.ts +2 -2
  140. package/src/routes/delete-many/delete-many.module.js +12 -2
  141. package/src/routes/delete-many/delete-many.module.js.map +1 -1
  142. package/src/routes/delete-many/index.d.ts +2 -0
  143. package/src/routes/delete-many/index.js +2 -0
  144. package/src/routes/delete-many/index.js.map +1 -1
  145. package/src/routes/delete-one/delete-one-gateway.interface.d.ts +10 -0
  146. package/src/routes/delete-one/delete-one-gateway.interface.js +3 -0
  147. package/src/routes/delete-one/delete-one-gateway.interface.js.map +1 -0
  148. package/src/routes/delete-one/delete-one-gateway.mixin.d.ts +6 -0
  149. package/src/routes/delete-one/delete-one-gateway.mixin.js +60 -0
  150. package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -0
  151. package/src/routes/delete-one/delete-one.helper.d.ts +4 -2
  152. package/src/routes/delete-one/delete-one.helper.js +21 -1
  153. package/src/routes/delete-one/delete-one.helper.js.map +1 -1
  154. package/src/routes/delete-one/delete-one.module.d.ts +2 -2
  155. package/src/routes/delete-one/delete-one.module.js +12 -2
  156. package/src/routes/delete-one/delete-one.module.js.map +1 -1
  157. package/src/routes/delete-one/index.d.ts +2 -0
  158. package/src/routes/delete-one/index.js +2 -0
  159. package/src/routes/delete-one/index.js.map +1 -1
  160. package/src/routes/duplicate-many/base-duplicate-many.service.js +1 -1
  161. package/src/routes/duplicate-many/base-duplicate-many.service.js.map +1 -1
  162. package/src/routes/duplicate-many/duplicate-many-gateway.interface.d.ts +10 -0
  163. package/src/routes/duplicate-many/duplicate-many-gateway.interface.js +3 -0
  164. package/src/routes/duplicate-many/duplicate-many-gateway.interface.js.map +1 -0
  165. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.d.ts +6 -0
  166. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +60 -0
  167. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -0
  168. package/src/routes/duplicate-many/duplicate-many.helper.d.ts +4 -2
  169. package/src/routes/duplicate-many/duplicate-many.helper.js +21 -1
  170. package/src/routes/duplicate-many/duplicate-many.helper.js.map +1 -1
  171. package/src/routes/duplicate-many/duplicate-many.module.d.ts +2 -2
  172. package/src/routes/duplicate-many/duplicate-many.module.js +12 -2
  173. package/src/routes/duplicate-many/duplicate-many.module.js.map +1 -1
  174. package/src/routes/duplicate-many/index.d.ts +2 -0
  175. package/src/routes/duplicate-many/index.js +2 -0
  176. package/src/routes/duplicate-many/index.js.map +1 -1
  177. package/src/routes/duplicate-one/duplicate-one-gateway.interface.d.ts +10 -0
  178. package/src/routes/duplicate-one/duplicate-one-gateway.interface.js +3 -0
  179. package/src/routes/duplicate-one/duplicate-one-gateway.interface.js.map +1 -0
  180. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.d.ts +6 -0
  181. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +60 -0
  182. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -0
  183. package/src/routes/duplicate-one/duplicate-one.helper.d.ts +4 -2
  184. package/src/routes/duplicate-one/duplicate-one.helper.js +21 -1
  185. package/src/routes/duplicate-one/duplicate-one.helper.js.map +1 -1
  186. package/src/routes/duplicate-one/duplicate-one.module.d.ts +2 -2
  187. package/src/routes/duplicate-one/duplicate-one.module.js +12 -2
  188. package/src/routes/duplicate-one/duplicate-one.module.js.map +1 -1
  189. package/src/routes/duplicate-one/index.d.ts +2 -0
  190. package/src/routes/duplicate-one/index.js +2 -0
  191. package/src/routes/duplicate-one/index.js.map +1 -1
  192. package/src/routes/get-many/get-many-gateway.interface.d.ts +9 -0
  193. package/src/routes/get-many/get-many-gateway.interface.js +3 -0
  194. package/src/routes/get-many/get-many-gateway.interface.js.map +1 -0
  195. package/src/routes/get-many/get-many-gateway.mixin.d.ts +6 -0
  196. package/src/routes/get-many/get-many-gateway.mixin.js +56 -0
  197. package/src/routes/get-many/get-many-gateway.mixin.js.map +1 -0
  198. package/src/routes/get-many/get-many.helper.d.ts +4 -2
  199. package/src/routes/get-many/get-many.helper.js +21 -1
  200. package/src/routes/get-many/get-many.helper.js.map +1 -1
  201. package/src/routes/get-many/get-many.module.d.ts +2 -2
  202. package/src/routes/get-many/get-many.module.js +12 -2
  203. package/src/routes/get-many/get-many.module.js.map +1 -1
  204. package/src/routes/get-many/index.d.ts +2 -0
  205. package/src/routes/get-many/index.js +2 -0
  206. package/src/routes/get-many/index.js.map +1 -1
  207. package/src/routes/get-one/get-one-gateway.interface.d.ts +10 -0
  208. package/src/routes/get-one/get-one-gateway.interface.js +3 -0
  209. package/src/routes/get-one/get-one-gateway.interface.js.map +1 -0
  210. package/src/routes/get-one/get-one-gateway.mixin.d.ts +6 -0
  211. package/src/routes/get-one/get-one-gateway.mixin.js +60 -0
  212. package/src/routes/get-one/get-one-gateway.mixin.js.map +1 -0
  213. package/src/routes/get-one/get-one.helper.d.ts +4 -2
  214. package/src/routes/get-one/get-one.helper.js +21 -1
  215. package/src/routes/get-one/get-one.helper.js.map +1 -1
  216. package/src/routes/get-one/get-one.module.d.ts +2 -2
  217. package/src/routes/get-one/get-one.module.js +12 -2
  218. package/src/routes/get-one/get-one.module.js.map +1 -1
  219. package/src/routes/get-one/index.d.ts +2 -0
  220. package/src/routes/get-one/index.js +2 -0
  221. package/src/routes/get-one/index.js.map +1 -1
  222. package/src/routes/replace-one/index.d.ts +2 -0
  223. package/src/routes/replace-one/index.js +2 -0
  224. package/src/routes/replace-one/index.js.map +1 -1
  225. package/src/routes/replace-one/replace-one-gateway.interface.d.ts +10 -0
  226. package/src/routes/replace-one/replace-one-gateway.interface.js +3 -0
  227. package/src/routes/replace-one/replace-one-gateway.interface.js.map +1 -0
  228. package/src/routes/replace-one/replace-one-gateway.mixin.d.ts +6 -0
  229. package/src/routes/replace-one/replace-one-gateway.mixin.js +60 -0
  230. package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -0
  231. package/src/routes/replace-one/replace-one.helper.d.ts +4 -2
  232. package/src/routes/replace-one/replace-one.helper.js +21 -1
  233. package/src/routes/replace-one/replace-one.helper.js.map +1 -1
  234. package/src/routes/replace-one/replace-one.module.d.ts +2 -2
  235. package/src/routes/replace-one/replace-one.module.js +12 -2
  236. package/src/routes/replace-one/replace-one.module.js.map +1 -1
  237. package/src/routes/update-many/index.d.ts +2 -0
  238. package/src/routes/update-many/index.js +2 -0
  239. package/src/routes/update-many/index.js.map +1 -1
  240. package/src/routes/update-many/update-many-gateway.interface.d.ts +10 -0
  241. package/src/routes/update-many/update-many-gateway.interface.js +3 -0
  242. package/src/routes/update-many/update-many-gateway.interface.js.map +1 -0
  243. package/src/routes/update-many/update-many-gateway.mixin.d.ts +6 -0
  244. package/src/routes/update-many/update-many-gateway.mixin.js +63 -0
  245. package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -0
  246. package/src/routes/update-many/update-many.helper.d.ts +4 -2
  247. package/src/routes/update-many/update-many.helper.js +21 -1
  248. package/src/routes/update-many/update-many.helper.js.map +1 -1
  249. package/src/routes/update-many/update-many.module.d.ts +2 -2
  250. package/src/routes/update-many/update-many.module.js +12 -2
  251. package/src/routes/update-many/update-many.module.js.map +1 -1
  252. package/src/routes/update-one/update-one-gateway.interface.d.ts +10 -0
  253. package/src/routes/update-one/update-one-gateway.interface.js +3 -0
  254. package/src/routes/update-one/update-one-gateway.interface.js.map +1 -0
  255. package/src/routes/update-one/update-one-gateway.mixin.d.ts +6 -0
  256. package/src/routes/update-one/update-one-gateway.mixin.js +60 -0
  257. package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -0
  258. package/src/routes/update-one/update-one.helper.d.ts +4 -2
  259. package/src/routes/update-one/update-one.helper.js +21 -1
  260. package/src/routes/update-one/update-one.helper.js.map +1 -1
  261. package/src/routes/update-one/update-one.module.d.ts +2 -2
  262. package/src/routes/update-one/update-one.module.js +12 -2
  263. package/src/routes/update-one/update-one.module.js.map +1 -1
  264. package/src/services/base/base.service.d.ts +4 -3
  265. package/src/services/base/base.service.js +12 -5
  266. package/src/services/base/base.service.js.map +1 -1
  267. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js +4 -0
  268. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js.map +1 -1
  269. package/src/version.json +1 -1
  270. package/test/dynamic-api-for-root.e2e-spec.js +893 -476
  271. package/test/dynamic-api-for-root.e2e-spec.js.map +1 -1
  272. package/test/e2e.setup.d.ts +16 -1
  273. package/test/e2e.setup.js +62 -7
  274. package/test/e2e.setup.js.map +1 -1
  275. package/tsconfig.tsbuildinfo +1 -1
  276. package/src/dtos/delete-many-entity.query.d.ts +0 -3
  277. package/src/dtos/delete-many-entity.query.js.map +0 -1
  278. package/src/modules/auth/guards/jwt-auth.guard.js.map +0 -1
  279. package/src/modules/auth/guards/local-auth.guard.js.map +0 -1
  280. package/src/modules/auth/mixins/auth-register-policies-guard.mixin.d.ts +0 -5
  281. package/src/modules/auth/mixins/auth-register-policies-guard.mixin.js +0 -31
  282. package/src/modules/auth/mixins/auth-register-policies-guard.mixin.js.map +0 -1
  283. /package/src/modules/auth/guards/{jwt-auth.guard.d.ts → jwt-auth/jwt-auth.guard.d.ts} +0 -0
  284. /package/src/modules/auth/guards/{jwt-auth.guard.js → jwt-auth/jwt-auth.guard.js} +0 -0
  285. /package/src/modules/auth/guards/{local-auth.guard.d.ts → local-auth/local-auth.guard.d.ts} +0 -0
  286. /package/src/modules/auth/guards/{local-auth.guard.js → local-auth/local-auth.guard.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  Changelog
2
2
 
3
+ ## [2.4.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.3.17...v2.4.0) (2024-08-11)
4
+
5
+
6
+ ### web-socket
7
+
8
+ * **web-socket:** add all modules configuration ([bf51c9a](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/bf51c9ae0037c285ad251250f9dbb3cd29e42dec))
9
+
10
+ ## [2.3.17](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.3.16...v2.3.17) (2024-05-26)
11
+
12
+
13
+ ### authentication
14
+
15
+ * **authentication:** rework reset and change password behaviors when options are provided ([3a0f09d](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/3a0f09dd23f0083c79632bed9a83e93eb90c62d2))
16
+
3
17
  ## [2.3.16](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.3.15...v2.3.16) (2024-05-25)
4
18
 
5
19
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb-dynamic-api",
3
- "version": "2.3.16",
3
+ "version": "2.4.0",
4
4
  "description": "Auto generated CRUD API for MongoDB using NestJS",
5
5
  "readmeFilename": "README.md",
6
6
  "main": "index.js",
@@ -47,7 +47,9 @@
47
47
  "@nestjs/mongoose": "^10.0.4",
48
48
  "@nestjs/passport": "^10.0.3",
49
49
  "@nestjs/platform-express": "^10.3.2",
50
+ "@nestjs/platform-socket.io": "^10.3.8",
50
51
  "@nestjs/swagger": "^7.3.0",
52
+ "@nestjs/websockets": "^10.3.8",
51
53
  "@types/lodash": "^4.14.202",
52
54
  "bcrypt": "^5.1.1",
53
55
  "builder-pattern": "^2.2.0",
@@ -61,7 +63,8 @@
61
63
  "passport-jwt": "^4.0.1",
62
64
  "passport-local": "^1.0.0",
63
65
  "reflect-metadata": "^0.2.1",
64
- "rxjs": "^7.8.1"
66
+ "rxjs": "^7.8.1",
67
+ "socket.io-client": "^4.7.5"
65
68
  },
66
69
  "devDependencies": {
67
70
  "@golevelup/ts-jest": "^0.4.0",
@@ -0,0 +1,8 @@
1
+ import { IoAdapter } from '@nestjs/platform-socket.io';
2
+ import { ServerOptions } from 'socket.io';
3
+ export declare class SocketAdapter extends IoAdapter {
4
+ createIOServer(port: number, options?: ServerOptions & {
5
+ namespace?: string;
6
+ server?: any;
7
+ }): any;
8
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SocketAdapter = void 0;
4
+ const platform_socket_io_1 = require("@nestjs/platform-socket.io");
5
+ class SocketAdapter extends platform_socket_io_1.IoAdapter {
6
+ createIOServer(port, options) {
7
+ return super.createIOServer(port, { ...options, cors: true });
8
+ }
9
+ }
10
+ exports.SocketAdapter = SocketAdapter;
11
+ //# sourceMappingURL=socket-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket-adapter.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/adapters/socket-adapter.ts"],"names":[],"mappings":";;;AAAA,mEAAuD;AAGvD,MAAa,aAAc,SAAQ,8BAAS;IAC1C,cAAc,CACZ,IAAY,EACZ,OAGC;QAED,OAAO,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;CACF;AAVD,sCAUC"}
@@ -1,9 +1,9 @@
1
1
  import { Type } from '@nestjs/common';
2
2
  import { DynamicApiDecoratorBuilder } from '../../interfaces';
3
3
  declare class AuthDecoratorsBuilder implements DynamicApiDecoratorBuilder<any> {
4
- private readonly protectRegister;
5
- private readonly AuthRegisterPoliciesGuard;
6
- constructor(protectRegister: boolean | undefined, AuthRegisterPoliciesGuard: Type);
7
- build(): (MethodDecorator & ClassDecorator)[];
4
+ private readonly isProtected;
5
+ private readonly AuthPoliciesGuard;
6
+ constructor(isProtected: boolean | undefined, AuthPoliciesGuard: Type);
7
+ build(): (ClassDecorator & MethodDecorator)[];
8
8
  }
9
9
  export { AuthDecoratorsBuilder };
@@ -6,14 +6,17 @@ const swagger_1 = require("@nestjs/swagger");
6
6
  const decorators_1 = require("../../decorators");
7
7
  const modules_1 = require("../../modules");
8
8
  class AuthDecoratorsBuilder {
9
- constructor(protectRegister, AuthRegisterPoliciesGuard) {
10
- this.protectRegister = protectRegister;
11
- this.AuthRegisterPoliciesGuard = AuthRegisterPoliciesGuard;
9
+ constructor(isProtected, AuthPoliciesGuard) {
10
+ this.isProtected = isProtected;
11
+ this.AuthPoliciesGuard = AuthPoliciesGuard;
12
12
  }
13
13
  build() {
14
- return !this.protectRegister
15
- ? [(0, decorators_1.Public)(), (0, common_1.UseGuards)(this.AuthRegisterPoliciesGuard)]
16
- : [(0, swagger_1.ApiBearerAuth)(), (0, common_1.UseGuards)(modules_1.JwtAuthGuard, this.AuthRegisterPoliciesGuard)];
14
+ return !this.isProtected
15
+ ? [(0, decorators_1.Public)()]
16
+ : [
17
+ (0, swagger_1.ApiBearerAuth)(),
18
+ (0, common_1.UseGuards)(modules_1.JwtAuthGuard, ...(this.AuthPoliciesGuard ? [this.AuthPoliciesGuard] : [])),
19
+ ];
17
20
  }
18
21
  }
19
22
  exports.AuthDecoratorsBuilder = AuthDecoratorsBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-decorators.builder.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/builders/route-decorators/auth-decorators.builder.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AACjD,6CAAgD;AAChD,iDAA0C;AAE1C,2CAA6C;AAE7C,MAAM,qBAAqB;IACzB,YACmB,eAAoC,EACpC,yBAA+B;QAD/B,oBAAe,GAAf,eAAe,CAAqB;QACpC,8BAAyB,GAAzB,yBAAyB,CAAM;IAC/C,CAAC;IAEG,KAAK;QACV,OAAO,CAAC,IAAI,CAAC,eAAe;YAC1B,CAAC,CAAC,CAAC,IAAA,mBAAM,GAAE,EAAE,IAAA,kBAAS,EAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,IAAA,uBAAa,GAAE,EAAE,IAAA,kBAAS,EAAC,sBAAY,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACjF,CAAC;CACF;AAEQ,sDAAqB"}
1
+ {"version":3,"file":"auth-decorators.builder.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/builders/route-decorators/auth-decorators.builder.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AACjD,6CAAgD;AAChD,iDAA0C;AAE1C,2CAA6C;AAE7C,MAAM,qBAAqB;IACzB,YACmB,WAAgC,EAChC,iBAAuB;QADvB,gBAAW,GAAX,WAAW,CAAqB;QAChC,sBAAiB,GAAjB,iBAAiB,CAAM;IACvC,CAAC;IAEG,KAAK;QACV,OAAO,CAAC,IAAI,CAAC,WAAW;YACtB,CAAC,CAAC,CAAC,IAAA,mBAAM,GAAE,CAAC;YACZ,CAAC,CAAC;gBACA,IAAA,uBAAa,GAAE;gBACf,IAAA,kBAAS,EACP,sBAAY,EACZ,GAAG,CACD,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CACvD,CACF;aACF,CAAC;IACN,CAAC;CACF;AAEQ,sDAAqB"}
@@ -1,4 +1,4 @@
1
- export * from './delete-many-entity.query';
1
+ export * from './many-entity.query';
2
2
  export * from './delete.presenter';
3
3
  export * from './entity.param';
4
4
  export * from './entity.query';
package/src/dtos/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./delete-many-entity.query"), exports);
17
+ __exportStar(require("./many-entity.query"), exports);
18
18
  __exportStar(require("./delete.presenter"), exports);
19
19
  __exportStar(require("./entity.param"), exports);
20
20
  __exportStar(require("./entity.query"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,qDAAmC;AACnC,iDAA+B;AAC/B,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,qDAAmC;AACnC,iDAA+B;AAC/B,iDAA+B"}
@@ -0,0 +1,3 @@
1
+ export declare class ManyEntityQuery {
2
+ ids: string[];
3
+ }
@@ -9,17 +9,17 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DeleteManyEntityQuery = void 0;
12
+ exports.ManyEntityQuery = void 0;
13
13
  const swagger_1 = require("@nestjs/swagger");
14
14
  const class_validator_1 = require("class-validator");
15
- class DeleteManyEntityQuery {
15
+ class ManyEntityQuery {
16
16
  }
17
- exports.DeleteManyEntityQuery = DeleteManyEntityQuery;
17
+ exports.ManyEntityQuery = ManyEntityQuery;
18
18
  __decorate([
19
19
  (0, swagger_1.ApiProperty)({ type: [String], minItems: 1 }),
20
20
  (0, class_validator_1.IsNotEmpty)({ each: true }),
21
21
  (0, class_validator_1.IsString)({ each: true }),
22
22
  (0, class_validator_1.ArrayMinSize)(1),
23
23
  __metadata("design:type", Array)
24
- ], DeleteManyEntityQuery.prototype, "ids", void 0);
25
- //# sourceMappingURL=delete-many-entity.query.js.map
24
+ ], ManyEntityQuery.prototype, "ids", void 0);
25
+ //# sourceMappingURL=many-entity.query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"many-entity.query.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/dtos/many-entity.query.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAqE;AAErE,MAAa,eAAe;CAM3B;AAND,0CAMC;AADC;IAJC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC5C,IAAA,4BAAU,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,8BAAY,EAAC,CAAC,CAAC;;4CACF"}
@@ -4,8 +4,8 @@ import { BaseEntity } from './models';
4
4
  import { DynamicApiGlobalStateService } from './services';
5
5
  export declare class DynamicApiModule {
6
6
  static readonly state: DynamicApiGlobalStateService;
7
- static forRoot<Entity extends BaseEntity = any>(uri: string, { useGlobalCache, cacheOptions, useAuth, routesConfig, }?: DynamicApiForRootOptions<Entity>): DynamicModule;
8
- static forFeature<Entity extends BaseEntity>({ entity, controllerOptions, routes, }: DynamicApiForFeatureOptions<Entity>): Promise<DynamicModule>;
7
+ static forRoot<Entity extends BaseEntity = any>(uri: string, { useGlobalCache, cacheOptions, useAuth, routesConfig, webSocket, }?: DynamicApiForRootOptions<Entity>): DynamicModule;
8
+ static forFeature<Entity extends BaseEntity>({ entity, controllerOptions, routes, webSocket: featureWebSocket, }: DynamicApiForFeatureOptions<Entity>): Promise<DynamicModule>;
9
9
  private static buildStateFromOptions;
10
10
  private static setDefaultRoutes;
11
11
  }
@@ -21,13 +21,13 @@ const modules_1 = require("./modules");
21
21
  const routes_1 = require("./routes");
22
22
  const services_1 = require("./services");
23
23
  let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
24
- static forRoot(uri, { useGlobalCache = true, cacheOptions = {}, useAuth, routesConfig, } = {}) {
24
+ static forRoot(uri, { useGlobalCache = true, cacheOptions = {}, useAuth, routesConfig, webSocket, } = {}) {
25
25
  if (!uri) {
26
26
  throw new Error('You must provide a valid mongodb uri in the forRoot method to use MongoDB Dynamic API');
27
27
  }
28
28
  this.state.set([
29
29
  'partial',
30
- this.buildStateFromOptions(uri, useGlobalCache, cacheOptions, useAuth, routesConfig),
30
+ this.buildStateFromOptions(uri, useGlobalCache, cacheOptions, useAuth, routesConfig, webSocket),
31
31
  ]);
32
32
  return {
33
33
  module: DynamicApiModule_1,
@@ -36,13 +36,13 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
36
36
  cache_manager_1.CacheModule.register({ isGlobal: true, ...cacheOptions }),
37
37
  mongoose_1.MongooseModule.forRoot(uri, { connectionName: this.state.get('connectionName') }),
38
38
  ...(useAuth?.userEntity ? [
39
- modules_1.AuthModule.forRoot(useAuth),
39
+ modules_1.AuthModule.forRoot({ ...useAuth, webSocket: useAuth.webSocket ?? webSocket }),
40
40
  ] : []),
41
41
  ],
42
42
  exports: [modules_1.DynamicApiConfigModule],
43
43
  };
44
44
  }
45
- static forFeature({ entity, controllerOptions, routes, }) {
45
+ static forFeature({ entity, controllerOptions, routes, webSocket: featureWebSocket, }) {
46
46
  const schema = (0, helpers_1.buildSchemaFromEntity)(entity);
47
47
  const databaseModule = mongoose_1.MongooseModule.forFeature([{ name: entity.name, schema }], this.state.get('connectionName'));
48
48
  services_1.DynamicApiGlobalStateService.addEntitySchema(entity, schema);
@@ -78,7 +78,7 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
78
78
  module: DynamicApiModule_1,
79
79
  imports: [
80
80
  ...routes.map((routeConfig) => {
81
- const { type, description: routeDescription, version: routeVersion, validationPipeOptions: routeValidationPipeOptions, } = routeConfig;
81
+ const { type, description: routeDescription, version: routeVersion, validationPipeOptions: routeValidationPipeOptions, webSocket: routeWebSocket, } = routeConfig;
82
82
  const module = moduleByRouteType.get(type);
83
83
  const description = routeDescription ?? (0, helpers_1.getDefaultRouteDescription)(type, entity.name);
84
84
  const version = routeVersion ?? controllerVersion;
@@ -88,7 +88,7 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
88
88
  return;
89
89
  }
90
90
  const validationPipeOptions = routeValidationPipeOptions ?? controllerValidationPipeOptions;
91
- return module.forFeature(databaseModule, entity, controllerOptions, { ...routeConfig, description }, version, validationPipeOptions ?? { transform: true });
91
+ return module.forFeature(databaseModule, entity, controllerOptions, { ...routeConfig, description }, version, validationPipeOptions ?? { transform: true }, routeWebSocket ?? featureWebSocket);
92
92
  }),
93
93
  ],
94
94
  providers: [
@@ -112,7 +112,7 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
112
112
  });
113
113
  });
114
114
  }
115
- static buildStateFromOptions(uri, useGlobalCache, cacheOptions, useAuth, routesConfig) {
115
+ static buildStateFromOptions(uri, useGlobalCache, cacheOptions, useAuth, routesConfig, webSocket) {
116
116
  const routesConfigState = this.state.get('routesConfig');
117
117
  return {
118
118
  uri,
@@ -126,6 +126,8 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
126
126
  passwordField: !useAuth.login?.passwordField ? 'password' : String(useAuth.login.passwordField),
127
127
  },
128
128
  jwtSecret: useAuth.jwt?.secret ?? 'dynamic-api-jwt-secret',
129
+ jwtExpirationTime: useAuth.jwt?.expiresIn ?? '1d',
130
+ gatewayOptions: (0, helpers_1.initializeConfigFromOptions)(webSocket),
129
131
  } : {}),
130
132
  ...(routesConfig?.excluded?.length || routesConfig?.defaults.length ? {
131
133
  routesConfig: {
@@ -133,6 +135,7 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
133
135
  excluded: routesConfig.excluded ?? [],
134
136
  },
135
137
  } : {}),
138
+ gatewayOptions: (0, helpers_1.initializeConfigFromOptions)(webSocket),
136
139
  };
137
140
  }
138
141
  static setDefaultRoutes(stateRoutesConfig, controllerRoutesConfig = {}, routes = []) {
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-api.module.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/dynamic-api.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-api.module.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/dynamic-api.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ArgumentsHost, ExceptionFilter, HttpException } from '@nestjs/common';
2
+ import { WsException } from '@nestjs/websockets';
3
+ export declare class DynamicAPIWsExceptionFilter<T> implements ExceptionFilter {
4
+ catch(exception: WsException | HttpException, host: ArgumentsHost): void;
5
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DynamicAPIWsExceptionFilter = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const websockets_1 = require("@nestjs/websockets");
12
+ let DynamicAPIWsExceptionFilter = class DynamicAPIWsExceptionFilter {
13
+ catch(exception, host) {
14
+ const client = host.switchToWs().getClient();
15
+ let message;
16
+ if (exception instanceof websockets_1.WsException) {
17
+ message = exception.message ?? 'An error occurred';
18
+ }
19
+ else {
20
+ message = exception['response']?.message ?? exception.message;
21
+ }
22
+ client.emit('exception', { message });
23
+ }
24
+ };
25
+ exports.DynamicAPIWsExceptionFilter = DynamicAPIWsExceptionFilter;
26
+ exports.DynamicAPIWsExceptionFilter = DynamicAPIWsExceptionFilter = __decorate([
27
+ (0, common_1.Catch)()
28
+ ], DynamicAPIWsExceptionFilter);
29
+ //# sourceMappingURL=dynamic-api-ws-exception.filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-api-ws-exception.filter.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/filters/ws-exception/dynamic-api-ws-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAsF;AACtF,mDAAiD;AAG1C,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACtC,KAAK,CAAC,SAAsC,EAAE,IAAmB;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC;QAE7C,IAAI,OAAe,CAAC;QAEpB,IAAI,SAAS,YAAY,wBAAW,EAAE,CAAC;YACrC,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,mBAAmB,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;QAChE,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AAdY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,cAAK,GAAE;GACK,2BAA2B,CAcvC"}
@@ -0,0 +1,10 @@
1
+ import { JwtService } from '@nestjs/jwt';
2
+ import { ExtendedSocket } from '../interfaces';
3
+ import { BaseEntity } from '../models';
4
+ export declare abstract class BaseGateway<Entity extends BaseEntity> {
5
+ protected readonly jwtService: JwtService;
6
+ private readonly logger;
7
+ protected constructor(jwtService: JwtService);
8
+ protected addUserToSocket(socket: ExtendedSocket<Entity>, isPublic: boolean): void;
9
+ protected isValidManyBody<T extends object>(body: T): boolean;
10
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseGateway = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const websockets_1 = require("@nestjs/websockets");
6
+ const lodash_1 = require("lodash");
7
+ const dynamic_api_module_1 = require("../dynamic-api.module");
8
+ class BaseGateway {
9
+ constructor(jwtService) {
10
+ this.jwtService = jwtService;
11
+ this.logger = new common_1.Logger(BaseGateway.name);
12
+ }
13
+ addUserToSocket(socket, isPublic) {
14
+ const isAuthEnabled = dynamic_api_module_1.DynamicApiModule.state.get('isAuthEnabled');
15
+ if (!isAuthEnabled || isPublic) {
16
+ return;
17
+ }
18
+ const accessToken = socket.handshake.query.accessToken;
19
+ let verified;
20
+ if (accessToken) {
21
+ try {
22
+ verified = this.jwtService.verify(accessToken, {
23
+ secret: dynamic_api_module_1.DynamicApiModule.state.get('jwtSecret'),
24
+ });
25
+ }
26
+ catch (e) {
27
+ this.logger.warn('Invalid access token');
28
+ this.logger.error(e.message, e.stack);
29
+ }
30
+ const { iat, exp, ...user } = verified ?? {};
31
+ socket.user = !(0, lodash_1.isEmpty)(user) ? user : undefined;
32
+ }
33
+ if (socket.user?.id && verified?.exp > Date.now() / 1000) {
34
+ return;
35
+ }
36
+ throw new websockets_1.WsException('Unauthorized');
37
+ }
38
+ isValidManyBody(body) {
39
+ return Boolean('ids' in body &&
40
+ Array.isArray(body.ids) &&
41
+ body.ids.length);
42
+ }
43
+ }
44
+ exports.BaseGateway = BaseGateway;
45
+ //# sourceMappingURL=base.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.gateway.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/base.gateway.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,mDAAiD;AACjD,mCAAiC;AAEjC,8DAAyD;AAIzD,MAAsB,WAAW;IAG/B,YAAyC,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAF9C,WAAM,GAAG,IAAI,eAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEW,CAAC;IAEzD,eAAe,CAAC,MAA8B,EAAE,QAAiB;QACzE,MAAM,aAAa,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAElE,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAqB,CAAC;QACjE,IAAI,QAAyD,CAAC;QAE9D,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;oBAC7C,MAAM,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;iBAChD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YAGD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;YAE7C,MAAM,CAAC,IAAI,GAAG,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAES,eAAe,CAAmB,IAAO;QACjD,OAAO,OAAO,CAAC,KAAK,IAAI,IAAI;YAC1B,KAAK,CAAC,OAAO,CACX,IACD,CAAC,GAAG,CAAC;YAEJ,IACD,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;CACF;AA/CD,kCA+CC"}
@@ -0,0 +1 @@
1
+ export * from './base.gateway';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./base.gateway"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
@@ -1,20 +1,10 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.getControllerMixinData = void 0;
13
4
  const swagger_1 = require("@nestjs/swagger");
14
- const class_transformer_1 = require("class-transformer");
15
- const class_validator_1 = require("class-validator");
16
5
  const dtos_1 = require("../dtos");
17
6
  const mixins_1 = require("../mixins");
7
+ const routes_1 = require("../routes");
18
8
  const controller_ability_predicates_helper_1 = require("./controller-ability-predicates.helper");
19
9
  const format_helper_1 = require("./format.helper");
20
10
  const versioning_config_helper_1 = require("./versioning-config.helper");
@@ -25,16 +15,8 @@ function buildCreateManyBodyDTO(entity, displayedName, version, CustomBody) {
25
15
  value: `${displayedName}${(0, versioning_config_helper_1.addVersionSuffix)(version)}Dto`,
26
16
  writable: false,
27
17
  });
28
- class CreateManyBody {
18
+ class CreateManyBody extends (0, routes_1.CreateManyBodyDtoMixin)(DtoBody) {
29
19
  }
30
- __decorate([
31
- (0, swagger_1.ApiProperty)({ type: [DtoBody] }),
32
- (0, class_validator_1.ValidateNested)({ each: true }),
33
- (0, class_validator_1.IsInstance)(DtoBody, { each: true }),
34
- (0, class_validator_1.ArrayMinSize)(1),
35
- (0, class_transformer_1.Type)(() => DtoBody),
36
- __metadata("design:type", Array)
37
- ], CreateManyBody.prototype, "list", void 0);
38
20
  class RouteBody extends (0, swagger_1.PickType)(CustomBody ?? CreateManyBody, ['list']) {
39
21
  }
40
22
  Object.defineProperty(RouteBody, 'name', {
@@ -1 +1 @@
1
- {"version":3,"file":"controller-mixin.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/controller-mixin.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-mixin.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/controller-mixin.helper.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { RouteType } from '../interfaces';
2
- export declare function pascalCase(str?: string): string;
3
- export declare function isValidVersion(version: string): boolean;
4
- export declare function getFormattedApiTag(apiTag: string | undefined, entityName: string): string;
5
- export declare function provideName(routeType: RouteType, entityName: string, version: string | undefined, suffix: 'Service' | 'Controller' | 'PoliciesGuard'): string;
2
+ declare function pascalCase(str?: string): string;
3
+ declare function isValidVersion(version: string): boolean;
4
+ declare function getFormattedApiTag(apiTag: string | undefined, entityName: string): string;
5
+ declare function provideName(routeType: RouteType, entityName: string, version: string | undefined, suffix: 'Service' | 'Controller' | 'PoliciesGuard' | 'Gateway'): string;
6
+ declare function isEmptyObject(obj?: unknown): boolean;
7
+ declare function isNotEmptyObject(obj?: unknown): boolean;
8
+ export { pascalCase, isValidVersion, getFormattedApiTag, provideName, isEmptyObject, isNotEmptyObject, };
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.provideName = exports.getFormattedApiTag = exports.isValidVersion = exports.pascalCase = void 0;
3
+ exports.isNotEmptyObject = exports.isEmptyObject = exports.provideName = exports.getFormattedApiTag = exports.isValidVersion = exports.pascalCase = void 0;
4
4
  const lodash_1 = require("lodash");
5
5
  const versioning_config_helper_1 = require("./versioning-config.helper");
6
+ function getNamePrefix(routeType, entityName, version) {
7
+ return `${routeType}${entityName}${(0, versioning_config_helper_1.addVersionSuffix)(version)}`;
8
+ }
6
9
  function pascalCase(str) {
7
10
  return str ? (0, lodash_1.upperFirst)((0, lodash_1.camelCase)(str)) : undefined;
8
11
  }
@@ -15,11 +18,16 @@ function getFormattedApiTag(apiTag, entityName) {
15
18
  return pascalCase(apiTag) ?? entityName;
16
19
  }
17
20
  exports.getFormattedApiTag = getFormattedApiTag;
18
- function getNamePrefix(routeType, entityName, version) {
19
- return `${routeType}${entityName}${(0, versioning_config_helper_1.addVersionSuffix)(version)}`;
20
- }
21
21
  function provideName(routeType, entityName, version, suffix) {
22
22
  return `${getNamePrefix(routeType, entityName, version)}${suffix}`;
23
23
  }
24
24
  exports.provideName = provideName;
25
+ function isEmptyObject(obj) {
26
+ return obj ? typeof obj === 'object' && Object.keys(obj).length === 0 : true;
27
+ }
28
+ exports.isEmptyObject = isEmptyObject;
29
+ function isNotEmptyObject(obj) {
30
+ return !isEmptyObject(obj);
31
+ }
32
+ exports.isNotEmptyObject = isNotEmptyObject;
25
33
  //# sourceMappingURL=format.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/format.helper.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,yEAA8D;AAE9D,SAAgB,UAAU,CAAC,GAAY;IACrC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAU,EAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAFD,gCAEC;AAED,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAFD,wCAEC;AAED,SAAgB,kBAAkB,CAAC,MAA0B,EAAE,UAAkB;IAC/E,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC;AAC1C,CAAC;AAFD,gDAEC;AAED,SAAS,aAAa,CAAC,SAAoB,EAAE,UAAkB,EAAE,OAA2B;IAC1F,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,IAAA,2CAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAgB,WAAW,CACzB,SAAoB,EACpB,UAAkB,EAClB,OAA2B,EAC3B,MAAkD;IAElD,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;AACrE,CAAC;AAPD,kCAOC"}
1
+ {"version":3,"file":"format.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/format.helper.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,yEAA8D;AAE9D,SAAS,aAAa,CAAC,SAAoB,EAAE,UAAkB,EAAE,OAA2B;IAC1F,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,IAAA,2CAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAU,EAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AA4BC,gCAAU;AA1BZ,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAyBC,wCAAc;AAvBhB,SAAS,kBAAkB,CAAC,MAA0B,EAAE,UAAkB;IACxE,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC;AAC1C,CAAC;AAsBC,gDAAkB;AApBpB,SAAS,WAAW,CAClB,SAAoB,EACpB,UAAkB,EAClB,OAA2B,EAC3B,MAA8D;IAE9D,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;AACrE,CAAC;AAcC,kCAAW;AAZb,SAAS,aAAa,CAAC,GAAa;IAClC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC;AAWC,sCAAa;AATf,SAAS,gBAAgB,CAAC,GAAa;IACrC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAQC,4CAAgB"}
@@ -4,6 +4,7 @@ export * from './format.helper';
4
4
  export * from './route-decorators.helper';
5
5
  export * from './route-description.helper';
6
6
  export * from './schema.helper';
7
+ export * from './socket-config.helper';
7
8
  export * from './swagger-config.helper';
8
9
  export * from './validation-config.helper';
9
10
  export * from './versioning-config.helper';
@@ -20,6 +20,7 @@ __exportStar(require("./format.helper"), exports);
20
20
  __exportStar(require("./route-decorators.helper"), exports);
21
21
  __exportStar(require("./route-description.helper"), exports);
22
22
  __exportStar(require("./schema.helper"), exports);
23
+ __exportStar(require("./socket-config.helper"), exports);
23
24
  __exportStar(require("./swagger-config.helper"), exports);
24
25
  __exportStar(require("./validation-config.helper"), exports);
25
26
  __exportStar(require("./versioning-config.helper"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,4DAA0C;AAC1C,kDAAgC;AAChC,4DAA0C;AAC1C,6DAA2C;AAC3C,kDAAgC;AAChC,0DAAwC;AACxC,6DAA2C;AAC3C,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,4DAA0C;AAC1C,kDAAgC;AAChC,4DAA0C;AAC1C,6DAA2C;AAC3C,kDAAgC;AAChC,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAC3C,6DAA2C"}
@@ -0,0 +1,5 @@
1
+ import { INestApplication } from '@nestjs/common';
2
+ import { DynamicApiWebSocketOptions, GatewayOptions } from '../interfaces';
3
+ declare function enableDynamicAPIWebSockets(app: INestApplication, maxListeners?: number): void;
4
+ declare function initializeConfigFromOptions(options?: DynamicApiWebSocketOptions): GatewayOptions | undefined;
5
+ export { initializeConfigFromOptions, enableDynamicAPIWebSockets };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enableDynamicAPIWebSockets = exports.initializeConfigFromOptions = void 0;
4
+ const socket_adapter_1 = require("../adapters/socket-adapter");
5
+ function initEventsListeners(maxListeners = 10) {
6
+ require('events').EventEmitter.prototype._maxListeners = 100;
7
+ require('events').defaultMaxListeners = 100;
8
+ require('events').EventEmitter.prototype.setMaxListeners(maxListeners);
9
+ }
10
+ function enableDynamicAPIWebSockets(app, maxListeners) {
11
+ initEventsListeners(maxListeners);
12
+ process.on('warning', function (err) {
13
+ if ('MaxListenersExceededWarning' == err.name) {
14
+ console.warn('\nTo fix the MaxListenersExceededWarning, you can increase the maxListeners');
15
+ console.warn('by passing the value to the enableDynamicAPIWebSockets function as the second argument:\n');
16
+ console.warn('>>> enableDynamicAPIWebSockets(app, 15);\n\n');
17
+ process.exit(1);
18
+ }
19
+ });
20
+ app.useWebSocketAdapter(new socket_adapter_1.SocketAdapter(app));
21
+ }
22
+ exports.enableDynamicAPIWebSockets = enableDynamicAPIWebSockets;
23
+ function initializeConfigFromOptions(options) {
24
+ if (!options) {
25
+ return;
26
+ }
27
+ return typeof options === 'boolean' ? {} : options;
28
+ }
29
+ exports.initializeConfigFromOptions = initializeConfigFromOptions;
30
+ //# sourceMappingURL=socket-config.helper.js.map