mongodb-dynamic-api 4.15.0 → 4.18.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 (255) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/README.md +2 -1
  3. package/package.json +1 -1
  4. package/src/decorators/entity-exists.decorator.d.ts +10 -0
  5. package/src/decorators/entity-exists.decorator.js +46 -0
  6. package/src/decorators/entity-exists.decorator.js.map +1 -0
  7. package/src/decorators/index.d.ts +2 -0
  8. package/src/decorators/index.js +2 -0
  9. package/src/decorators/index.js.map +1 -1
  10. package/src/decorators/is-unique.decorator.d.ts +10 -0
  11. package/src/decorators/is-unique.decorator.js +57 -0
  12. package/src/decorators/is-unique.decorator.js.map +1 -0
  13. package/src/dynamic-api.module.d.ts +1 -1
  14. package/src/dynamic-api.module.js +4 -3
  15. package/src/dynamic-api.module.js.map +1 -1
  16. package/src/gateways/base.gateway.js +17 -23
  17. package/src/gateways/base.gateway.js.map +1 -1
  18. package/src/helpers/event-registry.store.d.ts +29 -0
  19. package/src/helpers/event-registry.store.js +45 -0
  20. package/src/helpers/event-registry.store.js.map +1 -0
  21. package/src/helpers/index.d.ts +4 -0
  22. package/src/helpers/index.js +4 -0
  23. package/src/helpers/index.js.map +1 -1
  24. package/src/helpers/mixin-data.helper.d.ts +2 -2
  25. package/src/helpers/mixin-data.helper.js +14 -1
  26. package/src/helpers/mixin-data.helper.js.map +1 -1
  27. package/src/helpers/mongoose-cast-error.helper.d.ts +2 -0
  28. package/src/helpers/mongoose-cast-error.helper.js +8 -0
  29. package/src/helpers/mongoose-cast-error.helper.js.map +1 -0
  30. package/src/helpers/predicate-identifier.helper.d.ts +3 -0
  31. package/src/helpers/predicate-identifier.helper.js +34 -0
  32. package/src/helpers/predicate-identifier.helper.js.map +1 -0
  33. package/src/helpers/resolve-broadcast.helper.d.ts +8 -0
  34. package/src/helpers/resolve-broadcast.helper.js +25 -0
  35. package/src/helpers/resolve-broadcast.helper.js.map +1 -0
  36. package/src/helpers/socket-config.helper.js +14 -0
  37. package/src/helpers/socket-config.helper.js.map +1 -1
  38. package/src/helpers/strip-business-validators.helper.d.ts +3 -0
  39. package/src/helpers/strip-business-validators.helper.js +17 -0
  40. package/src/helpers/strip-business-validators.helper.js.map +1 -0
  41. package/src/index.d.ts +1 -0
  42. package/src/index.js +1 -0
  43. package/src/index.js.map +1 -1
  44. package/src/interceptors/index.d.ts +1 -0
  45. package/src/interceptors/index.js +1 -0
  46. package/src/interceptors/index.js.map +1 -1
  47. package/src/interceptors/merge-id-param.interceptor.d.ts +6 -0
  48. package/src/interceptors/merge-id-param.interceptor.js +24 -0
  49. package/src/interceptors/merge-id-param.interceptor.js.map +1 -0
  50. package/src/interfaces/dynamic-api-global-state.interface.d.ts +2 -0
  51. package/src/interfaces/dynamic-api-options.interface.d.ts +2 -0
  52. package/src/interfaces/dynamic-api-options.interface.js.map +1 -1
  53. package/src/interfaces/dynamic-api-route-config.interface.d.ts +2 -1
  54. package/src/interfaces/dynamic-api-route-config.interface.js.map +1 -1
  55. package/src/interfaces/dynamic-api-service-callback.interface.d.ts +14 -1
  56. package/src/interfaces/dynamic-api-web-socket.interface.d.ts +1 -0
  57. package/src/modules/auth/mixins/auth-controller.mixin.js +52 -1
  58. package/src/modules/auth/mixins/auth-controller.mixin.js.map +1 -1
  59. package/src/modules/auth/mixins/auth-gateway.mixin.js +52 -1
  60. package/src/modules/auth/mixins/auth-gateway.mixin.js.map +1 -1
  61. package/src/predicates/admin.predicate.d.ts +9 -0
  62. package/src/predicates/admin.predicate.js +17 -0
  63. package/src/predicates/admin.predicate.js.map +1 -0
  64. package/src/predicates/composition.predicate.d.ts +6 -0
  65. package/src/predicates/composition.predicate.js +15 -0
  66. package/src/predicates/composition.predicate.js.map +1 -0
  67. package/src/predicates/group-member.predicate.d.ts +9 -0
  68. package/src/predicates/group-member.predicate.js +21 -0
  69. package/src/predicates/group-member.predicate.js.map +1 -0
  70. package/src/predicates/index.d.ts +6 -0
  71. package/src/predicates/index.js +23 -0
  72. package/src/predicates/index.js.map +1 -0
  73. package/src/predicates/ownership.predicate.d.ts +9 -0
  74. package/src/predicates/ownership.predicate.js +16 -0
  75. package/src/predicates/ownership.predicate.js.map +1 -0
  76. package/src/predicates/soft-delete.predicate.d.ts +7 -0
  77. package/src/predicates/soft-delete.predicate.js +8 -0
  78. package/src/predicates/soft-delete.predicate.js.map +1 -0
  79. package/src/predicates/visibility.predicate.d.ts +7 -0
  80. package/src/predicates/visibility.predicate.js +8 -0
  81. package/src/predicates/visibility.predicate.js.map +1 -0
  82. package/src/routes/aggregate/aggregate.helper.d.ts +2 -2
  83. package/src/routes/aggregate/aggregate.helper.js +3 -2
  84. package/src/routes/aggregate/aggregate.helper.js.map +1 -1
  85. package/src/routes/aggregate/aggregate.module.js +1 -1
  86. package/src/routes/aggregate/aggregate.module.js.map +1 -1
  87. package/src/routes/aggregate/base-aggregate.service.d.ts +2 -1
  88. package/src/routes/aggregate/base-aggregate.service.js +2 -2
  89. package/src/routes/aggregate/base-aggregate.service.js.map +1 -1
  90. package/src/routes/create-many/base-create-many.service.d.ts +2 -1
  91. package/src/routes/create-many/base-create-many.service.js +2 -2
  92. package/src/routes/create-many/base-create-many.service.js.map +1 -1
  93. package/src/routes/create-many/create-many-controller.mixin.js +1 -1
  94. package/src/routes/create-many/create-many-controller.mixin.js.map +1 -1
  95. package/src/routes/create-many/create-many-gateway.mixin.js +1 -1
  96. package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
  97. package/src/routes/create-many/create-many.helper.d.ts +2 -2
  98. package/src/routes/create-many/create-many.helper.js +3 -2
  99. package/src/routes/create-many/create-many.helper.js.map +1 -1
  100. package/src/routes/create-many/create-many.module.js +1 -1
  101. package/src/routes/create-many/create-many.module.js.map +1 -1
  102. package/src/routes/create-one/base-create-one.service.d.ts +2 -1
  103. package/src/routes/create-one/base-create-one.service.js +1 -3
  104. package/src/routes/create-one/base-create-one.service.js.map +1 -1
  105. package/src/routes/create-one/create-one-controller.mixin.js +1 -1
  106. package/src/routes/create-one/create-one-controller.mixin.js.map +1 -1
  107. package/src/routes/create-one/create-one-gateway.mixin.js +1 -1
  108. package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
  109. package/src/routes/create-one/create-one.helper.d.ts +2 -2
  110. package/src/routes/create-one/create-one.helper.js +3 -2
  111. package/src/routes/create-one/create-one.helper.js.map +1 -1
  112. package/src/routes/create-one/create-one.module.js +1 -1
  113. package/src/routes/create-one/create-one.module.js.map +1 -1
  114. package/src/routes/delete-many/base-delete-many.service.d.ts +2 -1
  115. package/src/routes/delete-many/base-delete-many.service.js +2 -2
  116. package/src/routes/delete-many/base-delete-many.service.js.map +1 -1
  117. package/src/routes/delete-many/delete-many-controller.mixin.js +2 -2
  118. package/src/routes/delete-many/delete-many-controller.mixin.js.map +1 -1
  119. package/src/routes/delete-many/delete-many-gateway.mixin.js +1 -1
  120. package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -1
  121. package/src/routes/delete-many/delete-many.helper.d.ts +2 -2
  122. package/src/routes/delete-many/delete-many.helper.js +3 -2
  123. package/src/routes/delete-many/delete-many.helper.js.map +1 -1
  124. package/src/routes/delete-many/delete-many.module.js +1 -1
  125. package/src/routes/delete-many/delete-many.module.js.map +1 -1
  126. package/src/routes/delete-one/base-delete-one.service.d.ts +2 -1
  127. package/src/routes/delete-one/base-delete-one.service.js +2 -2
  128. package/src/routes/delete-one/base-delete-one.service.js.map +1 -1
  129. package/src/routes/delete-one/delete-one-controller.mixin.js +1 -1
  130. package/src/routes/delete-one/delete-one-controller.mixin.js.map +1 -1
  131. package/src/routes/delete-one/delete-one-gateway.mixin.js +1 -1
  132. package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -1
  133. package/src/routes/delete-one/delete-one.helper.d.ts +2 -2
  134. package/src/routes/delete-one/delete-one.helper.js +3 -2
  135. package/src/routes/delete-one/delete-one.helper.js.map +1 -1
  136. package/src/routes/delete-one/delete-one.module.js +1 -1
  137. package/src/routes/delete-one/delete-one.module.js.map +1 -1
  138. package/src/routes/duplicate-many/base-duplicate-many.service.d.ts +2 -1
  139. package/src/routes/duplicate-many/base-duplicate-many.service.js +2 -2
  140. package/src/routes/duplicate-many/base-duplicate-many.service.js.map +1 -1
  141. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +2 -2
  142. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js.map +1 -1
  143. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +1 -1
  144. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -1
  145. package/src/routes/duplicate-many/duplicate-many.helper.d.ts +2 -2
  146. package/src/routes/duplicate-many/duplicate-many.helper.js +3 -2
  147. package/src/routes/duplicate-many/duplicate-many.helper.js.map +1 -1
  148. package/src/routes/duplicate-many/duplicate-many.module.js +1 -1
  149. package/src/routes/duplicate-many/duplicate-many.module.js.map +1 -1
  150. package/src/routes/duplicate-one/base-duplicate-one.service.d.ts +2 -1
  151. package/src/routes/duplicate-one/base-duplicate-one.service.js +1 -3
  152. package/src/routes/duplicate-one/base-duplicate-one.service.js.map +1 -1
  153. package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +1 -1
  154. package/src/routes/duplicate-one/duplicate-one-controller.mixin.js.map +1 -1
  155. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +1 -1
  156. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -1
  157. package/src/routes/duplicate-one/duplicate-one.helper.d.ts +2 -2
  158. package/src/routes/duplicate-one/duplicate-one.helper.js +3 -2
  159. package/src/routes/duplicate-one/duplicate-one.helper.js.map +1 -1
  160. package/src/routes/duplicate-one/duplicate-one.module.js +1 -1
  161. package/src/routes/duplicate-one/duplicate-one.module.js.map +1 -1
  162. package/src/routes/get-many/base-get-many.service.d.ts +2 -1
  163. package/src/routes/get-many/base-get-many.service.js +2 -2
  164. package/src/routes/get-many/base-get-many.service.js.map +1 -1
  165. package/src/routes/get-many/get-many.helper.d.ts +2 -2
  166. package/src/routes/get-many/get-many.helper.js +3 -2
  167. package/src/routes/get-many/get-many.helper.js.map +1 -1
  168. package/src/routes/get-many/get-many.module.js +1 -1
  169. package/src/routes/get-many/get-many.module.js.map +1 -1
  170. package/src/routes/get-one/base-get-one.service.d.ts +2 -1
  171. package/src/routes/get-one/base-get-one.service.js +1 -3
  172. package/src/routes/get-one/base-get-one.service.js.map +1 -1
  173. package/src/routes/get-one/get-one.helper.d.ts +2 -2
  174. package/src/routes/get-one/get-one.helper.js +3 -2
  175. package/src/routes/get-one/get-one.helper.js.map +1 -1
  176. package/src/routes/get-one/get-one.module.js +1 -1
  177. package/src/routes/get-one/get-one.module.js.map +1 -1
  178. package/src/routes/replace-one/base-replace-one.service.d.ts +2 -1
  179. package/src/routes/replace-one/base-replace-one.service.js +1 -3
  180. package/src/routes/replace-one/base-replace-one.service.js.map +1 -1
  181. package/src/routes/replace-one/replace-one-controller.mixin.js +1 -1
  182. package/src/routes/replace-one/replace-one-controller.mixin.js.map +1 -1
  183. package/src/routes/replace-one/replace-one-gateway.mixin.js +1 -1
  184. package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -1
  185. package/src/routes/replace-one/replace-one.helper.d.ts +2 -2
  186. package/src/routes/replace-one/replace-one.helper.js +3 -2
  187. package/src/routes/replace-one/replace-one.helper.js.map +1 -1
  188. package/src/routes/replace-one/replace-one.module.js +1 -1
  189. package/src/routes/replace-one/replace-one.module.js.map +1 -1
  190. package/src/routes/update-many/base-update-many.service.d.ts +2 -1
  191. package/src/routes/update-many/base-update-many.service.js +2 -2
  192. package/src/routes/update-many/base-update-many.service.js.map +1 -1
  193. package/src/routes/update-many/update-many-controller.mixin.js +3 -3
  194. package/src/routes/update-many/update-many-controller.mixin.js.map +1 -1
  195. package/src/routes/update-many/update-many-gateway.mixin.js +1 -1
  196. package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
  197. package/src/routes/update-many/update-many.helper.d.ts +2 -2
  198. package/src/routes/update-many/update-many.helper.js +3 -2
  199. package/src/routes/update-many/update-many.helper.js.map +1 -1
  200. package/src/routes/update-many/update-many.module.js +1 -1
  201. package/src/routes/update-many/update-many.module.js.map +1 -1
  202. package/src/routes/update-one/base-update-one.service.d.ts +2 -1
  203. package/src/routes/update-one/base-update-one.service.js +1 -3
  204. package/src/routes/update-one/base-update-one.service.js.map +1 -1
  205. package/src/routes/update-one/update-one-controller.mixin.js +15 -5
  206. package/src/routes/update-one/update-one-controller.mixin.js.map +1 -1
  207. package/src/routes/update-one/update-one-gateway.mixin.js +1 -1
  208. package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -1
  209. package/src/routes/update-one/update-one.helper.d.ts +2 -2
  210. package/src/routes/update-one/update-one.helper.js +3 -2
  211. package/src/routes/update-one/update-one.helper.js.map +1 -1
  212. package/src/routes/update-one/update-one.module.js +1 -1
  213. package/src/routes/update-one/update-one.module.js.map +1 -1
  214. package/src/services/base/base.service.d.ts +3 -1
  215. package/src/services/base/base.service.js +32 -0
  216. package/src/services/base/base.service.js.map +1 -1
  217. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.d.ts +1 -0
  218. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js +19 -17
  219. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js.map +1 -1
  220. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js +1 -0
  221. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js.map +1 -1
  222. package/src/version.json +1 -1
  223. package/test/for-feature/ability-predicates.e2e-spec.d.ts +1 -0
  224. package/test/for-feature/ability-predicates.e2e-spec.js +216 -0
  225. package/test/for-feature/ability-predicates.e2e-spec.js.map +1 -0
  226. package/test/for-feature/after-save-callback-reliability.e2e-spec.d.ts +1 -0
  227. package/test/for-feature/after-save-callback-reliability.e2e-spec.js +139 -0
  228. package/test/for-feature/after-save-callback-reliability.e2e-spec.js.map +1 -0
  229. package/test/for-feature/broadcast-event-registry.e2e-spec.d.ts +1 -0
  230. package/test/for-feature/broadcast-event-registry.e2e-spec.js +122 -0
  231. package/test/for-feature/broadcast-event-registry.e2e-spec.js.map +1 -0
  232. package/test/for-feature/db-aware-validators.e2e-spec.d.ts +1 -0
  233. package/test/for-feature/db-aware-validators.e2e-spec.js +172 -0
  234. package/test/for-feature/db-aware-validators.e2e-spec.js.map +1 -0
  235. package/test/for-feature/http-broadcast.e2e-spec.js +56 -2
  236. package/test/for-feature/http-broadcast.e2e-spec.js.map +1 -1
  237. package/test/for-feature/raw-update-callback-methods.e2e-spec.js +8 -6
  238. package/test/for-feature/raw-update-callback-methods.e2e-spec.js.map +1 -1
  239. package/test/for-root/auth-api-basic.e2e-spec.js +2 -0
  240. package/test/for-root/auth-api-basic.e2e-spec.js.map +1 -1
  241. package/test/for-root/auth-api-login.e2e-spec.js +29 -0
  242. package/test/for-root/auth-api-login.e2e-spec.js.map +1 -1
  243. package/test/for-root/initialization.e2e-spec.js +2 -0
  244. package/test/for-root/initialization.e2e-spec.js.map +1 -1
  245. package/test/for-root/websockets-auth-basic.e2e-spec.js +1 -0
  246. package/test/for-root/websockets-auth-basic.e2e-spec.js.map +1 -1
  247. package/test/for-root/websockets-auth-login.e2e-spec.js +32 -0
  248. package/test/for-root/websockets-auth-login.e2e-spec.js.map +1 -1
  249. package/test/shared/entities/index.d.ts +1 -0
  250. package/test/shared/entities/index.js +1 -0
  251. package/test/shared/entities/index.js.map +1 -1
  252. package/test/shared/entities/unique-login-user.factory.d.ts +14 -0
  253. package/test/shared/entities/unique-login-user.factory.js +40 -0
  254. package/test/shared/entities/unique-login-user.factory.js.map +1 -0
  255. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mixin-data.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/mixin-data.helper.ts"],"names":[],"mappings":";;AAkFS,oCAAY;AAjFrB,mDAA4C;AAS5C,iGAAqG;AACrG,mDAAmD;AAGnD,SAAS,YAAY,CACnB,MAAoB,EACpB,EACE,MAAM,EACN,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EAAE,sBAAsB,EACpC,iBAAiB,EAAE,2BAA2B,GACV,EACtC,EACE,IAAI,EAAE,SAAS,EACf,OAAO,EACP,WAAW,EACX,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,iBAAiB,EAC/B,gBAAgB,EAAE,qBAAqB,EACvC,iBAAiB,EACjB,SAAS,GACqB,EAChC,SAAS,GAAG,KAAK;IAWjB,MAAM,aAAa,GAAG,IAAA,gCAAgB,EAAC,MAAM,EAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEtE,IAAI,QAAiB,CAAC;IACtB,IAAI,OAAO,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,QAAQ,GAAG,aAAa,CAAC;IAC3B,CAAC;SAAM,IAAI,OAAO,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACnD,QAAQ,GAAG,kBAAkB,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,YAAqB,CAAC;IAC1B,IAAI,OAAO,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC3C,YAAY,GAAG,iBAAiB,CAAC;IACnC,CAAC;SAAM,IAAI,OAAO,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACvD,YAAY,GAAG,sBAAsB,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,gBAAgB,GAAG,qBAAqB,IAAI,IAAA,kFAA2C,EAC3F,2BAA2B,EAC3B,SAAS,CACV,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,IAAI,IAAA,yBAAS,EAAC,GAAG,SAAS,IAAI,aAAa,EAAE,CAAC,CAAC;IAEtE,OAAO;QACL,SAAS;QACT,aAAa;QACb,WAAW;QACX,QAAQ;QACR,YAAY;QACZ,gBAAgB;QAChB,iBAAiB;QACjB,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"mixin-data.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/mixin-data.helper.ts"],"names":[],"mappings":";;AAkGS,oCAAY;AAjGrB,mDAA4C;AAC5C,iEAAsE;AAUtE,iGAAqG;AACrG,mDAAmD;AAGnD,SAAS,YAAY,CACnB,MAAoB,EACpB,EACE,MAAM,EACN,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EAAE,sBAAsB,EACpC,iBAAiB,EAAE,2BAA2B,GACV,EACtC,EACE,IAAI,EAAE,SAAS,EACf,OAAO,EACP,WAAW,EACX,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,iBAAiB,EAC/B,gBAAgB,EAAE,qBAAqB,EACvC,iBAAiB,EACjB,SAAS,GACqB,EAChC,SAAS,GAAG,KAAK,EACjB,eAAyC;IAWzC,MAAM,aAAa,GAAG,IAAA,gCAAgB,EAAC,MAAM,EAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEtE,IAAI,QAAiB,CAAC;IACtB,IAAI,OAAO,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,QAAQ,GAAG,aAAa,CAAC;IAC3B,CAAC;SAAM,IAAI,OAAO,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACnD,QAAQ,GAAG,kBAAkB,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,YAAqB,CAAC;IAC1B,IAAI,OAAO,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC3C,YAAY,GAAG,iBAAiB,CAAC;IACnC,CAAC;SAAM,IAAI,OAAO,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACvD,YAAY,GAAG,sBAAsB,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,gBAAgB,GAAG,qBAAqB,IAAI,IAAA,kFAA2C,EAC3F,2BAA2B,EAC3B,SAAS,CACV,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,IAAI,IAAA,yBAAS,EAAC,GAAG,SAAS,IAAI,aAAa,EAAE,CAAC,CAAC;IAEtE,IAAI,eAAe,EAAE,CAAC;QACpB,mDAA4B,CAAC,QAAQ,CAAC;YACpC,KAAK,EAAE,eAAe,CAAC,SAAS,IAAI,KAAK;YACzC,SAAS;YACT,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,aAAa;YACb,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAClC,gBAAgB,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK;YACzC,mBAAmB,EAAE,OAAO,eAAe,CAAC,OAAO,KAAK,UAAU;YAClE,iBAAiB,EAAE,CAAC,CAAC,eAAe,CAAC,SAAS;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,SAAS;QACT,aAAa;QACb,WAAW;QACX,QAAQ;QACR,YAAY;QACZ,gBAAgB;QAChB,iBAAiB;QACjB,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare function isMongooseCastError(error: unknown): boolean;
