mongodb-dynamic-api 2.10.1 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.json +1 -1
  3. package/src/dynamic-api.module.d.ts +1 -1
  4. package/src/dynamic-api.module.js +2 -2
  5. package/src/dynamic-api.module.js.map +1 -1
  6. package/src/gateways/base.gateway.js +2 -2
  7. package/src/gateways/base.gateway.js.map +1 -1
  8. package/src/guards/base-policies.guard.d.ts +13 -1
  9. package/src/guards/base-policies.guard.js +52 -2
  10. package/src/guards/base-policies.guard.js.map +1 -1
  11. package/src/guards/index.d.ts +1 -0
  12. package/src/guards/index.js +1 -0
  13. package/src/guards/index.js.map +1 -1
  14. package/src/guards/jwt-socket.guard.d.ts +11 -0
  15. package/src/guards/jwt-socket.guard.js +70 -0
  16. package/src/guards/jwt-socket.guard.js.map +1 -0
  17. package/src/helpers/format.helper.d.ts +1 -1
  18. package/src/helpers/format.helper.js +1 -1
  19. package/src/helpers/format.helper.js.map +1 -1
  20. package/src/index.d.ts +1 -0
  21. package/src/index.js +1 -0
  22. package/src/index.js.map +1 -1
  23. package/src/interfaces/dynamic-api-controller-options.interface.d.ts +2 -1
  24. package/src/interfaces/dynamic-api-options.interface.d.ts +4 -1
  25. package/src/interfaces/dynamic-api-options.interface.js.map +1 -1
  26. package/src/interfaces/dynamic-api-route-config.interface.d.ts +2 -1
  27. package/src/logger/index.d.ts +1 -0
  28. package/src/logger/index.js +18 -0
  29. package/src/logger/index.js.map +1 -0
  30. package/src/logger/mongo-dynamic-api.logger.d.ts +10 -0
  31. package/src/logger/mongo-dynamic-api.logger.js +44 -0
  32. package/src/logger/mongo-dynamic-api.logger.js.map +1 -0
  33. package/src/mixins/index.d.ts +1 -1
  34. package/src/mixins/index.js +1 -1
  35. package/src/mixins/index.js.map +1 -1
  36. package/src/mixins/policies-guard.mixin.d.ts +7 -0
  37. package/src/mixins/{create-policies-guard.mixin.js → policies-guard.mixin.js} +28 -4
  38. package/src/mixins/policies-guard.mixin.js.map +1 -0
  39. package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js +2 -1
  40. package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js.map +1 -1
  41. package/src/modules/auth/services/base-auth.service.js +2 -1
  42. package/src/modules/auth/services/base-auth.service.js.map +1 -1
  43. package/src/routes/aggregate/aggregate-controller.mixin.js +1 -1
  44. package/src/routes/aggregate/aggregate-controller.mixin.js.map +1 -1
  45. package/src/routes/aggregate/aggregate-gateway.mixin.js +7 -3
  46. package/src/routes/aggregate/aggregate-gateway.mixin.js.map +1 -1
  47. package/src/routes/create-many/create-many-controller.mixin.d.ts +1 -1
  48. package/src/routes/create-many/create-many-controller.mixin.js +3 -2
  49. package/src/routes/create-many/create-many-controller.mixin.js.map +1 -1
  50. package/src/routes/create-many/create-many-gateway.mixin.d.ts +1 -1
  51. package/src/routes/create-many/create-many-gateway.mixin.js +9 -4
  52. package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
  53. package/src/routes/create-many/create-many.helper.d.ts +2 -2
  54. package/src/routes/create-many/create-many.helper.js +4 -3
  55. package/src/routes/create-many/create-many.helper.js.map +1 -1
  56. package/src/routes/create-many/create-many.module.d.ts +2 -2
  57. package/src/routes/create-many/create-many.module.js +4 -3
  58. package/src/routes/create-many/create-many.module.js.map +1 -1
  59. package/src/routes/create-one/create-one-controller.mixin.d.ts +1 -1
  60. package/src/routes/create-one/create-one-controller.mixin.js +3 -2
  61. package/src/routes/create-one/create-one-controller.mixin.js.map +1 -1
  62. package/src/routes/create-one/create-one-gateway.mixin.d.ts +1 -1
  63. package/src/routes/create-one/create-one-gateway.mixin.js +8 -4
  64. package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
  65. package/src/routes/create-one/create-one.helper.d.ts +2 -2
  66. package/src/routes/create-one/create-one.helper.js +4 -3
  67. package/src/routes/create-one/create-one.helper.js.map +1 -1
  68. package/src/routes/create-one/create-one.module.d.ts +2 -2
  69. package/src/routes/create-one/create-one.module.js +4 -3
  70. package/src/routes/create-one/create-one.module.js.map +1 -1
  71. package/src/routes/delete-many/delete-many-controller.mixin.d.ts +1 -1
  72. package/src/routes/delete-many/delete-many-controller.mixin.js +3 -2
  73. package/src/routes/delete-many/delete-many-controller.mixin.js.map +1 -1
  74. package/src/routes/delete-many/delete-many-gateway.mixin.d.ts +1 -1
  75. package/src/routes/delete-many/delete-many-gateway.mixin.js +9 -4
  76. package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -1
  77. package/src/routes/delete-many/delete-many.helper.d.ts +2 -2
  78. package/src/routes/delete-many/delete-many.helper.js +4 -3
  79. package/src/routes/delete-many/delete-many.helper.js.map +1 -1
  80. package/src/routes/delete-many/delete-many.module.d.ts +2 -2
  81. package/src/routes/delete-many/delete-many.module.js +4 -3
  82. package/src/routes/delete-many/delete-many.module.js.map +1 -1
  83. package/src/routes/delete-one/delete-one-controller.mixin.d.ts +1 -1
  84. package/src/routes/delete-one/delete-one-controller.mixin.js +3 -2
  85. package/src/routes/delete-one/delete-one-controller.mixin.js.map +1 -1
  86. package/src/routes/delete-one/delete-one-gateway.mixin.d.ts +1 -1
  87. package/src/routes/delete-one/delete-one-gateway.mixin.js +9 -4
  88. package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -1
  89. package/src/routes/delete-one/delete-one.helper.d.ts +2 -2
  90. package/src/routes/delete-one/delete-one.helper.js +4 -3
  91. package/src/routes/delete-one/delete-one.helper.js.map +1 -1
  92. package/src/routes/delete-one/delete-one.module.d.ts +2 -2
  93. package/src/routes/delete-one/delete-one.module.js +4 -3
  94. package/src/routes/delete-one/delete-one.module.js.map +1 -1
  95. package/src/routes/duplicate-many/duplicate-many-controller.mixin.d.ts +1 -1
  96. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +3 -2
  97. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js.map +1 -1
  98. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.d.ts +1 -1
  99. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +8 -4
  100. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -1
  101. package/src/routes/duplicate-many/duplicate-many.helper.d.ts +2 -2
  102. package/src/routes/duplicate-many/duplicate-many.helper.js +4 -3
  103. package/src/routes/duplicate-many/duplicate-many.helper.js.map +1 -1
  104. package/src/routes/duplicate-many/duplicate-many.module.d.ts +2 -2
  105. package/src/routes/duplicate-many/duplicate-many.module.js +4 -3
  106. package/src/routes/duplicate-many/duplicate-many.module.js.map +1 -1
  107. package/src/routes/duplicate-one/duplicate-one-controller.mixin.d.ts +1 -1
  108. package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +3 -2
  109. package/src/routes/duplicate-one/duplicate-one-controller.mixin.js.map +1 -1
  110. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.d.ts +1 -1
  111. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +8 -4
  112. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -1
  113. package/src/routes/duplicate-one/duplicate-one.helper.d.ts +2 -2
  114. package/src/routes/duplicate-one/duplicate-one.helper.js +4 -3
  115. package/src/routes/duplicate-one/duplicate-one.helper.js.map +1 -1
  116. package/src/routes/duplicate-one/duplicate-one.module.d.ts +2 -2
  117. package/src/routes/duplicate-one/duplicate-one.module.js +4 -3
  118. package/src/routes/duplicate-one/duplicate-one.module.js.map +1 -1
  119. package/src/routes/get-many/get-many-controller.mixin.d.ts +1 -1
  120. package/src/routes/get-many/get-many-controller.mixin.js +3 -2
  121. package/src/routes/get-many/get-many-controller.mixin.js.map +1 -1
  122. package/src/routes/get-many/get-many-gateway.mixin.d.ts +1 -1
  123. package/src/routes/get-many/get-many-gateway.mixin.js +8 -4
  124. package/src/routes/get-many/get-many-gateway.mixin.js.map +1 -1
  125. package/src/routes/get-many/get-many.helper.d.ts +2 -2
  126. package/src/routes/get-many/get-many.helper.js +4 -3
  127. package/src/routes/get-many/get-many.helper.js.map +1 -1
  128. package/src/routes/get-many/get-many.module.d.ts +2 -2
  129. package/src/routes/get-many/get-many.module.js +4 -3
  130. package/src/routes/get-many/get-many.module.js.map +1 -1
  131. package/src/routes/get-one/get-one-controller.mixin.d.ts +1 -1
  132. package/src/routes/get-one/get-one-controller.mixin.js +3 -2
  133. package/src/routes/get-one/get-one-controller.mixin.js.map +1 -1
  134. package/src/routes/get-one/get-one-gateway.mixin.d.ts +1 -1
  135. package/src/routes/get-one/get-one-gateway.mixin.js +8 -4
  136. package/src/routes/get-one/get-one-gateway.mixin.js.map +1 -1
  137. package/src/routes/get-one/get-one.helper.d.ts +2 -2
  138. package/src/routes/get-one/get-one.helper.js +4 -3
  139. package/src/routes/get-one/get-one.helper.js.map +1 -1
  140. package/src/routes/get-one/get-one.module.d.ts +2 -2
  141. package/src/routes/get-one/get-one.module.js +4 -3
  142. package/src/routes/get-one/get-one.module.js.map +1 -1
  143. package/src/routes/replace-one/replace-one-controller.mixin.d.ts +1 -1
  144. package/src/routes/replace-one/replace-one-controller.mixin.js +3 -2
  145. package/src/routes/replace-one/replace-one-controller.mixin.js.map +1 -1
  146. package/src/routes/replace-one/replace-one-gateway.mixin.d.ts +1 -1
  147. package/src/routes/replace-one/replace-one-gateway.mixin.js +8 -4
  148. package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -1
  149. package/src/routes/replace-one/replace-one.helper.d.ts +2 -2
  150. package/src/routes/replace-one/replace-one.helper.js +4 -3
  151. package/src/routes/replace-one/replace-one.helper.js.map +1 -1
  152. package/src/routes/replace-one/replace-one.module.d.ts +2 -2
  153. package/src/routes/replace-one/replace-one.module.js +4 -3
  154. package/src/routes/replace-one/replace-one.module.js.map +1 -1
  155. package/src/routes/update-many/update-many-controller.mixin.d.ts +1 -1
  156. package/src/routes/update-many/update-many-controller.mixin.js +3 -2
  157. package/src/routes/update-many/update-many-controller.mixin.js.map +1 -1
  158. package/src/routes/update-many/update-many-gateway.mixin.d.ts +1 -1
  159. package/src/routes/update-many/update-many-gateway.mixin.js +8 -4
  160. package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
  161. package/src/routes/update-many/update-many.helper.d.ts +2 -2
  162. package/src/routes/update-many/update-many.helper.js +4 -3
  163. package/src/routes/update-many/update-many.helper.js.map +1 -1
  164. package/src/routes/update-many/update-many.module.d.ts +2 -2
  165. package/src/routes/update-many/update-many.module.js +4 -3
  166. package/src/routes/update-many/update-many.module.js.map +1 -1
  167. package/src/routes/update-one/update-one-controller.mixin.d.ts +1 -1
  168. package/src/routes/update-one/update-one-controller.mixin.js +3 -2
  169. package/src/routes/update-one/update-one-controller.mixin.js.map +1 -1
  170. package/src/routes/update-one/update-one-gateway.mixin.d.ts +1 -1
  171. package/src/routes/update-one/update-one-gateway.mixin.js +8 -4
  172. package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -1
  173. package/src/routes/update-one/update-one.helper.d.ts +2 -2
  174. package/src/routes/update-one/update-one.helper.js +4 -3
  175. package/src/routes/update-one/update-one.helper.js.map +1 -1
  176. package/src/routes/update-one/update-one.module.d.ts +2 -2
  177. package/src/routes/update-one/update-one.module.js +4 -3
  178. package/src/routes/update-one/update-one.module.js.map +1 -1
  179. package/src/services/base/base.service.d.ts +1 -0
  180. package/src/services/base/base.service.js +22 -0
  181. package/src/services/base/base.service.js.map +1 -1
  182. package/src/version.json +1 -1
  183. package/test/dynamic-api-for-feature.e2e-spec.js +0 -26
  184. package/test/dynamic-api-for-feature.e2e-spec.js.map +1 -1
  185. package/tsconfig.tsbuildinfo +1 -1
  186. package/src/mixins/create-policies-guard.mixin.d.ts +0 -6
  187. package/src/mixins/create-policies-guard.mixin.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  Changelog
2
2
 
3
+ ## [2.12.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.11.0...v2.12.0) (2025-10-19)
4
+
5
+
6
+ ### interceptors
7
+
8
+ * **interceptors:** add the possibility to use class/method interceptors ([977f3de](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/977f3deccabaf4d5a87f76eca5c9012ab05c3d48))
9
+
10
+ ## [2.11.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.10.1...v2.11.0) (2025-07-27)
11
+
12
+
13
+ ### socket
14
+
15
+ * **socket:** add policies guard mixin ([bc739b4](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/bc739b4b8ea5e026fc93a5c70e1dfae454323c4f))
16
+
3
17
  ## [2.10.1](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.10.0...v2.10.1) (2025-07-19)
4
18
 
5
19
  ## [2.10.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.9.0...v2.10.0) (2025-02-22)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb-dynamic-api",
3
- "version": "2.10.1",
3
+ "version": "2.12.0",
4
4
  "description": "Auto generated CRUD API for MongoDB using NestJS",
5
5
  "readmeFilename": "README.md",
6
6
  "main": "index.js",
@@ -5,7 +5,7 @@ import { DynamicApiGlobalStateService } from './services';
5
5
  export declare class DynamicApiModule {
6
6
  static readonly state: DynamicApiGlobalStateService;
7
7
  static forRoot<Entity extends BaseEntity = any>(uri: string, { useGlobalCache, cacheOptions, useAuth, routesConfig, webSocket, }?: DynamicApiForRootOptions<Entity>): DynamicModule;
8
- static forFeature<Entity extends BaseEntity>({ entity, controllerOptions, routes, webSocket: featureWebSocket, }: DynamicApiForFeatureOptions<Entity>): Promise<DynamicModule>;
8
+ static forFeature<Entity extends BaseEntity>({ entity, controllerOptions, routes, webSocket: featureWebSocket, extraImports, extraProviders, extraControllers, }: DynamicApiForFeatureOptions<Entity>): Promise<DynamicModule>;
9
9
  private static buildStateFromOptions;
10
10
  private static setDefaultRoutes;
11
11
  }
@@ -42,7 +42,7 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
42
42
  exports: [modules_1.DynamicApiConfigModule],
43
43
  };
44
44
  }
45
- static forFeature({ entity, controllerOptions, routes, webSocket: featureWebSocket, }) {
45
+ static forFeature({ entity, controllerOptions, routes, webSocket: featureWebSocket, extraImports, extraProviders, extraControllers, }) {
46
46
  const schema = (0, helpers_1.buildSchemaFromEntity)(entity);
47
47
  const databaseModule = mongoose_1.MongooseModule.forFeature([{ name: entity.name, schema }], this.state.get('connectionName'));
48
48
  services_1.DynamicApiGlobalStateService.addEntitySchema(entity, schema);
@@ -89,7 +89,7 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
89
89
  return;
90
90
  }
91
91
  const validationPipeOptions = routeValidationPipeOptions ?? controllerValidationPipeOptions;
92
- return module.forFeature(databaseModule, entity, controllerOptions, { ...routeConfig, description }, version, validationPipeOptions ?? { transform: true }, routeWebSocket ?? featureWebSocket);
92
+ return module.forFeature(databaseModule, entity, controllerOptions, { ...routeConfig, description }, version, validationPipeOptions ?? { transform: true }, routeWebSocket ?? featureWebSocket, extraImports, extraProviders, extraControllers);
93
93
  }),
94
94
  ],
95
95
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-api.module.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/dynamic-api.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-api.module.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/dynamic-api.module.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseGateway = void 0;
4
- const common_1 = require("@nestjs/common");
5
4
  const websockets_1 = require("@nestjs/websockets");
6
5
  const lodash_1 = require("lodash");
7
6
  const dynamic_api_module_1 = require("../dynamic-api.module");
7
+ const logger_1 = require("../logger");
8
8
  class BaseGateway {
9
9
  constructor(jwtService) {
10
10
  this.jwtService = jwtService;
11
- this.logger = new common_1.Logger(BaseGateway.name);
11
+ this.logger = new logger_1.MongoDBDynamicApiLogger(BaseGateway.name);
12
12
  }
13
13
  addUserToSocket(socket, isPublic) {
14
14
  const isAuthEnabled = dynamic_api_module_1.DynamicApiModule.state.get('isAuthEnabled');
@@ -1 +1 @@
1
- {"version":3,"file":"base.gateway.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/base.gateway.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,mDAAiD;AACjD,mCAAiC;AAEjC,8DAAyD;AAIzD,MAAsB,WAAW;IAG/B,YAAyC,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAF9C,WAAM,GAAG,IAAI,eAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEW,CAAC;IAEzD,eAAe,CAAC,MAA8B,EAAE,QAAiB;QACzE,MAAM,aAAa,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAElE,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAqB,CAAC;QACjE,IAAI,QAAyD,CAAC;QAE9D,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;oBAC7C,MAAM,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;iBAChD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YAGD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;YAE7C,MAAM,CAAC,IAAI,GAAG,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAES,eAAe,CAAmB,IAAO;QACjD,OAAO,OAAO,CAAC,KAAK,IAAI,IAAI;YAC1B,KAAK,CAAC,OAAO,CACX,IACD,CAAC,GAAG,CAAC;YAEJ,IACD,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;CACF;AA/CD,kCA+CC"}
1
+ {"version":3,"file":"base.gateway.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/base.gateway.ts"],"names":[],"mappings":";;;AACA,mDAAiD;AACjD,mCAAiC;AAEjC,8DAAyD;AAEzD,sCAAoD;AAGpD,MAAsB,WAAW;IAG/B,YAAyC,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAF9C,WAAM,GAAG,IAAI,gCAAuB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEN,CAAC;IAEzD,eAAe,CAAC,MAA8B,EAAE,QAAiB;QACzE,MAAM,aAAa,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAElE,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAqB,CAAC;QACjE,IAAI,QAAyD,CAAC;QAE9D,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;oBAC7C,MAAM,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;iBAChD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YAGD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;YAE7C,MAAM,CAAC,IAAI,GAAG,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAES,eAAe,CAAmB,IAAO;QACjD,OAAO,OAAO,CAAC,KAAK,IAAI,IAAI;YAC1B,KAAK,CAAC,OAAO,CACX,IACD,CAAC,GAAG,CAAC;YAEJ,IACD,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;CACF;AA/CD,kCA+CC"}
@@ -28,7 +28,7 @@ import { Model } from 'mongoose';
28
28
  import { AbilityPredicate, RouteType } from '../interfaces';
29
29
  import { BaseEntity } from '../models';
30
30
  import { BaseService } from '../services';
31
- export declare abstract class BasePoliciesGuard<Entity extends BaseEntity> extends BaseService<Entity> implements CanActivate {
31
+ declare abstract class BasePoliciesGuard<Entity extends BaseEntity> extends BaseService<Entity> implements CanActivate {
32
32
  protected readonly model: Model<Entity>;
33
33
  protected routeType: RouteType;
34
34
  protected entity: Type<Entity>;
@@ -37,3 +37,15 @@ export declare abstract class BasePoliciesGuard<Entity extends BaseEntity> exten
37
37
  protected constructor(model: Model<Entity>);
38
38
  canActivate(context: ExecutionContext): Promise<boolean>;
39
39
  }
40
+ declare abstract class BaseSocketPoliciesGuard<Entity extends BaseEntity> extends BaseService<Entity> implements CanActivate {
41
+ protected readonly model: Model<Entity>;
42
+ protected routeType: RouteType;
43
+ protected abilityPredicate: AbilityPredicate<Entity> | undefined;
44
+ protected entity: Type<Entity>;
45
+ protected queryToPipeline?: (query: unknown) => PipelineStage[];
46
+ protected isPublic: boolean | undefined;
47
+ private logger;
48
+ protected constructor(model: Model<Entity>);
49
+ canActivate(context: ExecutionContext): Promise<boolean>;
50
+ }
51
+ export { BasePoliciesGuard, BaseSocketPoliciesGuard };
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BasePoliciesGuard = void 0;
3
+ exports.BaseSocketPoliciesGuard = exports.BasePoliciesGuard = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
+ const websockets_1 = require("@nestjs/websockets");
6
+ const logger_1 = require("../logger");
5
7
  const services_1 = require("../services");
6
8
  class BasePoliciesGuard extends services_1.BaseService {
7
9
  constructor(model) {
@@ -9,7 +11,7 @@ class BasePoliciesGuard extends services_1.BaseService {
9
11
  this.model = model;
10
12
  }
11
13
  async canActivate(context) {
12
- let { user, query, params } = context.switchToHttp().getRequest();
14
+ const { user, query, params } = context.switchToHttp().getRequest();
13
15
  if (this.abilityPredicate) {
14
16
  if (!user) {
15
17
  throw new common_1.ForbiddenException('Access Denied');
@@ -29,4 +31,52 @@ class BasePoliciesGuard extends services_1.BaseService {
29
31
  }
30
32
  }
31
33
  exports.BasePoliciesGuard = BasePoliciesGuard;
34
+ class BaseSocketPoliciesGuard extends services_1.BaseService {
35
+ constructor(model) {
36
+ super(model);
37
+ this.model = model;
38
+ }
39
+ async canActivate(context) {
40
+ this.logger = new logger_1.MongoDBDynamicApiLogger(`SocketPoliciesGuard-${this.routeType}-${this.entity?.name}`);
41
+ const [socket, data, _, _event] = context.getArgs();
42
+ this.logger.debug('canActivate', {
43
+ socketId: socket.id,
44
+ socketUser: socket.user,
45
+ data,
46
+ event: _event,
47
+ isPublic: this.isPublic,
48
+ abilityPredicate: !!this.abilityPredicate,
49
+ });
50
+ if (!this.isPublic) {
51
+ if (!socket.user) {
52
+ this.logger.warn('No user data in socket');
53
+ throw new websockets_1.WsException('Access Denied');
54
+ }
55
+ if (this.abilityPredicate) {
56
+ try {
57
+ this.user = socket.user;
58
+ const { id } = data || {};
59
+ if (id) {
60
+ this.logger.debug(`Finding one document with id: ${id} and ability predicate`);
61
+ await this.findOneDocumentWithAbilityPredicate(id);
62
+ }
63
+ else if (this.routeType === 'Aggregate' && data && this.queryToPipeline) {
64
+ this.logger.debug('Aggregating documents with ability predicate');
65
+ await this.aggregateDocumentsWithAbilityPredicate(this.queryToPipeline(data));
66
+ }
67
+ else {
68
+ this.logger.debug('Finding many documents with ability predicate');
69
+ await this.findManyDocumentsWithAbilityPredicate(data);
70
+ }
71
+ }
72
+ catch (error) {
73
+ this.logger.error('Error in canActivate', error);
74
+ throw new websockets_1.WsException(error.message);
75
+ }
76
+ }
77
+ }
78
+ return true;
79
+ }
80
+ }
81
+ exports.BaseSocketPoliciesGuard = BaseSocketPoliciesGuard;
32
82
  //# sourceMappingURL=base-policies.guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-policies.guard.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/guards/base-policies.guard.ts"],"names":[],"mappings":";;;AAAA,2CAAyF;AAKzF,0CAA0C;AAE1C,MAAsB,iBAA6C,SAAQ,sBAAmB;IAS5F,YAAyC,KAAoB;QAC3D,KAAK,CAAC,KAAK,CAAC,CAAC;QAD0B,UAAK,GAAL,KAAK,CAAe;IAE7D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAElE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,2BAAkB,CAAC,eAAe,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,mCAAmC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACnE,CAAC;iBAAM,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC3E,MAAM,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,qCAAqC,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAlCD,8CAkCC"}
1
+ {"version":3,"file":"base-policies.guard.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/guards/base-policies.guard.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from './base-policies.guard';
2
2
  export * from './dynamic-api-jwt-auth.guard';
3
+ export * from './jwt-socket.guard';
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./base-policies.guard"), exports);
18
18
  __exportStar(require("./dynamic-api-jwt-auth.guard"), exports);
19
+ __exportStar(require("./jwt-socket.guard"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,+DAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,+DAA6C;AAC7C,qDAAmC"}
@@ -0,0 +1,11 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { Socket } from 'socket.io';
3
+ export declare class JwtSocketGuard implements CanActivate {
4
+ protected readonly isPublic: boolean;
5
+ private readonly logger;
6
+ constructor(isPublic?: boolean);
7
+ canActivate(context: ExecutionContext): Promise<boolean>;
8
+ protected getUserFromSocket(socket: Socket): Promise<unknown>;
9
+ private getAccessTokenFromSocketQuery;
10
+ private extractUserFromToken;
11
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JwtSocketGuard = void 0;
4
+ const jwt_1 = require("@nestjs/jwt");
5
+ const websockets_1 = require("@nestjs/websockets");
6
+ const lodash_1 = require("lodash");
7
+ const dynamic_api_module_1 = require("../dynamic-api.module");
8
+ const logger_1 = require("../logger");
9
+ class JwtSocketGuard {
10
+ constructor(isPublic = false) {
11
+ this.isPublic = isPublic;
12
+ this.logger = new logger_1.MongoDBDynamicApiLogger(JwtSocketGuard.name);
13
+ }
14
+ async canActivate(context) {
15
+ const [socket] = context.getArgs();
16
+ this.logger.debug('canActivate', {
17
+ isPublic: this.isPublic,
18
+ socketId: socket?.id,
19
+ });
20
+ if (!this.isPublic) {
21
+ this.logger.debug('Checking user from socket query');
22
+ const user = await this.getUserFromSocket(socket);
23
+ if ((0, lodash_1.isEmpty)(user)) {
24
+ this.logger.warn('No user data');
25
+ throw new websockets_1.WsException('Unauthorized');
26
+ }
27
+ socket.user = user;
28
+ }
29
+ return true;
30
+ }
31
+ async getUserFromSocket(socket) {
32
+ const accessToken = this.getAccessTokenFromSocketQuery(socket);
33
+ return this.extractUserFromToken(accessToken);
34
+ }
35
+ getAccessTokenFromSocketQuery(socket) {
36
+ const accessToken = socket.handshake.query.accessToken;
37
+ this.logger.debug('getAccessTokenFromSocketQuery', {
38
+ accessToken: !!accessToken,
39
+ });
40
+ if (!accessToken) {
41
+ this.logger.warn('No access token provided in socket query');
42
+ throw new websockets_1.WsException('Unauthorized');
43
+ }
44
+ return accessToken;
45
+ }
46
+ async extractUserFromToken(accessToken) {
47
+ this.logger.debug('extractUserFromToken', { accessToken: !!accessToken });
48
+ const jwtService = new jwt_1.JwtService({
49
+ secret: dynamic_api_module_1.DynamicApiModule.state.get('jwtSecret'),
50
+ signOptions: {
51
+ expiresIn: dynamic_api_module_1.DynamicApiModule.state.get('jwtExpirationTime'),
52
+ },
53
+ });
54
+ try {
55
+ const { iat, exp, ...user } = await jwtService.verifyAsync(accessToken, {
56
+ secret: dynamic_api_module_1.DynamicApiModule.state.get('jwtSecret'),
57
+ ignoreExpiration: false,
58
+ });
59
+ this.logger.debug('User extracted from token', { userEmail: user?.email });
60
+ return user;
61
+ }
62
+ catch (e) {
63
+ this.logger.warn('extractUserFromToken jwtService.verify error');
64
+ this.logger.warn(e.message);
65
+ throw new websockets_1.WsException('Unauthorized');
66
+ }
67
+ }
68
+ }
69
+ exports.JwtSocketGuard = JwtSocketGuard;
70
+ //# sourceMappingURL=jwt-socket.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-socket.guard.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/guards/jwt-socket.guard.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { RouteType } from '../interfaces';
2
2
  declare function pascalCase(str?: string): string;
3
3
  declare function isValidVersion(version: string): boolean;
4
4
  declare function getDisplayedName(apiTag: string | undefined, entityName: string, subPath: string | undefined): string;
5
- declare function provideName(routeType: RouteType, displayedName: string, version: string | undefined, suffix: 'Service' | 'Controller' | 'PoliciesGuard' | 'Gateway'): string;
5
+ declare function provideName(routeType: RouteType, displayedName: string, version: string | undefined, suffix: 'Service' | 'Controller' | 'PoliciesGuard' | 'Gateway' | 'SocketPoliciesGuard'): string;
6
6
  declare function isEmptyObject(obj?: unknown): boolean;
7
7
  declare function isNotEmptyObject(obj?: unknown): boolean;
8
8
  export { pascalCase, isValidVersion, getDisplayedName, provideName, isEmptyObject, isNotEmptyObject, };
@@ -4,7 +4,7 @@ exports.isNotEmptyObject = exports.isEmptyObject = exports.provideName = exports
4
4
  const lodash_1 = require("lodash");
5
5
  const versioning_config_helper_1 = require("./versioning-config.helper");
6
6
  function getNamePrefix(routeType, displayedName, version) {
7
- return `${routeType}${displayedName}${(0, versioning_config_helper_1.addVersionSuffix)(version)}`;
7
+ return `${routeType}${displayedName}${version ? (0, versioning_config_helper_1.addVersionSuffix)(version) : ''}`;
8
8
  }
9
9
  function pascalCase(str) {
10
10
  return str ? (0, lodash_1.upperFirst)((0, lodash_1.camelCase)(str)) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"format.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/format.helper.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,yEAA8D;AAE9D,SAAS,aAAa,CAAC,SAAoB,EAAE,aAAqB,EAAE,OAA2B;IAC7F,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,IAAA,2CAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAU,EAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AA4BC,gCAAU;AA1BZ,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAyBC,wCAAc;AAvBhB,SAAS,gBAAgB,CAAC,MAA0B,EAAE,UAAkB,EAAE,OAA2B;IACnG,OAAO,UAAU,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;AAC9E,CAAC;AAsBC,4CAAgB;AApBlB,SAAS,WAAW,CAClB,SAAoB,EACpB,aAAqB,EACrB,OAA2B,EAC3B,MAA8D;IAE9D,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;AACxE,CAAC;AAcC,kCAAW;AAZb,SAAS,aAAa,CAAC,GAAa;IAClC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC;AAWC,sCAAa;AATf,SAAS,gBAAgB,CAAC,GAAa;IACrC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAQC,4CAAgB"}
1
+ {"version":3,"file":"format.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/format.helper.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,yEAA8D;AAE9D,SAAS,aAAa,CAAC,SAAoB,EAAE,aAAqB,EAAE,OAA2B;IAC7F,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,IAAA,2CAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAU,EAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AA4BC,gCAAU;AA1BZ,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAyBC,wCAAc;AAvBhB,SAAS,gBAAgB,CAAC,MAA0B,EAAE,UAAkB,EAAE,OAA2B;IACnG,OAAO,UAAU,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;AAC9E,CAAC;AAsBC,4CAAgB;AApBlB,SAAS,WAAW,CAClB,SAAoB,EACpB,aAAqB,EACrB,OAA2B,EAC3B,MAAsF;IAEtF,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;AACxE,CAAC;AAcC,kCAAW;AAZb,SAAS,aAAa,CAAC,GAAa;IAClC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC;AAWC,sCAAa;AATf,SAAS,gBAAgB,CAAC,GAAa;IACrC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAQC,4CAAgB"}
package/src/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export * from './guards';
7
7
  export * from './helpers';
8
8
  export * from './interceptors';
9
9
  export * from './interfaces';
10
+ export * from './logger';
10
11
  export * from './mixins';
11
12
  export * from './models';
12
13
  export * from './routes';
package/src/index.js CHANGED
@@ -23,6 +23,7 @@ __exportStar(require("./guards"), exports);
23
23
  __exportStar(require("./helpers"), exports);
24
24
  __exportStar(require("./interceptors"), exports);
25
25
  __exportStar(require("./interfaces"), exports);
26
+ __exportStar(require("./logger"), exports);
26
27
  __exportStar(require("./mixins"), exports);
27
28
  __exportStar(require("./models"), exports);
28
29
  __exportStar(require("./routes"), 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,6CAA2B;AAC3B,0CAAwB;AACxB,uDAAqC"}
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,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,uDAAqC"}
@@ -1,4 +1,4 @@
1
- import { ValidationPipeOptions } from '@nestjs/common';
1
+ import { NestInterceptor, Type, ValidationPipeOptions } from '@nestjs/common';
2
2
  import { BaseEntity } from '../models';
3
3
  import { ControllerAbilityPredicate } from './dynamic-api-ability.interface';
4
4
  import { RoutesConfig } from './dynamic-api-global-state.interface';
@@ -10,5 +10,6 @@ interface DynamicApiControllerOptions<Entity extends BaseEntity> {
10
10
  validationPipeOptions?: ValidationPipeOptions;
11
11
  abilityPredicates?: ControllerAbilityPredicate<Entity>[];
12
12
  routesConfig?: Partial<RoutesConfig>;
13
+ useInterceptors?: Type<NestInterceptor>[];
13
14
  }
14
15
  export { DynamicApiControllerOptions };
@@ -1,4 +1,4 @@
1
- import { Type } from '@nestjs/common';
1
+ import { ModuleMetadata, Type } from '@nestjs/common';
2
2
  import { BaseEntity } from '../models';
3
3
  import { DynamicApiAuthOptions } from '../modules';
4
4
  import { DynamicApiControllerOptions } from './dynamic-api-controller-options.interface';
@@ -19,5 +19,8 @@ interface DynamicApiForFeatureOptions<Entity extends BaseEntity> {
19
19
  controllerOptions: DynamicApiControllerOptions<Entity>;
20
20
  routes?: DynamicAPIRouteConfig<Entity>[];
21
21
  webSocket?: DynamicApiWebSocketOptions;
22
+ extraImports?: ModuleMetadata['imports'];
23
+ extraProviders?: ModuleMetadata['providers'];
24
+ extraControllers?: ModuleMetadata['controllers'];
22
25
  }
23
26
  export { DynamicApiForFeatureOptions, DynamicApiForRootOptions, DYNAMIC_API_GLOBAL_STATE };
@@ -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":";;;AASA,MAAM,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAiBJ,4DAAwB"}
1
+ {"version":3,"file":"dynamic-api-options.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-options.interface.ts"],"names":[],"mappings":";;;AASA,MAAM,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAoBJ,4DAAwB"}
@@ -1,4 +1,4 @@
1
- import { ValidationPipeOptions } from '@nestjs/common';
1
+ import { NestInterceptor, Type, ValidationPipeOptions } from '@nestjs/common';
2
2
  import { BaseEntity } from '../models';
3
3
  import { AbilityPredicate } from './dynamic-api-ability.interface';
4
4
  import { DTOsBundle } from './dynamic-api-route-dtos-bundle.type';
@@ -20,5 +20,6 @@ interface DynamicAPIRouteConfig<Entity extends BaseEntity> {
20
20
  webSocket?: DynamicApiWebSocketOptions;
21
21
  eventName?: string;
22
22
  isArrayResponse?: boolean;
23
+ useInterceptors?: Type<NestInterceptor>[];
23
24
  }
24
25
  export { DynamicAPIRouteConfig };
@@ -0,0 +1 @@
1
+ export * from './mongo-dynamic-api.logger';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./mongo-dynamic-api.logger"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/logger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C"}
@@ -0,0 +1,10 @@
1
+ import { Logger } from '@nestjs/common';
2
+ export declare class MongoDBDynamicApiLogger extends Logger {
3
+ private readonly isEnabled;
4
+ private readonly logLevel;
5
+ constructor(context: string);
6
+ debug(...args: Logger['debug']['arguments']): void;
7
+ log(...args: Logger['log']['arguments']): void;
8
+ warn(...args: Logger['warn']['arguments']): void;
9
+ error(...args: Logger['error']['arguments']): void;
10
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongoDBDynamicApiLogger = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const process = require("node:process");
6
+ const logLevelsDictionary = {
7
+ debug: ['DEBUG'],
8
+ log: ['INFO', 'DEBUG'],
9
+ warn: ['WARN', 'INFO', 'DEBUG'],
10
+ error: ['ERROR', 'WARN', 'INFO', 'DEBUG'],
11
+ };
12
+ class MongoDBDynamicApiLogger extends common_1.Logger {
13
+ constructor(context) {
14
+ super(context);
15
+ this.isEnabled = !!process.env.MONGODB_DYNAMIC_API_LOGGER;
16
+ this.logLevel = (process.env.MONGODB_DYNAMIC_API_LOGGER || 'ERROR');
17
+ }
18
+ debug(...args) {
19
+ if (!this.isEnabled || !logLevelsDictionary['debug'].includes(this.logLevel)) {
20
+ return;
21
+ }
22
+ super.debug(...args);
23
+ }
24
+ log(...args) {
25
+ if (!this.isEnabled || !logLevelsDictionary['log'].includes(this.logLevel)) {
26
+ return;
27
+ }
28
+ super.log(...args);
29
+ }
30
+ warn(...args) {
31
+ if (!this.isEnabled || !logLevelsDictionary['warn'].includes(this.logLevel)) {
32
+ return;
33
+ }
34
+ super.warn(...args);
35
+ }
36
+ error(...args) {
37
+ if (!this.isEnabled || !logLevelsDictionary['error'].includes(this.logLevel)) {
38
+ return;
39
+ }
40
+ super.error(...args);
41
+ }
42
+ }
43
+ exports.MongoDBDynamicApiLogger = MongoDBDynamicApiLogger;
44
+ //# sourceMappingURL=mongo-dynamic-api.logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo-dynamic-api.logger.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/logger/mongo-dynamic-api.logger.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,wCAAwC;AAKxC,MAAM,mBAAmB,GAAuE;IAC9F,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;CAC1C,CAAA;AAED,MAAa,uBAAwB,SAAQ,eAAM;IAIjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJA,cAAS,GAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;QAC9D,aAAQ,GAA8B,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,OAAO,CAA8B,CAAC;IAIxI,CAAC;IAED,KAAK,CAAC,GAAG,IAAkC;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7E,OAAO;QACT,CAAC;QAGD,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,GAAG,IAAgC;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3E,OAAO;QACT,CAAC;QAGD,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,GAAG,IAAiC;QACvC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5E,OAAO;QACT,CAAC;QAGD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,GAAG,IAAkC;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7E,OAAO;QACT,CAAC;QAGD,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;CACF;AA3CD,0DA2CC"}
@@ -1,3 +1,3 @@
1
- export * from './create-policies-guard.mixin';
1
+ export * from './policies-guard.mixin';
2
2
  export * from './entity-body.mixin';
3
3
  export * from './entity-presenter.mixin';
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./create-policies-guard.mixin"), exports);
17
+ __exportStar(require("./policies-guard.mixin"), exports);
18
18
  __exportStar(require("./entity-body.mixin"), exports);
19
19
  __exportStar(require("./entity-presenter.mixin"), exports);
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/mixins/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,sDAAoC;AACpC,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/mixins/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,sDAAoC;AACpC,2DAAyC"}
@@ -0,0 +1,7 @@
1
+ import { Type } from '@nestjs/common';
2
+ import { PipelineStage } from 'mongodb-pipeline-builder';
3
+ import { AbilityPredicate, AuthAbilityPredicate, PoliciesGuardConstructor, RouteType } from '../interfaces';
4
+ import { BaseEntity } from '../models';
5
+ declare function RoutePoliciesGuardMixin<Entity extends BaseEntity>(entity: Type<Entity>, routeType: RouteType, displayedName: string, version: string | undefined, abilityPredicate: AbilityPredicate<Entity> | undefined, queryToPipeline?: (query: unknown) => PipelineStage[]): PoliciesGuardConstructor<Entity>;
6
+ declare function SocketPoliciesGuardMixin<Entity extends BaseEntity>(entity: Type<Entity>, routeType: RouteType, event: string, version: string | undefined, abilityPredicate: AuthAbilityPredicate | undefined, isPublic: boolean | undefined, queryToPipeline?: (query: unknown) => PipelineStage[]): PoliciesGuardConstructor<Entity>;
7
+ export { RoutePoliciesGuardMixin, SocketPoliciesGuardMixin };
@@ -12,14 +12,14 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.CreatePoliciesGuardMixin = void 0;
15
+ exports.SocketPoliciesGuardMixin = exports.RoutePoliciesGuardMixin = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
17
  const mongoose_1 = require("@nestjs/mongoose");
18
18
  const mongoose_2 = require("mongoose");
19
19
  const dynamic_api_module_1 = require("../dynamic-api.module");
20
20
  const guards_1 = require("../guards");
21
21
  const helpers_1 = require("../helpers");
22
- function CreatePoliciesGuardMixin(entity, routeType, displayedName, version, abilityPredicate, queryToPipeline) {
22
+ function RoutePoliciesGuardMixin(entity, routeType, displayedName, version, abilityPredicate, queryToPipeline) {
23
23
  let RoutePoliciesGuard = class RoutePoliciesGuard extends guards_1.BasePoliciesGuard {
24
24
  constructor(model) {
25
25
  super(model);
@@ -41,5 +41,29 @@ function CreatePoliciesGuardMixin(entity, routeType, displayedName, version, abi
41
41
  });
42
42
  return RoutePoliciesGuard;
43
43
  }
44
- exports.CreatePoliciesGuardMixin = CreatePoliciesGuardMixin;
45
- //# sourceMappingURL=create-policies-guard.mixin.js.map
44
+ exports.RoutePoliciesGuardMixin = RoutePoliciesGuardMixin;
45
+ function SocketPoliciesGuardMixin(entity, routeType, event, version, abilityPredicate, isPublic, queryToPipeline) {
46
+ let SocketPoliciesGuard = class SocketPoliciesGuard extends guards_1.BaseSocketPoliciesGuard {
47
+ constructor(model) {
48
+ super(model);
49
+ this.model = model;
50
+ this.routeType = routeType;
51
+ this.entity = entity;
52
+ this.abilityPredicate = abilityPredicate;
53
+ this.queryToPipeline = queryToPipeline;
54
+ this.isPublic = isPublic;
55
+ }
56
+ };
57
+ SocketPoliciesGuard = __decorate([
58
+ (0, common_1.Injectable)(),
59
+ __param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.state.get('connectionName'))),
60
+ __metadata("design:paramtypes", [mongoose_2.Model])
61
+ ], SocketPoliciesGuard);
62
+ Object.defineProperty(SocketPoliciesGuard, 'name', {
63
+ value: `${(0, helpers_1.provideName)(routeType, (0, helpers_1.pascalCase)(event), version, 'SocketPoliciesGuard')}`,
64
+ writable: false,
65
+ });
66
+ return SocketPoliciesGuard;
67
+ }
68
+ exports.SocketPoliciesGuardMixin = SocketPoliciesGuardMixin;
69
+ //# sourceMappingURL=policies-guard.mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policies-guard.mixin.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/mixins/policies-guard.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,+CAA+C;AAE/C,uCAAiC;AACjC,8DAAyD;AACzD,sCAAuE;AACvE,wCAAqD;AASrD,SAAS,uBAAuB,CAC9B,MAAoB,EACpB,SAAoB,EACpB,aAAqB,EACrB,OAA2B,EAC3B,gBAAsD,EACtD,eAAqD;IAErD,IACM,kBAAkB,GADxB,MACM,kBAAmB,SAAQ,0BAAyB;QAMxD,YAKE,KAAuC;YAEvC,KAAK,CAAC,KAAK,CAAC,CAAC;YAFM,UAAK,GAAL,KAAK,CAAe;YAV/B,cAAS,GAAG,SAAS,CAAC;YACtB,WAAM,GAAG,MAAM,CAAC;YAChB,qBAAgB,GAAyC,gBAAgB,CAAC;YAC1E,oBAAe,GAAG,eAAe,CAAC;QAU5C,CAAC;KACF,CAAA;IAfK,kBAAkB;QADvB,IAAA,mBAAU,GAAE;QAQR,WAAA,IAAA,sBAAW,EACV,MAAM,CAAC,IAAI,EACX,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAC7C,CAAA;yCACyB,gBAAK;OAX7B,kBAAkB,CAevB;IAED,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAChD,KAAK,EAAE,GAAG,IAAA,qBAAW,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE;QAC3E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAsCQ,0DAAuB;AApChC,SAAS,wBAAwB,CAC/B,MAAoB,EACpB,SAAoB,EACpB,KAAa,EACb,OAA2B,EAC3B,gBAAkD,EAClD,QAA6B,EAC7B,eAAqD;IAErD,IACM,mBAAmB,GADzB,MACM,mBAAoB,SAAQ,gCAA+B;QAO/D,YAKE,KAAuC;YAEvC,KAAK,CAAC,KAAK,CAAC,CAAC;YAFM,UAAK,GAAL,KAAK,CAAe;YAX/B,cAAS,GAAG,SAAS,CAAC;YACtB,WAAM,GAAG,MAAM,CAAC;YAChB,qBAAgB,GAAG,gBAAgB,CAAC;YACpC,oBAAe,GAAG,eAAe,CAAC;YAClC,aAAQ,GAAG,QAAQ,CAAC;QAU9B,CAAC;KACF,CAAA;IAhBK,mBAAmB;QADxB,IAAA,mBAAU,GAAE;QASR,WAAA,IAAA,sBAAW,EACV,MAAM,CAAC,IAAI,EACX,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAC7C,CAAA;yCACyB,gBAAK;OAZ7B,mBAAmB,CAgBxB;IAED,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE;QACjD,KAAK,EAAE,GAAG,IAAA,qBAAW,EAAC,SAAS,EAAE,IAAA,oBAAU,EAAC,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE;QACrF,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAEiC,4DAAwB"}