mongodb-dynamic-api 1.6.0 → 2.1.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 (329) hide show
  1. package/CHANGELOG.md +72 -19
  2. package/README.md +91 -67
  3. package/package.json +13 -1
  4. package/src/builders/casl/casl-ability.builder.d.ts +5 -0
  5. package/src/builders/casl/casl-ability.builder.js +14 -0
  6. package/src/builders/index.d.ts +3 -1
  7. package/src/builders/index.js +3 -1
  8. package/src/builders/route-decorators/auth-decorators.builder.d.ts +7 -0
  9. package/src/builders/route-decorators/auth-decorators.builder.js +14 -0
  10. package/src/builders/route-decorators/route-decorators.builder.d.ts +23 -0
  11. package/src/builders/route-decorators/route-decorators.builder.js +110 -0
  12. package/src/decorators/check-policies.decorator.d.ts +5 -0
  13. package/src/decorators/check-policies.decorator.js +8 -0
  14. package/src/decorators/index.d.ts +2 -0
  15. package/src/decorators/index.js +2 -0
  16. package/src/decorators/public.decorator.d.ts +3 -0
  17. package/src/decorators/public.decorator.js +8 -0
  18. package/src/dtos/delete-many-entity.query.d.ts +3 -0
  19. package/src/dtos/delete-many-entity.query.js +24 -0
  20. package/src/dtos/index.d.ts +1 -0
  21. package/src/dtos/index.js +1 -0
  22. package/src/dynamic-api.module.d.ts +6 -4
  23. package/src/dynamic-api.module.js +145 -69
  24. package/src/guards/base-policies.guard.d.ts +13 -0
  25. package/src/guards/base-policies.guard.js +32 -0
  26. package/src/guards/dynamic-api-jwt-auth.guard.d.ts +11 -0
  27. package/src/guards/dynamic-api-jwt-auth.guard.js +38 -0
  28. package/src/guards/index.d.ts +2 -0
  29. package/src/guards/index.js +18 -0
  30. package/src/helpers/controller-ability-predicates.helper.d.ts +4 -0
  31. package/src/helpers/controller-ability-predicates.helper.js +18 -0
  32. package/src/helpers/format.helper.d.ts +2 -0
  33. package/src/helpers/format.helper.js +12 -0
  34. package/src/helpers/index.d.ts +6 -1
  35. package/src/helpers/index.js +6 -1
  36. package/src/helpers/route-decorators.helper.d.ts +2 -2
  37. package/src/helpers/route-description.helper.d.ts +3 -0
  38. package/src/helpers/route-description.helper.js +34 -0
  39. package/src/helpers/schema.helper.d.ts +28 -0
  40. package/src/helpers/schema.helper.js +30 -0
  41. package/src/helpers/swagger-config.helper.d.ts +4 -0
  42. package/src/helpers/{config.helper.js → swagger-config.helper.js} +37 -21
  43. package/src/helpers/validation-config.helper.d.ts +3 -0
  44. package/src/helpers/validation-config.helper.js +8 -0
  45. package/src/helpers/versioning-config.helper.d.ts +4 -0
  46. package/src/helpers/versioning-config.helper.js +15 -0
  47. package/src/index.d.ts +3 -1
  48. package/src/index.js +3 -1
  49. package/src/interceptors/dynamic-api-cache.interceptor.d.ts +16 -0
  50. package/src/interceptors/dynamic-api-cache.interceptor.js +48 -0
  51. package/src/interceptors/index.d.ts +1 -0
  52. package/src/interceptors/index.js +17 -0
  53. package/src/interfaces/dynamic-api-cache-options.interface.d.ts +9 -0
  54. package/src/interfaces/dynamic-api-casl-ability.interface.d.ts +9 -0
  55. package/src/interfaces/dynamic-api-controller-options.interface.d.ts +12 -0
  56. package/src/interfaces/dynamic-api-decorator-builder.interface.d.ts +5 -0
  57. package/src/interfaces/dynamic-api-global-state.interface.d.ts +16 -0
  58. package/src/interfaces/dynamic-api-options.interface.d.ts +14 -11
  59. package/src/interfaces/dynamic-api-options.interface.js +3 -0
  60. package/src/interfaces/dynamic-api-policy-handler.interface.d.ts +16 -0
  61. package/src/interfaces/dynamic-api-route-config.interface.d.ts +15 -0
  62. package/src/interfaces/dynamic-api-route-dtos-bundle.type.d.ts +8 -0
  63. package/src/interfaces/dynamic-api-route-module.type.d.ts +3 -0
  64. package/src/interfaces/dynamic-api-route-type.type.d.ts +2 -0
  65. package/src/interfaces/dynamic-api-schema-options.interface.d.ts +9 -2
  66. package/src/interfaces/dynamic-api-schema-options.interface.js +14 -0
  67. package/src/interfaces/{service-provider.interface.d.ts → dynamic-api-service-provider.interface.d.ts} +2 -2
  68. package/src/{helpers/config.helper.d.ts → interfaces/dynamic-api-swagger-options.type.d.ts} +23 -15
  69. package/src/interfaces/index.d.ts +13 -4
  70. package/src/interfaces/index.js +13 -4
  71. package/src/mixins/create-policies-guard.mixin.d.ts +5 -0
  72. package/src/mixins/create-policies-guard.mixin.js +37 -0
  73. package/src/mixins/entity-presenter.mixin.d.ts +1 -1
  74. package/src/mixins/entity-presenter.mixin.js +12 -2
  75. package/src/mixins/index.d.ts +1 -0
  76. package/src/mixins/index.js +1 -0
  77. package/src/models/base-entity.model.d.ts +1 -1
  78. package/src/modules/auth/auth.helper.d.ts +10 -0
  79. package/src/modules/auth/auth.helper.js +103 -0
  80. package/src/modules/auth/auth.module.d.ts +12 -0
  81. package/src/modules/auth/auth.module.js +55 -0
  82. package/src/modules/auth/guards/index.d.ts +2 -0
  83. package/src/modules/auth/guards/index.js +18 -0
  84. package/src/modules/auth/guards/jwt-auth.guard.d.ts +4 -0
  85. package/src/modules/auth/guards/jwt-auth.guard.js +17 -0
  86. package/src/modules/auth/guards/local-auth.guard.d.ts +4 -0
  87. package/src/modules/auth/guards/local-auth.guard.js +17 -0
  88. package/src/modules/auth/index.d.ts +7 -0
  89. package/src/modules/auth/index.js +23 -0
  90. package/src/modules/auth/interfaces/auth-controller.interface.d.ts +9 -0
  91. package/src/modules/auth/interfaces/auth-options.interface.d.ts +25 -0
  92. package/src/modules/auth/interfaces/auth-service.interface.d.ts +12 -0
  93. package/src/modules/auth/interfaces/index.d.ts +3 -0
  94. package/src/modules/auth/interfaces/index.js +19 -0
  95. package/src/modules/auth/mixins/auth-controller.mixin.d.ts +5 -0
  96. package/src/modules/auth/mixins/auth-controller.mixin.js +118 -0
  97. package/src/modules/auth/mixins/auth-register-policies-guard.mixin.d.ts +6 -0
  98. package/src/modules/auth/mixins/auth-register-policies-guard.mixin.js +59 -0
  99. package/src/modules/auth/mixins/index.d.ts +2 -0
  100. package/src/modules/auth/mixins/index.js +18 -0
  101. package/src/modules/auth/services/base-auth.service.d.ts +51 -0
  102. package/src/modules/auth/services/base-auth.service.js +64 -0
  103. package/src/modules/auth/services/index.d.ts +1 -0
  104. package/src/modules/auth/services/index.js +17 -0
  105. package/src/modules/auth/strategies/index.d.ts +1 -0
  106. package/src/modules/auth/strategies/index.js +17 -0
  107. package/src/modules/auth/strategies/jwt.strategy.d.ts +8 -0
  108. package/src/modules/auth/strategies/jwt.strategy.js +35 -0
  109. package/src/modules/dynamic-api-config/dynamic-api-config.module.d.ts +5 -0
  110. package/src/modules/dynamic-api-config/dynamic-api-config.module.js +31 -0
  111. package/src/modules/dynamic-api-config/index.d.ts +1 -0
  112. package/src/modules/dynamic-api-config/index.js +17 -0
  113. package/src/modules/index.d.ts +2 -8
  114. package/src/modules/index.js +2 -8
  115. package/src/routes/create-many/create-many-controller.mixin.d.ts +6 -0
  116. package/src/{modules → routes}/create-many/create-many-controller.mixin.js +31 -9
  117. package/src/routes/create-many/create-many.helper.d.ts +7 -0
  118. package/src/{modules → routes}/create-many/create-many.helper.js +14 -11
  119. package/src/routes/create-many/create-many.module.d.ts +6 -0
  120. package/src/{modules → routes}/create-many/create-many.module.js +3 -3
  121. package/src/routes/create-one/create-one-controller.mixin.d.ts +6 -0
  122. package/src/{modules → routes}/create-one/create-one-controller.mixin.js +29 -7
  123. package/src/routes/create-one/create-one.helper.d.ts +7 -0
  124. package/src/{modules → routes}/create-one/create-one.helper.js +14 -11
  125. package/src/routes/create-one/create-one.module.d.ts +6 -0
  126. package/src/{modules → routes}/create-one/create-one.module.js +4 -4
  127. package/src/routes/delete-many/base-delete-many.service.d.ts +34 -0
  128. package/src/routes/delete-many/base-delete-many.service.js +29 -0
  129. package/src/routes/delete-many/delete-many-controller.interface.d.ts +8 -0
  130. package/src/routes/delete-many/delete-many-controller.interface.js +2 -0
  131. package/src/routes/delete-many/delete-many-controller.mixin.d.ts +6 -0
  132. package/src/routes/delete-many/delete-many-controller.mixin.js +77 -0
  133. package/src/routes/delete-many/delete-many-service.interface.d.ts +6 -0
  134. package/src/routes/delete-many/delete-many-service.interface.js +2 -0
  135. package/src/routes/delete-many/delete-many.helper.d.ts +7 -0
  136. package/src/routes/delete-many/delete-many.helper.js +71 -0
  137. package/src/routes/delete-many/delete-many.module.d.ts +6 -0
  138. package/src/routes/delete-many/delete-many.module.js +28 -0
  139. package/src/routes/delete-many/delete-many.presenter.d.ts +3 -0
  140. package/src/routes/delete-many/delete-many.presenter.js +20 -0
  141. package/src/routes/delete-many/index.d.ts +7 -0
  142. package/src/routes/delete-many/index.js +23 -0
  143. package/src/routes/delete-one/delete-one-controller.interface.js +2 -0
  144. package/src/routes/delete-one/delete-one-controller.mixin.d.ts +6 -0
  145. package/src/{modules → routes}/delete-one/delete-one-controller.mixin.js +30 -7
  146. package/src/routes/delete-one/delete-one-service.interface.js +2 -0
  147. package/src/routes/delete-one/delete-one.helper.d.ts +7 -0
  148. package/src/{modules → routes}/delete-one/delete-one.helper.js +14 -11
  149. package/src/routes/delete-one/delete-one.module.d.ts +6 -0
  150. package/src/{modules → routes}/delete-one/delete-one.module.js +4 -4
  151. package/src/routes/duplicate-many/base-duplicate-many.service.d.ts +33 -0
  152. package/src/routes/duplicate-many/base-duplicate-many.service.js +43 -0
  153. package/src/routes/duplicate-many/duplicate-many-controller.interface.d.ts +7 -0
  154. package/src/routes/duplicate-many/duplicate-many-controller.interface.js +2 -0
  155. package/src/routes/duplicate-many/duplicate-many-controller.mixin.d.ts +6 -0
  156. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +85 -0
  157. package/src/routes/duplicate-many/duplicate-many-service.interface.d.ts +5 -0
  158. package/src/routes/duplicate-many/duplicate-many-service.interface.js +2 -0
  159. package/src/routes/duplicate-many/duplicate-many.helper.d.ts +7 -0
  160. package/src/routes/duplicate-many/duplicate-many.helper.js +71 -0
  161. package/src/routes/duplicate-many/duplicate-many.module.d.ts +6 -0
  162. package/src/routes/duplicate-many/duplicate-many.module.js +28 -0
  163. package/src/routes/duplicate-many/index.d.ts +6 -0
  164. package/src/routes/duplicate-many/index.js +22 -0
  165. package/src/routes/duplicate-one/duplicate-one-controller.interface.js +2 -0
  166. package/src/routes/duplicate-one/duplicate-one-controller.mixin.d.ts +6 -0
  167. package/src/{modules → routes}/duplicate-one/duplicate-one-controller.mixin.js +30 -8
  168. package/src/routes/duplicate-one/duplicate-one-service.interface.js +2 -0
  169. package/src/routes/duplicate-one/duplicate-one.helper.d.ts +7 -0
  170. package/src/{modules → routes}/duplicate-one/duplicate-one.helper.js +14 -11
  171. package/src/routes/duplicate-one/duplicate-one.module.d.ts +6 -0
  172. package/src/{modules → routes}/duplicate-one/duplicate-one.module.js +4 -4
  173. package/src/routes/get-many/get-many-controller.interface.js +2 -0
  174. package/src/routes/get-many/get-many-controller.mixin.d.ts +6 -0
  175. package/src/{modules → routes}/get-many/get-many-controller.mixin.js +29 -7
  176. package/src/routes/get-many/get-many-service.interface.js +2 -0
  177. package/src/routes/get-many/get-many.helper.d.ts +7 -0
  178. package/src/{modules → routes}/get-many/get-many.helper.js +14 -11
  179. package/src/routes/get-many/get-many.module.d.ts +6 -0
  180. package/src/{modules → routes}/get-many/get-many.module.js +4 -4
  181. package/src/routes/get-one/get-one-controller.interface.js +2 -0
  182. package/src/routes/get-one/get-one-controller.mixin.d.ts +6 -0
  183. package/src/{modules → routes}/get-one/get-one-controller.mixin.js +30 -8
  184. package/src/routes/get-one/get-one-service.interface.js +2 -0
  185. package/src/routes/get-one/get-one.helper.d.ts +7 -0
  186. package/src/{modules → routes}/get-one/get-one.helper.js +14 -11
  187. package/src/routes/get-one/get-one.module.d.ts +6 -0
  188. package/src/{modules → routes}/get-one/get-one.module.js +4 -4
  189. package/src/routes/index.d.ts +11 -0
  190. package/src/routes/index.js +27 -0
  191. package/src/routes/replace-one/replace-one-controller.interface.js +2 -0
  192. package/src/routes/replace-one/replace-one-controller.mixin.d.ts +6 -0
  193. package/src/{modules → routes}/replace-one/replace-one-controller.mixin.js +30 -8
  194. package/src/routes/replace-one/replace-one-service.interface.js +2 -0
  195. package/src/routes/replace-one/replace-one.helper.d.ts +7 -0
  196. package/src/{modules → routes}/replace-one/replace-one.helper.js +14 -11
  197. package/src/routes/replace-one/replace-one.module.d.ts +6 -0
  198. package/src/{modules → routes}/replace-one/replace-one.module.js +4 -4
  199. package/src/routes/update-many/base-update-many.service.d.ts +33 -0
  200. package/src/routes/update-many/base-update-many.service.js +32 -0
  201. package/src/routes/update-many/index.d.ts +6 -0
  202. package/src/routes/update-many/index.js +22 -0
  203. package/src/routes/update-many/update-many-controller.interface.d.ts +7 -0
  204. package/src/routes/update-many/update-many-controller.interface.js +2 -0
  205. package/src/routes/update-many/update-many-controller.mixin.d.ts +6 -0
  206. package/src/routes/update-many/update-many-controller.mixin.js +85 -0
  207. package/src/routes/update-many/update-many-service.interface.d.ts +5 -0
  208. package/src/routes/update-many/update-many-service.interface.js +2 -0
  209. package/src/routes/update-many/update-many.helper.d.ts +7 -0
  210. package/src/routes/update-many/update-many.helper.js +71 -0
  211. package/src/routes/update-many/update-many.module.d.ts +6 -0
  212. package/src/routes/update-many/update-many.module.js +28 -0
  213. package/src/routes/update-one/update-one-controller.interface.js +2 -0
  214. package/src/routes/update-one/update-one-controller.mixin.d.ts +6 -0
  215. package/src/{modules → routes}/update-one/update-one-controller.mixin.js +30 -8
  216. package/src/routes/update-one/update-one-service.interface.js +2 -0
  217. package/src/routes/update-one/update-one.helper.d.ts +7 -0
  218. package/src/{modules → routes}/update-one/update-one.helper.js +14 -11
  219. package/src/routes/update-one/update-one.module.d.ts +6 -0
  220. package/src/{modules → routes}/update-one/update-one.module.js +4 -4
  221. package/src/services/{base.service.d.ts → base/base.service.d.ts} +1 -1
  222. package/src/services/{base.service.js → base/base.service.js} +2 -2
  223. package/src/services/bcrypt/bcrypt.service.d.ts +5 -0
  224. package/src/services/bcrypt/bcrypt.service.js +26 -0
  225. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.d.ts +11 -0
  226. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js +36 -0
  227. package/src/services/index.d.ts +3 -1
  228. package/src/services/index.js +3 -1
  229. package/src/version.json +1 -1
  230. package/tsconfig.tsbuildinfo +1 -1
  231. package/src/builders/route-decorators.builder.d.ts +0 -18
  232. package/src/builders/route-decorators.builder.js +0 -76
  233. package/src/interfaces/maybe-promise.type.d.ts +0 -2
  234. package/src/interfaces/route-config.interface.d.ts +0 -17
  235. package/src/modules/create-many/create-many-controller.mixin.d.ts +0 -6
  236. package/src/modules/create-many/create-many.helper.d.ts +0 -7
  237. package/src/modules/create-many/create-many.module.d.ts +0 -6
  238. package/src/modules/create-one/create-one-controller.mixin.d.ts +0 -6
  239. package/src/modules/create-one/create-one.helper.d.ts +0 -7
  240. package/src/modules/create-one/create-one.module.d.ts +0 -6
  241. package/src/modules/delete-one/delete-one-controller.mixin.d.ts +0 -6
  242. package/src/modules/delete-one/delete-one.helper.d.ts +0 -7
  243. package/src/modules/delete-one/delete-one.module.d.ts +0 -6
  244. package/src/modules/duplicate-one/duplicate-one-controller.mixin.d.ts +0 -6
  245. package/src/modules/duplicate-one/duplicate-one.helper.d.ts +0 -7
  246. package/src/modules/duplicate-one/duplicate-one.module.d.ts +0 -6
  247. package/src/modules/get-many/get-many-controller.mixin.d.ts +0 -6
  248. package/src/modules/get-many/get-many.helper.d.ts +0 -7
  249. package/src/modules/get-many/get-many.module.d.ts +0 -6
  250. package/src/modules/get-one/get-one-controller.mixin.d.ts +0 -6
  251. package/src/modules/get-one/get-one.helper.d.ts +0 -7
  252. package/src/modules/get-one/get-one.module.d.ts +0 -6
  253. package/src/modules/replace-one/replace-one-controller.mixin.d.ts +0 -6
  254. package/src/modules/replace-one/replace-one.helper.d.ts +0 -7
  255. package/src/modules/replace-one/replace-one.module.d.ts +0 -6
  256. package/src/modules/update-one/update-one-controller.mixin.d.ts +0 -6
  257. package/src/modules/update-one/update-one.helper.d.ts +0 -7
  258. package/src/modules/update-one/update-one.module.d.ts +0 -6
  259. package/src/interfaces/{entity-mappers.interface.js → dynamic-api-cache-options.interface.js} +0 -0
  260. package/src/interfaces/{maybe-promise.type.js → dynamic-api-casl-ability.interface.js} +0 -0
  261. package/src/interfaces/{route-config.interface.js → dynamic-api-controller-options.interface.js} +0 -0
  262. package/src/interfaces/{service-provider.interface.js → dynamic-api-decorator-builder.interface.js} +0 -0
  263. package/src/interfaces/{entity-mappers.interface.d.ts → dynamic-api-entity-mappers.interface.d.ts} +0 -0
  264. package/src/{modules/create-many/create-many-controller.interface.js → interfaces/dynamic-api-entity-mappers.interface.js} +0 -0
  265. package/src/{modules/create-many/create-many-service.interface.js → interfaces/dynamic-api-global-state.interface.js} +0 -0
  266. package/src/{modules/create-one/create-one-controller.interface.js → interfaces/dynamic-api-policy-handler.interface.js} +0 -0
  267. package/src/{modules/create-one/create-one-service.interface.js → interfaces/dynamic-api-route-config.interface.js} +0 -0
  268. package/src/{modules/delete-one/delete-one-controller.interface.js → interfaces/dynamic-api-route-dtos-bundle.type.js} +0 -0
  269. package/src/{modules/delete-one/delete-one-service.interface.js → interfaces/dynamic-api-route-module.type.js} +0 -0
  270. package/src/{modules/duplicate-one/duplicate-one-controller.interface.js → interfaces/dynamic-api-route-type.type.js} +0 -0
  271. package/src/{modules/duplicate-one/duplicate-one-service.interface.js → interfaces/dynamic-api-service-provider.interface.js} +0 -0
  272. package/src/{modules/get-many/get-many-controller.interface.js → interfaces/dynamic-api-swagger-options.type.js} +0 -0
  273. package/src/modules/{get-many/get-many-service.interface.js → auth/interfaces/auth-controller.interface.js} +0 -0
  274. package/src/modules/{get-one/get-one-controller.interface.js → auth/interfaces/auth-options.interface.js} +0 -0
  275. package/src/modules/{get-one/get-one-service.interface.js → auth/interfaces/auth-service.interface.js} +0 -0
  276. package/src/{modules → routes}/create-many/base-create-many.service.d.ts +0 -0
  277. package/src/{modules → routes}/create-many/base-create-many.service.js +0 -0
  278. package/src/{modules → routes}/create-many/create-many-controller.interface.d.ts +0 -0
  279. package/src/{modules/replace-one/replace-one-controller.interface.js → routes/create-many/create-many-controller.interface.js} +0 -0
  280. package/src/{modules → routes}/create-many/create-many-service.interface.d.ts +0 -0
  281. package/src/{modules/replace-one/replace-one-service.interface.js → routes/create-many/create-many-service.interface.js} +0 -0
  282. package/src/{modules → routes}/create-many/index.d.ts +0 -0
  283. package/src/{modules → routes}/create-many/index.js +0 -0
  284. package/src/{modules → routes}/create-one/base-create-one.service.d.ts +0 -0
  285. package/src/{modules → routes}/create-one/base-create-one.service.js +0 -0
  286. package/src/{modules → routes}/create-one/create-one-controller.interface.d.ts +0 -0
  287. package/src/{modules/update-one/update-one-controller.interface.js → routes/create-one/create-one-controller.interface.js} +0 -0
  288. package/src/{modules → routes}/create-one/create-one-service.interface.d.ts +0 -0
  289. package/src/{modules/update-one/update-one-service.interface.js → routes/create-one/create-one-service.interface.js} +0 -0
  290. package/src/{modules → routes}/create-one/index.d.ts +0 -0
  291. package/src/{modules → routes}/create-one/index.js +0 -0
  292. package/src/{modules → routes}/delete-one/base-delete-one.service.d.ts +0 -0
  293. package/src/{modules → routes}/delete-one/base-delete-one.service.js +0 -0
  294. package/src/{modules → routes}/delete-one/delete-one-controller.interface.d.ts +0 -0
  295. package/src/{modules → routes}/delete-one/delete-one-service.interface.d.ts +0 -0
  296. package/src/{modules → routes}/delete-one/delete-one.presenter.d.ts +0 -0
  297. package/src/{modules → routes}/delete-one/delete-one.presenter.js +0 -0
  298. package/src/{modules → routes}/delete-one/index.d.ts +0 -0
  299. package/src/{modules → routes}/delete-one/index.js +0 -0
  300. package/src/{modules → routes}/duplicate-one/base-duplicate-one.service.d.ts +0 -0
  301. package/src/{modules → routes}/duplicate-one/base-duplicate-one.service.js +0 -0
  302. package/src/{modules → routes}/duplicate-one/duplicate-one-controller.interface.d.ts +0 -0
  303. package/src/{modules → routes}/duplicate-one/duplicate-one-service.interface.d.ts +0 -0
  304. package/src/{modules → routes}/duplicate-one/index.d.ts +0 -0
  305. package/src/{modules → routes}/duplicate-one/index.js +0 -0
  306. package/src/{modules → routes}/get-many/base-get-many.service.d.ts +0 -0
  307. package/src/{modules → routes}/get-many/base-get-many.service.js +1 -1
  308. /package/src/{modules → routes}/get-many/get-many-controller.interface.d.ts +0 -0
  309. /package/src/{modules → routes}/get-many/get-many-service.interface.d.ts +0 -0
  310. /package/src/{modules → routes}/get-many/index.d.ts +0 -0
  311. /package/src/{modules → routes}/get-many/index.js +0 -0
  312. /package/src/{modules → routes}/get-one/base-get-one.service.d.ts +0 -0
  313. /package/src/{modules → routes}/get-one/base-get-one.service.js +0 -0
  314. /package/src/{modules → routes}/get-one/get-one-controller.interface.d.ts +0 -0
  315. /package/src/{modules → routes}/get-one/get-one-service.interface.d.ts +0 -0
  316. /package/src/{modules → routes}/get-one/index.d.ts +0 -0
  317. /package/src/{modules → routes}/get-one/index.js +0 -0
  318. /package/src/{modules → routes}/replace-one/base-replace-one.service.d.ts +0 -0
  319. /package/src/{modules → routes}/replace-one/base-replace-one.service.js +0 -0
  320. /package/src/{modules → routes}/replace-one/index.d.ts +0 -0
  321. /package/src/{modules → routes}/replace-one/index.js +0 -0
  322. /package/src/{modules → routes}/replace-one/replace-one-controller.interface.d.ts +0 -0
  323. /package/src/{modules → routes}/replace-one/replace-one-service.interface.d.ts +0 -0
  324. /package/src/{modules → routes}/update-one/base-update-one.service.d.ts +0 -0
  325. /package/src/{modules → routes}/update-one/base-update-one.service.js +0 -0
  326. /package/src/{modules → routes}/update-one/index.d.ts +0 -0
  327. /package/src/{modules → routes}/update-one/index.js +0 -0
  328. /package/src/{modules → routes}/update-one/update-one-controller.interface.d.ts +0 -0
  329. /package/src/{modules → routes}/update-one/update-one-service.interface.d.ts +0 -0