2
+ export { isMongooseCastError };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMongooseCastError = isMongooseCastError;
4
+ const mongoose_1 = require("mongoose");
5
+ function isMongooseCastError(error) {
6
+ return error instanceof mongoose_1.Error.CastError;
7
+ }
8
+ //# sourceMappingURL=mongoose-cast-error.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongoose-cast-error.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/mongoose-cast-error.helper.ts"],"names":[],"mappings":";;AAmBS,kDAAmB;AAnB5B,uCAAkD;AAelD,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,gBAAa,CAAC,SAAS,CAAC;AAClD,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare function resolveIdentifierField<T>(source: T, fields: keyof T | (keyof T)[]): unknown;
2
+ declare function identifiersMatch(entityValue: unknown, userValue: unknown): boolean;
3
+ export { resolveIdentifierField, identifiersMatch };
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveIdentifierField = resolveIdentifierField;
4
+ exports.identifiersMatch = identifiersMatch;
5
+ function resolveIdentifierField(source, fields) {
6
+ const fieldList = Array.isArray(fields) ? fields : [fields];
7
+ for (const field of fieldList) {
8
+ const value = source[field];
9
+ if (value !== undefined && value !== null) {
10
+ return value;
11
+ }
12
+ }
13
+ return undefined;
14
+ }
15
+ function isStringifiable(value) {
16
+ const type = typeof value;
17
+ if (type === 'string' || type === 'number' || type === 'boolean' || type === 'bigint') {
18
+ return true;
19
+ }
20
+ return type === 'object' && value !== null && value.toString !== Object.prototype.toString;
21
+ }
22
+ function identifiersMatch(entityValue, userValue) {
23
+ if (entityValue === userValue) {
24
+ return true;
25
+ }
26
+ if (entityValue == null || userValue == null) {
27
+ return false;
28
+ }
29
+ if (!isStringifiable(entityValue) || !isStringifiable(userValue)) {
30
+ return false;
31
+ }
32
+ return String(entityValue) === String(userValue);
33
+ }
34
+ //# sourceMappingURL=predicate-identifier.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predicate-identifier.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/predicate-identifier.helper.ts"],"names":[],"mappings":";;AAmES,wDAAsB;AAAE,4CAAgB;AA1DjD,SAAS,sBAAsB,CAAI,MAAS,EAAE,MAA6B;IACzE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE5D,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAWD,SAAS,eAAe,CAAC,KAAc;IACrC,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC;IAE1B,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAK,KAAgB,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AACzG,CAAC;AAWD,SAAS,gBAAgB,CAAC,WAAoB,EAAE,SAAkB;IAChE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { BroadcastConfig } from '../interfaces';
2
+ interface ResolvedBroadcast<T extends object> {
3
+ event: string;
4
+ rooms?: string[];
5
+ data: T[];
6
+ }
7
+ declare function resolveBroadcast<T extends object, User = unknown>(event: string, data: T[], broadcastConfig: BroadcastConfig<T, User> | undefined, user?: User): ResolvedBroadcast<T> | undefined;
8
+ export { resolveBroadcast, ResolvedBroadcast };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveBroadcast = resolveBroadcast;
4
+ const resolve_rooms_helper_1 = require("./resolve-rooms.helper");
5
+ function resolveBroadcast(event, data, broadcastConfig, user) {
6
+ if (!broadcastConfig || !data?.length) {
7
+ return undefined;
8
+ }
9
+ const { enabled, eventName, rooms } = broadcastConfig;
10
+ if (typeof enabled === 'boolean' && !enabled) {
11
+ return undefined;
12
+ }
13
+ const broadcastData = typeof enabled === 'function'
14
+ ? data.filter((item) => enabled(item, user))
15
+ : data;
16
+ if (!broadcastData.length) {
17
+ return undefined;
18
+ }
19
+ return {
20
+ event: eventName || event,
21
+ rooms: (0, resolve_rooms_helper_1.resolveRooms)(rooms, broadcastData, user),
22
+ data: broadcastData,
23
+ };
24
+ }
25
+ //# sourceMappingURL=resolve-broadcast.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-broadcast.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/resolve-broadcast.helper.ts"],"names":[],"mappings":";;AAkDS,4CAAgB;AAlDzB,iEAAsD;AAmBtD,SAAS,gBAAgB,CACvB,KAAa,EACb,IAAS,EACT,eAAqD,EACrD,IAAW;IAEX,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;IAEtD,IAAI,OAAO,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,OAAO,KAAK,UAAU;QACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,OAA8C,CAAC,IAAI,EAAE,IAAY,CAAC,CAAC;QAC5F,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,SAAS,IAAI,KAAK;QACzB,KAAK,EAAE,IAAA,mCAAY,EAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC;QAC/C,IAAI,EAAE,aAAa;KACpB,CAAC;AACJ,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initializeConfigFromOptions = initializeConfigFromOptions;
4
4
  exports.enableDynamicAPIWebSockets = enableDynamicAPIWebSockets;
5
5
  const socket_adapter_1 = require("../adapters/socket-adapter");
6
+ const event_registry_store_1 = require("./event-registry.store");
6
7
  const ws_config_store_1 = require("./ws-config.store");
7
8
  function initEventsListeners(maxListeners = 10) {
8
9
  require('events').EventEmitter.prototype._maxListeners = 100;
@@ -21,6 +22,19 @@ function enableDynamicAPIWebSockets(app, optionsOrMaxListeners) {
21
22
  else if (optionsOrMaxListeners) {
22
23
  resolvedOptions = optionsOrMaxListeners;
23
24
  }
25
+ if (resolvedOptions.failOnEventCollision) {
26
+ const collisions = event_registry_store_1.DynamicApiEventRegistryStore.getCollisions();
27
+ if (collisions.length) {
28
+ const details = collisions
29
+ .map(({ event, registrations }) => {
30
+ const sources = registrations.map((r) => `${r.routeType}/${r.entityName}`).join(', ');
31
+ return `"${event}" (${sources})`;
32
+ })
33
+ .join('; ');
34
+ throw new Error(`[DynamicAPI] enableDynamicAPIWebSockets: broadcast event name collision detected: ${details}. `
35
+ + 'Set a unique "eventName" on the conflicting routes, or disable failOnEventCollision.');
36
+ }
37
+ }
24
38
  initEventsListeners(resolvedOptions.maxListeners);
25
39
  ws_config_store_1.DynamicApiWsConfigStore.onConnection = resolvedOptions.onConnection;
26
40
  ws_config_store_1.DynamicApiWsConfigStore.customEvents = resolvedOptions.customEvents ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"socket-config.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/socket-config.helper.ts"],"names":[],"mappings":";;AAkFS,kEAA2B;AAAE,gEAA0B;AAjFhE,+DAA2D;AAE3D,uDAA4D;AAE5D,SAAS,mBAAmB,CAAC,YAAY,GAAG,EAAE;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,GAAG,GAAG,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,CAAC,mBAAmB,GAAG,GAAG,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AACzE,CAAC;AAeD,SAAS,0BAA0B,CACjC,GAAqB,EACrB,qBAAgE;IAEhE,IAAI,eAAe,GAAoC,EAAE,CAAC;IAE1D,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CACV,6EAA6E;cAC3E,iFAAiF;cACjF,qBAAqB;cACrB,6BAA6B,CAChC,CAAC;QACF,eAAe,GAAG,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC;IAC5D,CAAC;SAAM,IAAI,qBAAqB,EAAE,CAAC;QACjC,eAAe,GAAG,qBAAqB,CAAC;IAC1C,CAAC;IAED,mBAAmB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAGlD,yCAAuB,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;IACpE,yCAAuB,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,IAAI,EAAE,CAAC;IAC1E,yCAAuB,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,KAAK,CAAC;IAG/D,IAAI,CAAC;QAEH,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC9D,yCAAuB,CAAC,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,GAAG;QACjC,IAAI,6BAA6B,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YAC5F,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;YAC1G,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YAC/E,MAAM,IAAI,KAAK,CACb,mDAAmD;kBACjD,uFAAuF,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,mBAAmB,CAAC,IAAI,8BAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAGD,SAAS,2BAA2B,CAAC,OAAoC;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,OAAO,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"socket-config.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/socket-config.helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Type } from '@nestjs/common';
2
+ declare function stripBusinessValidators(target: Type<object>, validatorNames?: string[]): void;
3
+ export { stripBusinessValidators };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stripBusinessValidators = stripBusinessValidators;
4
+ const class_validator_1 = require("class-validator");
5
+ const BUSINESS_VALIDATOR_NAMES = ['isUnique', 'entityExists'];
6
+ function stripBusinessValidators(target, validatorNames = BUSINESS_VALIDATOR_NAMES) {
7
+ const { validationMetadatas } = (0, class_validator_1.getMetadataStorage)();
8
+ if (!(validationMetadatas instanceof Map)) {
9
+ return;
10
+ }
11
+ const metadatas = validationMetadatas.get(target);
12
+ if (!metadatas?.length) {
13
+ return;
14
+ }
15
+ validationMetadatas.set(target, metadatas.filter((metadata) => !validatorNames.includes(metadata.name)));
16
+ }
17
+ //# sourceMappingURL=strip-business-validators.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strip-business-validators.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/strip-business-validators.helper.ts"],"names":[],"mappings":";;AA8CS,0DAAuB;AA7ChC,qDAAqD;AAMrD,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAe9D,SAAS,uBAAuB,CAC9B,MAAoB,EACpB,iBAA2B,wBAAwB;IAEnD,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAA,oCAAkB,GAEjD,CAAC;IAEF,IAAI,CAAC,CAAC,mBAAmB,YAAY,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAElD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,mBAAmB,CAAC,GAAG,CACrB,MAAM,EACN,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAc,CAAC,CAAC,CAClF,CAAC;AACJ,CAAC"}
package/src/index.d.ts CHANGED
@@ -12,6 +12,7 @@ export * from './mixins';
12
12
  export * from './models';
13
13
  export * from './modules';
14
14
  export * from './modules/presence';
15
+ export * from './predicates';
15
16
  export * from './routes';
16
17
  export * from './services';
17
18
  export * from './utils';
package/src/index.js CHANGED
@@ -29,6 +29,7 @@ __exportStar(require("./mixins"), exports);
29
29
  __exportStar(require("./models"), exports);
30
30
  __exportStar(require("./modules"), exports);
31
31
  __exportStar(require("./modules/presence"), exports);
32
+ __exportStar(require("./predicates"), exports);
32
33
  __exportStar(require("./routes"), exports);
33
34
  __exportStar(require("./services"), exports);
34
35
  __exportStar(require("./utils"), exports);
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,qDAAmC;AACnC,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,uDAAqC;AACrC,gFAAsG;AAAvE,iIAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,qDAAmC;AACnC,+CAA6B;AAC7B,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,uDAAqC;AACrC,gFAAsG;AAAvE,iIAAA,uBAAuB,OAAA"}
@@ -1 +1,2 @@
1
1
  export * from './dynamic-api-cache.interceptor';
2
+ export * from './merge-id-param.interceptor';
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./dynamic-api-cache.interceptor"), exports);
18
+ __exportStar(require("./merge-id-param.interceptor"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interceptors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interceptors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,+DAA6C"}
@@ -0,0 +1,6 @@
1
+ import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ declare class MergeIdParamInterceptor implements NestInterceptor {
4
+ intercept(context: ExecutionContext, next: CallHandler): Observable<unknown>;
5
+ }
6
+ export { MergeIdParamInterceptor };
@@ -0,0 +1,24 @@
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.MergeIdParamInterceptor = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ let MergeIdParamInterceptor = class MergeIdParamInterceptor {
12
+ intercept(context, next) {
13
+ const request = context.switchToHttp().getRequest();
14
+ if (request?.body && typeof request.body === 'object' && request.params?.id !== undefined) {
15
+ request.body.id = request.params.id;
16
+ }
17
+ return next.handle();
18
+ }
19
+ };
20
+ exports.MergeIdParamInterceptor = MergeIdParamInterceptor;
21
+ exports.MergeIdParamInterceptor = MergeIdParamInterceptor = __decorate([
22
+ (0, common_1.Injectable)()
23
+ ], MergeIdParamInterceptor);
24
+ //# sourceMappingURL=merge-id-param.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-id-param.interceptor.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interceptors/merge-id-param.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4F;AAmB5F,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAC3B,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAEpD,IAAI,OAAO,EAAE,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;YAC1F,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AAEQ,0DAAuB;kCAZ1B,uBAAuB;IAD5B,IAAA,mBAAU,GAAE;GACP,uBAAuB,CAU5B"}
@@ -1,5 +1,6 @@
1
1
  import { GatewayMetadata } from '@nestjs/websockets';
2
2
  import { Schema } from 'mongoose';
3
+ import { OnAfterSaveErrorHook } from './dynamic-api-service-callback.interface';
3
4
  import { RouteType } from './dynamic-api-route-type.type';
4
5
  type Credentials = {
5
6
  loginField: string;
@@ -25,6 +26,7 @@ interface DynamicApiGlobalState {
25
26
  jwtRefreshTokenExpiresIn: string | number | undefined;
26
27
  jwtRefreshSecret: string | undefined;
27
28
  jwtRefreshUseCookie: boolean | undefined;
29
+ onAfterSaveError: OnAfterSaveErrorHook | undefined;
28
30
  refreshTokenOnUpdate: boolean;
29
31
  routesConfig: RoutesConfig;
30
32
  gatewayOptions: GatewayMetadata | undefined;
@@ -7,6 +7,7 @@ import { DynamicApiCacheOptions } from './dynamic-api-cache-options.interface';
7
7
  import { CustomRouteConfig } from './dynamic-api-custom-route.interface';
8
8
  import { RoutesConfig } from './dynamic-api-global-state.interface';
9
9
  import { DynamicAPIRouteConfig } from './dynamic-api-route-config.interface';
10
+ import { OnAfterSaveErrorHook } from './dynamic-api-service-callback.interface';
10
11
  import { DynamicApiWebSocketOptions } from './dynamic-api-web-socket.interface';
11
12
  declare const DYNAMIC_API_GLOBAL_STATE: unique symbol;
12
13
  interface DynamicApiForRootOptions<Entity extends BaseEntity = any, RegisterExtra = Record<never, never>> {
@@ -16,6 +17,7 @@ interface DynamicApiForRootOptions<Entity extends BaseEntity = any, RegisterExtr
16
17
  routesConfig?: Partial<RoutesConfig>;
17
18
  webSocket?: DynamicApiWebSocketOptions;
18
19
  broadcastGatewayOptions?: GatewayMetadata;
20
+ onAfterSaveError?: OnAfterSaveErrorHook;
19
21
  }
20
22
  interface DynamicApiForFeatureOptions<Entity extends BaseEntity> {
21
23
  entity: Type<Entity>;
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-api-options.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-options.interface.ts"],"names":[],"mappings":";;;AAYA,MAAM,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AA2BJ,4DAAwB"}
1
+ {"version":3,"file":"dynamic-api-options.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-options.interface.ts"],"names":[],"mappings":";;;AAaA,MAAM,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAgCJ,4DAAwB"}
@@ -5,7 +5,7 @@ import { BroadcastConfig } from './dynamic-api-broadcast-config.interface';
5
5
  import { CascadeConfig } from './dynamic-api-cascade-config.interface';
6
6
  import { DTOsBundle } from './dynamic-api-route-dtos-bundle.type';
7
7
  import { BeforeDeleteCallback, BeforeDeleteManyCallback, BeforeSaveCallback, BeforeSaveCreateContext, BeforeSaveCreateManyContext, BeforeSaveDeleteCallback, BeforeSaveDeleteContext, BeforeSaveDeleteManyCallback, BeforeSaveDeleteManyContext, BeforeSaveDuplicateContext, BeforeSaveDuplicateManyContext, BeforeSaveListCallback, BeforeSaveReplaceContext, BeforeSaveUpdateContext, BeforeSaveUpdateManyContext } from './dynamic-api-service-before-save-callback.interface';
8
- import { AfterSaveCallback } from './dynamic-api-service-callback.interface';
8
+ import { AfterSaveCallback, CallbackRetryOptions } from './dynamic-api-service-callback.interface';
9
9
  import { DynamicApiWebSocketOptions } from './dynamic-api-web-socket.interface';
10
10
  type FromUserMap<Entity> = Partial<Record<keyof Entity, string | ((user: unknown) => unknown)>>;
11
11
  interface BaseRouteConfig<Entity extends BaseEntity> {
@@ -19,6 +19,7 @@ interface BaseRouteConfig<Entity extends BaseEntity> {
19
19
  abilityPredicate?: AbilityPredicate<Entity>;
20
20
  predicateBehavior?: PredicateBehavior;
21
21
  callback?: AfterSaveCallback<Entity>;
22
+ callbackRetry?: CallbackRetryOptions;
22
23
  webSocket?: DynamicApiWebSocketOptions;
23
24
  eventName?: string;
24
25
  broadcast?: BroadcastConfig<Entity>;
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-api-route-config.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-route-config.interface.ts"],"names":[],"mappings":";;AA2WE,oDAAoB;AACpB,4DAAwB;AACxB,oDAAoB;AACpB,4DAAwB;AACxB,sDAAqB;AACrB,0DAAuB;AACvB,kEAA2B;AAtG7B,SAAS,oBAAoB,CAC3B,EAAwE;IAExE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,wBAAwB,CAC/B,EAAgF;IAEhF,OAAO,EAAE,CAAC;AACZ,CAAC;AAkBD,SAAS,oBAAoB,CAC3B,EAAwE;IAExE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,wBAAwB,CAC/B,EAAgF;IAEhF,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,qBAAqB,CAC5B,EAAyE;IAEzE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,uBAAuB,CAC9B,EAA2E;IAE3E,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,2BAA2B,CAClC,EAAmF;IAEnF,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"dynamic-api-route-config.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-route-config.interface.ts"],"names":[],"mappings":";;AAgXE,oDAAoB;AACpB,4DAAwB;AACxB,oDAAoB;AACpB,4DAAwB;AACxB,sDAAqB;AACrB,0DAAuB;AACvB,kEAA2B;AAtG7B,SAAS,oBAAoB,CAC3B,EAAwE;IAExE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,wBAAwB,CAC/B,EAAgF;IAEhF,OAAO,EAAE,CAAC;AACZ,CAAC;AAkBD,SAAS,oBAAoB,CAC3B,EAAwE;IAExE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,wBAAwB,CAC/B,EAAgF;IAEhF,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,qBAAqB,CAC5B,EAAyE;IAEzE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,uBAAuB,CAC9B,EAA2E;IAE3E,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,2BAA2B,CAClC,EAAmF;IAEnF,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -42,6 +42,19 @@ type CallbackMethods = {
42
42
  type DynamicApiCallbackMethods = CallbackMethods;
43
43
  type AfterSaveCallback<Entity extends BaseEntity, User = unknown> = (entity: Entity, methods: CallbackMethods, user?: User) => Promise<void>;
44
44
  type DynamicApiServiceCallback<Entity extends BaseEntity, User = unknown> = AfterSaveCallback<Entity, User>;
45
+ type CallbackRetryOptions = {
46
+ attempts?: number;
47
+ delayMs?: number;
48
+ };
49
+ type AfterSaveCallbackConfig<Entity extends BaseEntity, User = unknown> = {
50
+ callback: AfterSaveCallback<Entity, User> | undefined;
51
+ retry?: CallbackRetryOptions;
52
+ };
53
+ type OnAfterSaveErrorHook = (error: unknown, context: {
54
+ entityName: string | undefined;
55
+ entity: unknown;
56
+ user: unknown;
57
+ }) => void | Promise<void>;
45
58
  type DynamicApiResetPasswordCallbackMethods<Entity extends BaseEntity, UpdateBy = 'userId'> = {
46
59
  findUserByEmail: () => Promise<Entity>;
47
60
  updateUserByEmail: (update: UpdateQuery<Entity> | UpdateWithAggregationPipeline) => Promise<Entity>;
@@ -50,4 +63,4 @@ type DynamicApiResetPasswordCallback<Entity extends BaseEntity> = (_: {
50
63
  resetPasswordToken: string;
51
64
  email: string;
52
65
  }, methods: DynamicApiResetPasswordCallbackMethods<Entity>) => Promise<void>;
53
- export type { AfterSaveCallback, DynamicApiServiceCallback, DynamicApiResetPasswordCallback, DynamicApiCallbackMethods, DynamicApiResetPasswordCallbackMethods, CallbackMethods, MongoUpdateOperators, };
66
+ export type { AfterSaveCallback, DynamicApiServiceCallback, DynamicApiResetPasswordCallback, DynamicApiCallbackMethods, DynamicApiResetPasswordCallbackMethods, CallbackMethods, CallbackRetryOptions, AfterSaveCallbackConfig, OnAfterSaveErrorHook, MongoUpdateOperators, };
@@ -20,5 +20,6 @@ interface DynamicApiWebSocketSetupOptions {
20
20
  onConnection?: (socket: ExtendedSocket, user?: unknown) => void | Promise<void>;
21
21
  debug?: boolean;
22
22
  customEvents?: CustomSocketEventConfig[];
23
+ failOnEventCollision?: boolean;
23
24
  }
24
25
  export type { CustomSocketEventConfig, DynamicApiWebSocketOptions, DynamicApiWebSocketSetupOptions, ExtendedSocket, GatewayOptions, GatewayResponse, };
@@ -19,6 +19,7 @@ const swagger_1 = require("@nestjs/swagger");
19
19
  const builders_1 = require("../../../builders");
20
20
  const decorators_1 = require("../../../decorators");
21
21
  const helpers_1 = require("../../../helpers");
22
+ const event_registry_store_1 = require("../../../helpers/event-registry.store");
22
23
  const mixins_1 = require("../../../mixins");
23
24
  const services_1 = require("../../../services");
24
25
  const auth_broadcast_helper_1 = require("../auth-broadcast.helper");
@@ -37,6 +38,54 @@ function AuthControllerMixin(userEntity, { loginOptions: { loginField, passwordF
37
38
  if (!loginField || !passwordField) {
38
39
  throw new Error('Login and password fields are required');
39
40
  }
41
+ if (loginBroadcastConfig) {
42
+ event_registry_store_1.DynamicApiEventRegistryStore.register({
43
+ event: loginBroadcastConfig.eventName || auth_events_constants_1.AUTH_LOGIN_BROADCAST_EVENT,
44
+ routeType: 'Auth',
45
+ entityName: userEntity.name,
46
+ displayedName: userEntity.name,
47
+ channel: 'http',
48
+ hasRoomTargeting: !!loginBroadcastConfig.rooms,
49
+ hasAbilityPredicate: typeof loginBroadcastConfig.enabled === 'function',
50
+ isCustomEventName: !!loginBroadcastConfig.eventName,
51
+ });
52
+ }
53
+ if (registerBroadcastConfig) {
54
+ event_registry_store_1.DynamicApiEventRegistryStore.register({
55
+ event: registerBroadcastConfig.eventName || auth_events_constants_1.AUTH_REGISTER_BROADCAST_EVENT,
56
+ routeType: 'Auth',
57
+ entityName: userEntity.name,
58
+ displayedName: userEntity.name,
59
+ channel: 'http',
60
+ hasRoomTargeting: !!registerBroadcastConfig.rooms,
61
+ hasAbilityPredicate: typeof registerBroadcastConfig.enabled === 'function',
62
+ isCustomEventName: !!registerBroadcastConfig.eventName,
63
+ });
64
+ }
65
+ if (getAccountBroadcastConfig) {
66
+ event_registry_store_1.DynamicApiEventRegistryStore.register({
67
+ event: getAccountBroadcastConfig.eventName || auth_events_constants_1.AUTH_GET_ACCOUNT_BROADCAST_EVENT,
68
+ routeType: 'Auth',
69
+ entityName: userEntity.name,
70
+ displayedName: userEntity.name,
71
+ channel: 'http',
72
+ hasRoomTargeting: !!getAccountBroadcastConfig.rooms,
73
+ hasAbilityPredicate: typeof getAccountBroadcastConfig.enabled === 'function',
74
+ isCustomEventName: !!getAccountBroadcastConfig.eventName,
75
+ });
76
+ }
77
+ if (updateAccountBroadcastConfig) {
78
+ event_registry_store_1.DynamicApiEventRegistryStore.register({
79
+ event: updateAccountBroadcastConfig.eventName || auth_events_constants_1.AUTH_UPDATE_ACCOUNT_BROADCAST_EVENT,
80
+ routeType: 'Auth',
81
+ entityName: userEntity.name,
82
+ displayedName: userEntity.name,
83
+ channel: 'http',
84
+ hasRoomTargeting: !!updateAccountBroadcastConfig.rooms,
85
+ hasAbilityPredicate: typeof updateAccountBroadcastConfig.enabled === 'function',
86
+ isCustomEventName: !!updateAccountBroadcastConfig.eventName,
87
+ });
88
+ }
40
89
  class AuthBodyPasswordFieldDto extends (0, swagger_1.PickType)(userEntity, [passwordField]) {
41
90
  }
42
91
  _a = passwordField;
@@ -44,7 +93,9 @@ function AuthControllerMixin(userEntity, { loginOptions: { loginField, passwordF
44
93
  (0, swagger_1.ApiProperty)(),
45
94
  __metadata("design:type", String)
46
95
  ], AuthBodyPasswordFieldDto.prototype, _a, void 0);
47
- class AuthLoginDto extends (0, swagger_1.IntersectionType)((0, swagger_1.PickType)(userEntity, [loginField]), AuthBodyPasswordFieldDto) {
96
+ const AuthLoginFieldDto = (0, swagger_1.PickType)(userEntity, [loginField]);
97
+ (0, helpers_1.stripBusinessValidators)(AuthLoginFieldDto);
98
+ class AuthLoginDto extends (0, swagger_1.IntersectionType)(AuthLoginFieldDto, AuthBodyPasswordFieldDto) {
48
99
  }
49
100
  __decorate([
50
101
  (0, swagger_1.ApiProperty)({
@@ -1 +1 @@
1
- {"version":3,"file":"auth-controller.mixin.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/mixins/auth-controller.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-controller.mixin.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/mixins/auth-controller.mixin.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ const swagger_1 = require("@nestjs/swagger");
18
18
  const websockets_1 = require("@nestjs/websockets");
19
19
  const gateways_1 = require("../../../gateways");
20
20
  const helpers_1 = require("../../../helpers");
21
+ const event_registry_store_1 = require("../../../helpers/event-registry.store");
21
22
  const mixins_1 = require("../../../mixins");
22
23
  const auth_broadcast_helper_1 = require("../auth-broadcast.helper");
23
24
  const auth_operation_context_1 = require("../auth-operation-context");
@@ -28,6 +29,54 @@ const guards_1 = require("../guards");
28
29
  const auth_policies_guard_mixin_1 = require("./auth-policies-guard.mixin");
29
30
  function AuthGatewayMixin(userEntity, { loginField, passwordField, abilityPredicate: loginAbilityPredicate, useInterceptors: loginUseInterceptors = [], broadcast: loginBroadcastConfig, }, { additionalFields: additionalSocketRegisterFields, protected: registerProtected, abilityPredicate: registerAbilityPredicate, useInterceptors: registerUseInterceptors = [], broadcast: registerBroadcastConfig, } = {}, { resetPasswordUseInterceptors = [], changePasswordUseInterceptors = [], ...resetPasswordOptions } = {}, { useInterceptors: updateAccountUseInterceptors = [], broadcast: updateAccountBroadcastConfig, ...updateAccountOptions } = {}, { useInterceptors: getAccountUseInterceptors = [], broadcast: getAccountBroadcastConfig, } = {}, { useInterceptors: refreshTokenUseInterceptors = [], } = {}) {
30
31
  var _a;
32
+ if (loginBroadcastConfig) {
33
+ event_registry_store_1.DynamicApiEventRegistryStore.register({
34
+ event: loginBroadcastConfig.eventName || auth_events_constants_1.AUTH_LOGIN_BROADCAST_EVENT,
35
+ routeType: 'Auth',
36
+ entityName: userEntity.name,
37
+ displayedName: userEntity.name,
38
+ channel: 'ws',
39
+ hasRoomTargeting: !!loginBroadcastConfig.rooms,
40
+ hasAbilityPredicate: typeof loginBroadcastConfig.enabled === 'function',
41
+ isCustomEventName: !!loginBroadcastConfig.eventName,
42
+ });
43
+ }
44
+ if (registerBroadcastConfig) {
45
+ event_registry_store_1.DynamicApiEventRegistryStore.register({
46
+ event: registerBroadcastConfig.eventName || auth_events_constants_1.AUTH_REGISTER_BROADCAST_EVENT,
47
+ routeType: 'Auth',
48
+ entityName: userEntity.name,
49
+ displayedName: userEntity.name,
50
+ channel: 'ws',
51
+ hasRoomTargeting: !!registerBroadcastConfig.rooms,
52
+ hasAbilityPredicate: typeof registerBroadcastConfig.enabled === 'function',
53
+ isCustomEventName: !!registerBroadcastConfig.eventName,
54
+ });
55
+ }
56
+ if (getAccountBroadcastConfig) {
57
+ event_registry_store_1.DynamicApiEventRegistryStore.register({
58
+ event: getAccountBroadcastConfig.eventName || auth_events_constants_1.AUTH_GET_ACCOUNT_BROADCAST_EVENT,
59
+ routeType: 'Auth',
60
+ entityName: userEntity.name,
61
+ displayedName: userEntity.name,
62
+ channel: 'ws',
63
+ hasRoomTargeting: !!getAccountBroadcastConfig.rooms,
64
+ hasAbilityPredicate: typeof getAccountBroadcastConfig.enabled === 'function',
65
+ isCustomEventName: !!getAccountBroadcastConfig.eventName,
66
+ });
67
+ }
68
+ if (updateAccountBroadcastConfig) {
69
+ event_registry_store_1.DynamicApiEventRegistryStore.register({
70
+ event: updateAccountBroadcastConfig.eventName || auth_events_constants_1.AUTH_UPDATE_ACCOUNT_BROADCAST_EVENT,
71
+ routeType: 'Auth',
72
+ entityName: userEntity.name,
73
+ displayedName: userEntity.name,
74
+ channel: 'ws',
75
+ hasRoomTargeting: !!updateAccountBroadcastConfig.rooms,
76
+ hasAbilityPredicate: typeof updateAccountBroadcastConfig.enabled === 'function',
77
+ isCustomEventName: !!updateAccountBroadcastConfig.eventName,
78
+ });
79
+ }
31
80
  class AuthSocketBodyPasswordFieldDto extends (0, swagger_1.PickType)(userEntity, [passwordField]) {
32
81
  }
33
82
  _a = passwordField;
@@ -35,7 +84,9 @@ function AuthGatewayMixin(userEntity, { loginField, passwordField, abilityPredic
35
84
  (0, swagger_1.ApiProperty)(),
36
85
  __metadata("design:type", String)
37
86
  ], AuthSocketBodyPasswordFieldDto.prototype, _a, void 0);
38
- class AuthSocketLoginDto extends (0, swagger_1.IntersectionType)((0, swagger_1.PickType)(userEntity, [loginField]), AuthSocketBodyPasswordFieldDto) {
87
+ const AuthSocketLoginFieldDto = (0, swagger_1.PickType)(userEntity, [loginField]);
88
+ (0, helpers_1.stripBusinessValidators)(AuthSocketLoginFieldDto);
89
+ class AuthSocketLoginDto extends (0, swagger_1.IntersectionType)(AuthSocketLoginFieldDto, AuthSocketBodyPasswordFieldDto) {
39
90
  }
40
91
  const additionalSocketMandatoryFields = [];
41
92
  const additionalSocketOptionalFields = [];