@@ -1,18 +0,0 @@
1
- import { Type } from '@nestjs/common';
2
- import { RouteType } from '../interfaces';
3
- import { BaseEntity } from '../models';
4
- declare class RouteDecoratorsBuilder<Entity extends BaseEntity> {
5
- private readonly routeType;
6
- private readonly entity;
7
- private readonly description?;
8
- private readonly param?;
9
- private readonly query?;
10
- private readonly body?;
11
- private readonly presenter?;
12
- private readonly responseRouteTypeIsArray;
13
- constructor(routeType: RouteType, entity: Type<Entity>, description?: string, param?: Type, query?: Type, body?: Type, presenter?: Type);
14
- build(): MethodDecorator[];
15
- private getRouteDecorators;
16
- private getApiDecorators;
17
- }
18
- export { RouteDecoratorsBuilder };
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RouteDecoratorsBuilder = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const swagger_1 = require("@nestjs/swagger");
6
- const lodash_1 = require("lodash");
7
- class RouteDecoratorsBuilder {
8
- constructor(routeType, entity, description, param, query, body, presenter) {
9
- this.routeType = routeType;
10
- this.entity = entity;
11
- this.description = description;
12
- this.param = param;
13
- this.query = query;
14
- this.body = body;
15
- this.presenter = presenter;
16
- this.responseRouteTypeIsArray = [
17
- 'GetMany',
18
- 'CreateMany',
19
- ];
20
- }
21
- build() {
22
- const [paramKey] = this.param ? (0, lodash_1.keys)(new this.param()) : [];
23
- return [
24
- ...this.getRouteDecorators(paramKey),
25
- ...this.getApiDecorators(paramKey),
26
- ];
27
- }
28
- getRouteDecorators(paramKey) {
29
- switch (this.routeType) {
30
- case 'GetMany':
31
- return [(0, common_1.Get)()];
32
- case 'GetOne':
33
- return [(0, common_1.Get)(`:${paramKey}`)];
34
- case 'CreateMany':
35
- return [(0, common_1.Post)('many')];
36
- case 'CreateOne':
37
- return [(0, common_1.Post)()];
38
- case 'UpdateOne':
39
- return [(0, common_1.Patch)(`:${paramKey}`)];
40
- case 'ReplaceOne':
41
- return [(0, common_1.Put)(`:${paramKey}`)];
42
- case 'DuplicateOne':
43
- return [(0, common_1.Post)(`:${paramKey}`)];
44
- case 'DeleteOne':
45
- return [(0, common_1.Delete)(`:${paramKey}`)];
46
- default:
47
- throw new Error(`Unexpected route type! Cannot build route decorators. Received: ${this.routeType}`);
48
- }
49
- }
50
- getApiDecorators(paramKey) {
51
- return [
52
- (0, swagger_1.ApiOperation)({
53
- operationId: `${(0, lodash_1.lowerFirst)(this.routeType)}${this.entity.name}`,
54
- summary: this.description ??
55
- `${(0, lodash_1.upperFirst)((0, lodash_1.lowerCase)(this.routeType))} ${(0, lodash_1.lowerCase)(this.entity.name)}`,
56
- }),
57
- (0, swagger_1.ApiResponse)({
58
- type: this.presenter ?? this.entity,
59
- isArray: this.responseRouteTypeIsArray.includes(this.routeType),
60
- }),
61
- ...(this.body ? [(0, swagger_1.ApiBody)({
62
- type: this.body,
63
- ...(this.routeType === 'DuplicateOne' ? { required: false } : {})
64
- })] : []),
65
- ...(this.param && paramKey
66
- ? [
67
- (0, swagger_1.ApiParam)({
68
- type: typeof new this.param()[paramKey],
69
- name: paramKey,
70
- }),
71
- ]
72
- : []),
73
- ];
74
- }
75
- }
76
- exports.RouteDecoratorsBuilder = RouteDecoratorsBuilder;
@@ -1,2 +0,0 @@
1
- type MaybePromise<T> = T | Promise<T>;
2
- export type { MaybePromise };
@@ -1,17 +0,0 @@
1
- import { Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { BaseEntity } from '../models';
3
- type RouteType = 'GetMany' | 'GetOne' | 'CreateOne' | 'CreateMany' | 'UpdateOne' | 'ReplaceOne' | 'DeleteOne' | 'DuplicateOne';
4
- type DTOsBundle = {
5
- query?: Type;
6
- param?: Type;
7
- body?: Type;
8
- presenter?: Type;
9
- };
10
- interface RouteConfig<Entity extends BaseEntity> {
11
- type: RouteType;
12
- description?: string;
13
- version?: string;
14
- dTOs?: DTOsBundle;
15
- validationPipeOptions?: ValidationPipeOptions;
16
- }
17
- export { DTOsBundle, RouteType, RouteConfig };
@@ -1,6 +0,0 @@
1
- import { Type } from '@nestjs/common';
2
- import { DTOsBundle } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { CreateManyControllerConstructor } from './create-many-controller.interface';
5
- declare function CreateManyControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): CreateManyControllerConstructor<Entity>;
6
- export { CreateManyControllerMixin };
@@ -1,7 +0,0 @@
1
- import { Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { DTOsBundle, ServiceProvider } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { CreateManyControllerConstructor } from './create-many-controller.interface';
5
- declare function createCreateManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
6
- declare function createCreateManyController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): CreateManyControllerConstructor<Entity>;
7
- export { createCreateManyController, createCreateManyServiceProvider };
@@ -1,6 +0,0 @@
1
- import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { ControllerOptions, RouteConfig } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- export declare class CreateManyModule {
5
- static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: RouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
6
- }
@@ -1,6 +0,0 @@
1
- import { Type } from '@nestjs/common';
2
- import { DTOsBundle } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { CreateOneControllerConstructor } from './create-one-controller.interface';
5
- declare function CreateOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): CreateOneControllerConstructor<Entity>;
6
- export { CreateOneControllerMixin };
@@ -1,7 +0,0 @@
1
- import { Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { DTOsBundle, ServiceProvider } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { CreateOneControllerConstructor } from './create-one-controller.interface';
5
- declare function createCreateOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
6
- declare function createCreateOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): CreateOneControllerConstructor<Entity>;
7
- export { createCreateOneController, createCreateOneServiceProvider };
@@ -1,6 +0,0 @@
1
- import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { ControllerOptions, RouteConfig } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- export declare class CreateOneModule {
5
- static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: RouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
6
- }
@@ -1,6 +0,0 @@
1
- import { Type } from '@nestjs/common';
2
- import { DTOsBundle } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { DeleteOneControllerConstructor } from './delete-one-controller.interface';
5
- declare function DeleteOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): DeleteOneControllerConstructor<Entity>;
6
- export { DeleteOneControllerMixin };
@@ -1,7 +0,0 @@
1
- import { Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { DTOsBundle, ServiceProvider } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { DeleteOneControllerConstructor } from './delete-one-controller.interface';
5
- declare function createDeleteOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
6
- declare function createDeleteOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): DeleteOneControllerConstructor<Entity>;
7
- export { createDeleteOneController, createDeleteOneServiceProvider };
@@ -1,6 +0,0 @@
1
- import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { ControllerOptions, RouteConfig } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- export declare class DeleteOneModule {
5
- static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: RouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
6
- }
@@ -1,6 +0,0 @@
1
- import { Type } from '@nestjs/common';
2
- import { DTOsBundle } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { DuplicateOneControllerConstructor } from './duplicate-one-controller.interface';
5
- declare function DuplicateOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): DuplicateOneControllerConstructor<Entity>;
6
- export { DuplicateOneControllerMixin };
@@ -1,7 +0,0 @@
1
- import { Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { DTOsBundle, ServiceProvider } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { DuplicateOneControllerConstructor } from './duplicate-one-controller.interface';
5
- declare function createDuplicateOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
6
- declare function createDuplicateOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): DuplicateOneControllerConstructor<Entity>;
7
- export { createDuplicateOneController, createDuplicateOneServiceProvider };
@@ -1,6 +0,0 @@
1
- import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { ControllerOptions, RouteConfig } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- export declare class DuplicateOneModule {
5
- static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: RouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
6
- }
@@ -1,6 +0,0 @@
1
- import { Type } from '@nestjs/common';
2
- import { DTOsBundle } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { GetManyControllerConstructor } from './get-many-controller.interface';
5
- declare function GetManyControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): GetManyControllerConstructor<Entity>;
6
- export { GetManyControllerMixin };
@@ -1,7 +0,0 @@
1
- import { Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { DTOsBundle, ServiceProvider } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { GetManyControllerConstructor } from './get-many-controller.interface';
5
- declare function createGetManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
6
- declare function createGetManyController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): GetManyControllerConstructor<Entity>;
7
- export { createGetManyController, createGetManyServiceProvider };
@@ -1,6 +0,0 @@
1
- import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { ControllerOptions, RouteConfig } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- export declare class GetManyModule {
5
- static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: RouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
6
- }
@@ -1,6 +0,0 @@
1
- import { Type } from '@nestjs/common';
2
- import { DTOsBundle } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { GetOneControllerConstructor } from './get-one-controller.interface';
5
- declare function GetOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): GetOneControllerConstructor<Entity>;
6
- export { GetOneControllerMixin };
@@ -1,7 +0,0 @@
1
- import { Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { DTOsBundle, ServiceProvider } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { GetOneControllerConstructor } from './get-one-controller.interface';
5
- declare function createGetOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
6
- declare function createGetOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): GetOneControllerConstructor<Entity>;
7
- export { createGetOneController, createGetOneServiceProvider };
@@ -1,6 +0,0 @@
1
- import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { ControllerOptions, RouteConfig } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- export declare class GetOneModule {
5
- static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: RouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
6
- }
@@ -1,6 +0,0 @@
1
- import { Type } from '@nestjs/common';
2
- import { DTOsBundle } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { ReplaceOneControllerConstructor } from './replace-one-controller.interface';
5
- declare function ReplaceOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): ReplaceOneControllerConstructor<Entity>;
6
- export { ReplaceOneControllerMixin };
@@ -1,7 +0,0 @@
1
- import { Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { DTOsBundle, ServiceProvider } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { ReplaceOneControllerConstructor } from './replace-one-controller.interface';
5
- declare function createReplaceOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
6
- declare function createReplaceOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): ReplaceOneControllerConstructor<Entity>;
7
- export { createReplaceOneController, createReplaceOneServiceProvider };
@@ -1,6 +0,0 @@
1
- import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { ControllerOptions, RouteConfig } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- export declare class ReplaceOneModule {
5
- static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: RouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
6
- }
@@ -1,6 +0,0 @@
1
- import { Type } from '@nestjs/common';
2
- import { DTOsBundle } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { UpdateOneControllerConstructor } from './update-one-controller.interface';
5
- declare function UpdateOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle): UpdateOneControllerConstructor<Entity>;
6
- export { UpdateOneControllerMixin };
@@ -1,7 +0,0 @@
1
- import { Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { DTOsBundle, ServiceProvider } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- import { UpdateOneControllerConstructor } from './update-one-controller.interface';
5
- declare function createUpdateOneServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>): ServiceProvider;
6
- declare function createUpdateOneController<Entity extends BaseEntity>(entity: Type<Entity>, path: string, apiTag?: string, version?: string, description?: string, DTOs?: DTOsBundle, validationPipeOptions?: ValidationPipeOptions): UpdateOneControllerConstructor<Entity>;
7
- export { createUpdateOneController, createUpdateOneServiceProvider };
@@ -1,6 +0,0 @@
1
- import { DynamicModule, Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { ControllerOptions, RouteConfig } from '../../interfaces';
3
- import { BaseEntity } from '../../models';
4
- export declare class UpdateOneModule {
5
- static forFeature<Entity extends BaseEntity>(databaseModule: DynamicModule, entity: Type<Entity>, { path, apiTag }: ControllerOptions, { description, dTOs: DTOs }: RouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DynamicModule;
6
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -10,8 +10,8 @@ class BaseGetManyService extends services_1.BaseService {
10
10
  async getMany(query) {
11
11
  const documents = await this.model
12
12
  .find({
13
- ...(query ?? {}),
14
13
  ...(this.isSoftDeletable ? { isDeleted: false } : {}),
14
+ ...(query ?? {}),
15
15
  })
16
16
  .lean()
17
17
  .exec();
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes