mongodb-dynamic-api 3.0.1 → 3.2.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 (164) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/package.json +1 -1
  3. package/src/dynamic-api.module.d.ts +1 -1
  4. package/src/dynamic-api.module.js +11 -3
  5. package/src/dynamic-api.module.js.map +1 -1
  6. package/src/gateways/base.gateway.d.ts +2 -1
  7. package/src/gateways/base.gateway.js +17 -0
  8. package/src/gateways/base.gateway.js.map +1 -1
  9. package/src/gateways/dynamic-api-broadcast.gateway.d.ts +11 -0
  10. package/src/gateways/dynamic-api-broadcast.gateway.js +41 -0
  11. package/src/gateways/dynamic-api-broadcast.gateway.js.map +1 -0
  12. package/src/gateways/index.d.ts +1 -0
  13. package/src/gateways/index.js +1 -0
  14. package/src/gateways/index.js.map +1 -1
  15. package/src/helpers/mixin-data.helper.d.ts +1 -1
  16. package/src/helpers/mixin-data.helper.js +2 -1
  17. package/src/helpers/mixin-data.helper.js.map +1 -1
  18. package/src/interfaces/dynamic-api-ability.interface.d.ts +2 -1
  19. package/src/interfaces/dynamic-api-broadcast-config.interface.d.ts +6 -0
  20. package/src/interfaces/dynamic-api-broadcast-config.interface.js +3 -0
  21. package/src/interfaces/dynamic-api-broadcast-config.interface.js.map +1 -0
  22. package/src/interfaces/dynamic-api-global-state.interface.d.ts +1 -0
  23. package/src/interfaces/dynamic-api-options.interface.d.ts +2 -0
  24. package/src/interfaces/dynamic-api-options.interface.js.map +1 -1
  25. package/src/interfaces/dynamic-api-route-config.interface.d.ts +2 -0
  26. package/src/interfaces/index.d.ts +1 -0
  27. package/src/interfaces/index.js +1 -0
  28. package/src/interfaces/index.js.map +1 -1
  29. package/src/modules/auth/auth.helper.d.ts +7 -5
  30. package/src/modules/auth/auth.helper.js +10 -9
  31. package/src/modules/auth/auth.helper.js.map +1 -1
  32. package/src/modules/auth/auth.module.js +9 -5
  33. package/src/modules/auth/auth.module.js.map +1 -1
  34. package/src/modules/auth/interfaces/auth-options.interface.d.ts +6 -1
  35. package/src/modules/auth/mixins/auth-controller.mixin.d.ts +2 -2
  36. package/src/modules/auth/mixins/auth-controller.mixin.js +2 -1
  37. package/src/modules/auth/mixins/auth-controller.mixin.js.map +1 -1
  38. package/src/modules/auth/mixins/auth-gateway.mixin.d.ts +2 -2
  39. package/src/modules/auth/mixins/auth-gateway.mixin.js +2 -1
  40. package/src/modules/auth/mixins/auth-gateway.mixin.js.map +1 -1
  41. package/src/modules/auth/services/base-auth.service.d.ts +1 -0
  42. package/src/modules/auth/services/base-auth.service.js +4 -0
  43. package/src/modules/auth/services/base-auth.service.js.map +1 -1
  44. package/src/routes/aggregate/aggregate.module.js +1 -1
  45. package/src/routes/aggregate/aggregate.module.js.map +1 -1
  46. package/src/routes/create-many/create-many-controller.interface.d.ts +2 -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 +14 -6
  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 +5 -3
  52. package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
  53. package/src/routes/create-many/create-many.helper.js +7 -3
  54. package/src/routes/create-many/create-many.helper.js.map +1 -1
  55. package/src/routes/create-many/create-many.module.js +4 -1
  56. package/src/routes/create-many/create-many.module.js.map +1 -1
  57. package/src/routes/create-one/create-one-controller.interface.d.ts +2 -1
  58. package/src/routes/create-one/create-one-controller.mixin.d.ts +1 -1
  59. package/src/routes/create-one/create-one-controller.mixin.js +14 -6
  60. package/src/routes/create-one/create-one-controller.mixin.js.map +1 -1
  61. package/src/routes/create-one/create-one-gateway.mixin.d.ts +1 -1
  62. package/src/routes/create-one/create-one-gateway.mixin.js +5 -3
  63. package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
  64. package/src/routes/create-one/create-one.helper.js +7 -3
  65. package/src/routes/create-one/create-one.helper.js.map +1 -1
  66. package/src/routes/create-one/create-one.module.js +4 -1
  67. package/src/routes/create-one/create-one.module.js.map +1 -1
  68. package/src/routes/delete-many/delete-many-controller.interface.d.ts +2 -1
  69. package/src/routes/delete-many/delete-many-controller.mixin.d.ts +1 -1
  70. package/src/routes/delete-many/delete-many-controller.mixin.js +14 -6
  71. package/src/routes/delete-many/delete-many-controller.mixin.js.map +1 -1
  72. package/src/routes/delete-many/delete-many-gateway.mixin.d.ts +1 -1
  73. package/src/routes/delete-many/delete-many-gateway.mixin.js +5 -3
  74. package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -1
  75. package/src/routes/delete-many/delete-many.helper.js +7 -3
  76. package/src/routes/delete-many/delete-many.helper.js.map +1 -1
  77. package/src/routes/delete-many/delete-many.module.js +4 -1
  78. package/src/routes/delete-many/delete-many.module.js.map +1 -1
  79. package/src/routes/delete-one/delete-one-controller.interface.d.ts +2 -1
  80. package/src/routes/delete-one/delete-one-controller.mixin.d.ts +1 -1
  81. package/src/routes/delete-one/delete-one-controller.mixin.js +14 -6
  82. package/src/routes/delete-one/delete-one-controller.mixin.js.map +1 -1
  83. package/src/routes/delete-one/delete-one-gateway.mixin.d.ts +1 -1
  84. package/src/routes/delete-one/delete-one-gateway.mixin.js +5 -3
  85. package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -1
  86. package/src/routes/delete-one/delete-one.helper.js +7 -3
  87. package/src/routes/delete-one/delete-one.helper.js.map +1 -1
  88. package/src/routes/delete-one/delete-one.module.js +4 -1
  89. package/src/routes/delete-one/delete-one.module.js.map +1 -1
  90. package/src/routes/duplicate-many/duplicate-many-controller.interface.d.ts +2 -1
  91. package/src/routes/duplicate-many/duplicate-many-controller.mixin.d.ts +1 -1
  92. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +14 -6
  93. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js.map +1 -1
  94. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.d.ts +1 -1
  95. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +5 -3
  96. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -1
  97. package/src/routes/duplicate-many/duplicate-many.helper.js +7 -3
  98. package/src/routes/duplicate-many/duplicate-many.helper.js.map +1 -1
  99. package/src/routes/duplicate-many/duplicate-many.module.js +4 -1
  100. package/src/routes/duplicate-many/duplicate-many.module.js.map +1 -1
  101. package/src/routes/duplicate-one/duplicate-one-controller.interface.d.ts +2 -1
  102. package/src/routes/duplicate-one/duplicate-one-controller.mixin.d.ts +1 -1
  103. package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +14 -6
  104. package/src/routes/duplicate-one/duplicate-one-controller.mixin.js.map +1 -1
  105. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.d.ts +1 -1
  106. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +5 -3
  107. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -1
  108. package/src/routes/duplicate-one/duplicate-one.helper.js +7 -3
  109. package/src/routes/duplicate-one/duplicate-one.helper.js.map +1 -1
  110. package/src/routes/duplicate-one/duplicate-one.module.js +4 -1
  111. package/src/routes/duplicate-one/duplicate-one.module.js.map +1 -1
  112. package/src/routes/get-many/get-many.module.js +1 -1
  113. package/src/routes/get-many/get-many.module.js.map +1 -1
  114. package/src/routes/get-one/get-one.module.js +1 -1
  115. package/src/routes/get-one/get-one.module.js.map +1 -1
  116. package/src/routes/replace-one/replace-one-controller.interface.d.ts +2 -1
  117. package/src/routes/replace-one/replace-one-controller.mixin.d.ts +1 -1
  118. package/src/routes/replace-one/replace-one-controller.mixin.js +14 -6
  119. package/src/routes/replace-one/replace-one-controller.mixin.js.map +1 -1
  120. package/src/routes/replace-one/replace-one-gateway.mixin.d.ts +1 -1
  121. package/src/routes/replace-one/replace-one-gateway.mixin.js +5 -3
  122. package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -1
  123. package/src/routes/replace-one/replace-one.helper.js +7 -3
  124. package/src/routes/replace-one/replace-one.helper.js.map +1 -1
  125. package/src/routes/replace-one/replace-one.module.js +4 -1
  126. package/src/routes/replace-one/replace-one.module.js.map +1 -1
  127. package/src/routes/update-many/update-many-controller.interface.d.ts +2 -1
  128. package/src/routes/update-many/update-many-controller.mixin.d.ts +1 -1
  129. package/src/routes/update-many/update-many-controller.mixin.js +14 -6
  130. package/src/routes/update-many/update-many-controller.mixin.js.map +1 -1
  131. package/src/routes/update-many/update-many-gateway.mixin.d.ts +1 -1
  132. package/src/routes/update-many/update-many-gateway.mixin.js +5 -3
  133. package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
  134. package/src/routes/update-many/update-many.helper.js +7 -3
  135. package/src/routes/update-many/update-many.helper.js.map +1 -1
  136. package/src/routes/update-many/update-many.module.js +4 -1
  137. package/src/routes/update-many/update-many.module.js.map +1 -1
  138. package/src/routes/update-one/update-one-controller.interface.d.ts +2 -1
  139. package/src/routes/update-one/update-one-controller.mixin.d.ts +1 -1
  140. package/src/routes/update-one/update-one-controller.mixin.js +14 -6
  141. package/src/routes/update-one/update-one-controller.mixin.js.map +1 -1
  142. package/src/routes/update-one/update-one-gateway.mixin.d.ts +1 -1
  143. package/src/routes/update-one/update-one-gateway.mixin.js +5 -3
  144. package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -1
  145. package/src/routes/update-one/update-one.helper.js +7 -3
  146. package/src/routes/update-one/update-one.helper.js.map +1 -1
  147. package/src/routes/update-one/update-one.module.js +4 -1
  148. package/src/routes/update-one/update-one.module.js.map +1 -1
  149. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.d.ts +7 -0
  150. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js +38 -0
  151. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js.map +1 -0
  152. package/src/services/index.d.ts +1 -0
  153. package/src/services/index.js +1 -0
  154. package/src/services/index.js.map +1 -1
  155. package/src/version.json +1 -1
  156. package/test/dynamic-api-for-feature.e2e-spec.js +463 -1
  157. package/test/dynamic-api-for-feature.e2e-spec.js.map +1 -1
  158. package/test/e2e.setup.d.ts +24 -2
  159. package/test/e2e.setup.js +173 -18
  160. package/test/e2e.setup.js.map +1 -1
  161. package/test/test-socket-adapter.d.ts +8 -0
  162. package/test/test-socket-adapter.js +23 -0
  163. package/test/test-socket-adapter.js.map +1 -0
  164. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,56 @@
1
1
  Changelog
2
2
 
3
+ ## [3.2.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v3.1.0...v3.2.0) (2026-03-14)
4
+
5
+
6
+ ### gateways
7
+
8
+ * **gateways:** add DynamicApiBroadcastGateway factory to capture ws server ([24d0e74](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/24d0e748a973b6c0a5808225448c931417eac550))
9
+ * **gateways:** remove private modifier from server and broadcastService in DynamicApiBroadcastGateway ([cc9aed6](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/cc9aed6e0b95a2f82ff6d6eac10d6d211e119249))
10
+
11
+
12
+ ### broadcast
13
+
14
+ * **broadcast:** use static wsServer in DynamicApiBroadcastService to share across DI scopes, separate broadcastService provider from gateway in write modules ([d7ded07](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/d7ded072c35ed9d2680440da53143bb627936747))
15
+
16
+
17
+ ### helpers
18
+
19
+ * **helpers:** always resolve event name in getMixinData for HTTP broadcast support ([8ddca98](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/8ddca9855fe3ca8fea68ed5ef19665a07e42ad62))
20
+
21
+
22
+ ### services
23
+
24
+ * **services:** add DynamicApiBroadcastService for HTTP broadcast support ([f8a4bca](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/f8a4bca30b9d422407c4c7fbec22df32caeb9725))
25
+
26
+
27
+ ### routes
28
+
29
+ * **routes:** declare hasBroadcast in write modules and remove from read-only modules ([543907d](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/543907d2c9178ced1eb138ad3b3b154e1134a1e7))
30
+ * **routes:** inject optional broadcastService in 9 write-route controller mixins and helpers ([43af94a](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/43af94a4cd5b08d200732bfa97fd5357d7200531))
31
+
32
+
33
+ ### interfaces
34
+
35
+ * **interfaces:** add broadcastGatewayOptions to forRoot options and global state ([e24dba1](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/e24dba1980f2b37ead56c0ff19f2e959e1911a27))
36
+
37
+
38
+ ### auth
39
+
40
+ * **auth:** add DynamicApiGetAccountOptions type with callback and useInterceptors ([dc7f072](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/dc7f07215e58ffc433dc27f93b7f4f99b4ef0dd4))
41
+ * **auth:** add useInterceptors support to getAccount on controller and gateway ([461fc4d](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/461fc4d678a42d5568035b166a41c065df2d5525))
42
+ * **auth:** wire getAccount callback through service, module and helper ([c769e15](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/c769e1559f7b7542723c0b35caf2198143d63b0a))
43
+
44
+ ## [3.1.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v3.0.1...v3.1.0) (2026-03-08)
45
+
46
+
47
+ ### websocket
48
+
49
+ * **websocket:** add broadcast configuration interface ([78a0518](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/78a0518b23d9be3f3025d8aa190abcecad211283))
50
+ * **websocket:** implement broadcast functionality in base gateway ([fd77ec7](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/fd77ec7e4ee9bfa08fec81b6f81f2a51e8b20bee))
51
+ * **websocket:** integrate broadcast in CRUD gateways ([237a281](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/237a2812e36adf89b4cd3dafc0795957bac778b6))
52
+ * **websocket:** integrate broadcast in delete and duplicate gateways ([c3cdbf8](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/c3cdbf85f462f40b7a9fc59412317bb8349346b7))
53
+
3
54
  ## [3.0.1](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v3.0.0...v3.0.1) (2026-02-21)
4
55
 
5
56
  ## [3.0.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.14.2...v3.0.0) (2026-02-19)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb-dynamic-api",
3
- "version": "3.0.1",
3
+ "version": "3.2.0",
4
4
  "description": "Auto generated CRUD API for MongoDB using NestJS",
5
5
  "readmeFilename": "README.md",
6
6
  "main": "index.js",
@@ -4,7 +4,7 @@ import { BaseEntity } from './models';
4
4
  import { DynamicApiGlobalStateService } from './services';
5
5
  export declare class DynamicApiModule {
6
6
  static readonly state: DynamicApiGlobalStateService;
7
- static forRoot<Entity extends BaseEntity = any>(uri: string, { useGlobalCache, cacheOptions, useAuth, routesConfig, webSocket, }?: DynamicApiForRootOptions<Entity>): DynamicModule;
7
+ static forRoot<Entity extends BaseEntity = any>(uri: string, { useGlobalCache, cacheOptions, useAuth, routesConfig, webSocket, broadcastGatewayOptions, }?: DynamicApiForRootOptions<Entity>): DynamicModule;
8
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;
@@ -13,6 +13,7 @@ const common_1 = require("@nestjs/common");
13
13
  const core_1 = require("@nestjs/core");
14
14
  const http_adapter_host_1 = require("@nestjs/core/helpers/http-adapter-host");
15
15
  const mongoose_1 = require("@nestjs/mongoose");
16
+ const gateways_1 = require("./gateways");
16
17
  const guards_1 = require("./guards");
17
18
  const helpers_1 = require("./helpers");
18
19
  const interceptors_1 = require("./interceptors");
@@ -21,13 +22,13 @@ const modules_1 = require("./modules");
21
22
  const routes_1 = require("./routes");
22
23
  const services_1 = require("./services");
23
24
  let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
24
- static forRoot(uri, { useGlobalCache = true, cacheOptions = {}, useAuth, routesConfig, webSocket, } = {}) {
25
+ static forRoot(uri, { useGlobalCache = true, cacheOptions = {}, useAuth, routesConfig, webSocket, broadcastGatewayOptions, } = {}) {
25
26
  if (!uri) {
26
27
  throw new Error('You must provide a valid mongodb uri in the forRoot method to use MongoDB Dynamic API');
27
28
  }
28
29
  this.state.set([
29
30
  'partial',
30
- this.buildStateFromOptions(uri, useGlobalCache, cacheOptions, useAuth, routesConfig, webSocket),
31
+ this.buildStateFromOptions(uri, useGlobalCache, cacheOptions, useAuth, routesConfig, webSocket, broadcastGatewayOptions),
31
32
  ]);
32
33
  return {
33
34
  module: DynamicApiModule_1,
@@ -107,13 +108,19 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
107
108
  return new guards_1.DynamicApiJwtAuthGuard(reflector, state);
108
109
  },
109
110
  },
111
+ ...(routes.some((r) => r.broadcast) ? [
112
+ services_1.DynamicApiBroadcastService,
113
+ (0, gateways_1.createDynamicApiBroadcastGateway)(this.state.get('broadcastGatewayOptions')
114
+ ?? this.state.get('gatewayOptions')
115
+ ?? {}),
116
+ ] : []),
110
117
  ],
111
118
  };
112
119
  resolve(apiModule);
113
120
  });
114
121
  });
115
122
  }
116
- static buildStateFromOptions(uri, useGlobalCache, cacheOptions, useAuth, routesConfig, webSocket) {
123
+ static buildStateFromOptions(uri, useGlobalCache, cacheOptions, useAuth, routesConfig, webSocket, broadcastGatewayOptions) {
117
124
  const routesConfigState = this.state.get('routesConfig');
118
125
  return {
119
126
  uri,
@@ -137,6 +144,7 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
137
144
  },
138
145
  } : {}),
139
146
  gatewayOptions: (0, helpers_1.initializeConfigFromOptions)(webSocket),
147
+ ...(broadcastGatewayOptions ? { broadcastGatewayOptions } : {}),
140
148
  };
141
149
  }
142
150
  static setDefaultRoutes(stateRoutesConfig, controllerRoutesConfig = {}, routes = []) {
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-api.module.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/dynamic-api.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-api.module.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/dynamic-api.module.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { JwtService } from '@nestjs/jwt';
2
- import { ExtendedSocket } from '../interfaces';
2
+ import { DynamicApiBroadcastConfig, ExtendedSocket } from '../interfaces';
3
3
  import { BaseEntity } from '../models';
4
4
  export declare abstract class BaseGateway<Entity extends BaseEntity> {
5
5
  protected readonly jwtService: JwtService;
@@ -7,4 +7,5 @@ export declare abstract class BaseGateway<Entity extends BaseEntity> {
7
7
  protected constructor(jwtService: JwtService);
8
8
  protected addUserToSocket(socket: ExtendedSocket<Entity>, isPublic: boolean): void;
9
9
  protected isValidManyBody<T extends object>(body: T): boolean;
10
+ protected broadcastIfNeeded<ResponseData extends object>(socket: ExtendedSocket, event: string, data: ResponseData[], broadcastConfig?: DynamicApiBroadcastConfig<ResponseData>): void;
10
11
  }
@@ -40,6 +40,23 @@ class BaseGateway {
40
40
  Array.isArray(body.ids) &&
41
41
  body.ids.length);
42
42
  }
43
+ broadcastIfNeeded(socket, event, data, broadcastConfig) {
44
+ if (!broadcastConfig) {
45
+ return;
46
+ }
47
+ const { enabled, eventName } = broadcastConfig;
48
+ if (typeof enabled === 'boolean' && !enabled) {
49
+ return;
50
+ }
51
+ const broadcastData = typeof enabled === 'function'
52
+ ? data.filter((item) => enabled(item, socket.user))
53
+ : data;
54
+ if (!broadcastData.length) {
55
+ return;
56
+ }
57
+ const broadcastEvent = eventName || event;
58
+ socket.broadcast.emit(broadcastEvent, broadcastData);
59
+ }
43
60
  }
44
61
  exports.BaseGateway = BaseGateway;
45
62
  //# sourceMappingURL=base.gateway.js.map
@@ -1 +1 @@
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"}
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;IAES,iBAAiB,CACzB,MAAsB,EACtB,KAAa,EACb,IAAoB,EACpB,eAAyD;QAEzD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;QAE/C,IAAI,OAAO,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,OAAO,KAAK,UAAU;YACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,IAAI,KAAK,CAAC;QAE1C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC;CACF;AA5ED,kCA4EC"}
@@ -0,0 +1,11 @@
1
+ import { Server } from 'socket.io';
2
+ import { GatewayOptions } from '../interfaces';
3
+ import { DynamicApiBroadcastService } from '../services';
4
+ declare function createDynamicApiBroadcastGateway(options?: GatewayOptions): {
5
+ new (broadcastService: DynamicApiBroadcastService): {
6
+ readonly server: Server;
7
+ readonly broadcastService: DynamicApiBroadcastService;
8
+ afterInit(server: Server): void;
9
+ };
10
+ };
11
+ export { createDynamicApiBroadcastGateway };
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.createDynamicApiBroadcastGateway = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const websockets_1 = require("@nestjs/websockets");
18
+ const socket_io_1 = require("socket.io");
19
+ const services_1 = require("../services");
20
+ function createDynamicApiBroadcastGateway(options = {}) {
21
+ let DynamicApiBroadcastGateway = class DynamicApiBroadcastGateway {
22
+ constructor(broadcastService) {
23
+ this.broadcastService = broadcastService;
24
+ }
25
+ afterInit(server) {
26
+ this.broadcastService.setWsServer(server);
27
+ }
28
+ };
29
+ __decorate([
30
+ (0, websockets_1.WebSocketServer)(),
31
+ __metadata("design:type", socket_io_1.Server)
32
+ ], DynamicApiBroadcastGateway.prototype, "server", void 0);
33
+ DynamicApiBroadcastGateway = __decorate([
34
+ (0, websockets_1.WebSocketGateway)(options),
35
+ __param(0, (0, common_1.Inject)(services_1.DynamicApiBroadcastService)),
36
+ __metadata("design:paramtypes", [services_1.DynamicApiBroadcastService])
37
+ ], DynamicApiBroadcastGateway);
38
+ return DynamicApiBroadcastGateway;
39
+ }
40
+ exports.createDynamicApiBroadcastGateway = createDynamicApiBroadcastGateway;
41
+ //# sourceMappingURL=dynamic-api-broadcast.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-api-broadcast.gateway.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/dynamic-api-broadcast.gateway.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwC;AACxC,mDAAsF;AACtF,yCAAmC;AAEnC,0CAAyD;AAEzD,SAAS,gCAAgC,CAAC,UAA0B,EAAE;IACpE,IACM,0BAA0B,GADhC,MACM,0BAA0B;QAI9B,YAEW,gBAA4C;YAA5C,qBAAgB,GAAhB,gBAAgB,CAA4B;QACpD,CAAC;QAEJ,SAAS,CAAC,MAAc;YACtB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;KACF,CAAA;IAVU;QADR,IAAA,4BAAe,GAAE;kCACD,kBAAM;8DAAC;IAFpB,0BAA0B;QAD/B,IAAA,6BAAgB,EAAC,OAAO,CAAC;QAMrB,WAAA,IAAA,eAAM,EAAC,qCAA0B,CAAC,CAAA;yCACR,qCAA0B;OANnD,0BAA0B,CAY/B;IAED,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAEQ,4EAAgC"}
@@ -1 +1,2 @@
1
1
  export * from './base.gateway';
2
+ export * from './dynamic-api-broadcast.gateway';
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./base.gateway"), exports);
18
+ __exportStar(require("./dynamic-api-broadcast.gateway"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kEAAgD"}
@@ -7,6 +7,6 @@ declare function getMixinData<Entity extends BaseEntity>(entity: Type<Entity>, {
7
7
  description: string;
8
8
  isPublic: boolean;
9
9
  abilityPredicate: AbilityPredicate<Entity>;
10
- event?: string;
10
+ event: string;
11
11
  };
12
12
  export { getMixinData };
@@ -17,13 +17,14 @@ function getMixinData(entity, { apiTag, isPublic: isPublicController, abilityPre
17
17
  isPublic = false;
18
18
  }
19
19
  const abilityPredicate = routeAbilityPredicate ?? (0, controller_ability_predicates_helper_1.getPredicateFromControllerAbilityPredicates)(controllerAbilityPredicates, routeType);
20
+ const event = eventName ?? (0, lodash_1.kebabCase)(`${routeType}/${displayedName}`);
20
21
  return {
21
22
  routeType,
22
23
  displayedName,
23
24
  description,
24
25
  isPublic,
25
26
  abilityPredicate,
26
- ...(isGateway && { event: eventName ?? (0, lodash_1.kebabCase)(`${routeType}/${displayedName}`) }),
27
+ event,
27
28
  };
28
29
  }
29
30
  exports.getMixinData = getMixinData;
@@ -1 +1 @@
1
- {"version":3,"file":"mixin-data.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/mixin-data.helper.ts"],"names":[],"mappings":";;;AACA,mCAAmC;AAQnC,iGAAqG;AACrG,mDAAmD;AAEnD,SAAS,YAAY,CACnB,MAAoB,EACpB,EACE,MAAM,EACN,QAAQ,EAAE,kBAAkB,EAC5B,iBAAiB,EAAE,2BAA2B,GACV,EACtC,EACE,IAAI,EAAE,SAAS,EACf,OAAO,EACP,WAAW,EACX,QAAQ,EAAE,aAAa,EACvB,gBAAgB,EAAE,qBAAqB,EACvC,SAAS,GACqB,EAChC,SAAS,GAAG,KAAK;IASjB,MAAM,aAAa,GAAG,IAAA,gCAAgB,EAAC,MAAM,EAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEtE,IAAI,QAAiB,CAAC;IACtB,IAAI,OAAO,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,QAAQ,GAAG,aAAa,CAAC;IAC3B,CAAC;SAAM,IAAI,OAAO,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACnD,QAAQ,GAAG,kBAAkB,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,qBAAqB,IAAI,IAAA,kFAA2C,EAC3F,2BAA2B,EAC3B,SAAS,CACV,CAAC;IAEF,OAAO;QACL,SAAS;QACT,aAAa;QACb,WAAW;QACX,QAAQ;QACR,gBAAgB;QAChB,GAAG,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,SAAS,IAAI,IAAA,kBAAS,EAAC,GAAG,SAAS,IAAI,aAAa,EAAE,CAAC,EAAE,CAAC;KACrF,CAAC;AACJ,CAAC;AAEQ,oCAAY"}
1
+ {"version":3,"file":"mixin-data.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/mixin-data.helper.ts"],"names":[],"mappings":";;;AACA,mCAAmC;AAQnC,iGAAqG;AACrG,mDAAmD;AAEnD,SAAS,YAAY,CACnB,MAAoB,EACpB,EACE,MAAM,EACN,QAAQ,EAAE,kBAAkB,EAC5B,iBAAiB,EAAE,2BAA2B,GACV,EACtC,EACE,IAAI,EAAE,SAAS,EACf,OAAO,EACP,WAAW,EACX,QAAQ,EAAE,aAAa,EACvB,gBAAgB,EAAE,qBAAqB,EACvC,SAAS,GACqB,EAChC,SAAS,GAAG,KAAK;IASjB,MAAM,aAAa,GAAG,IAAA,gCAAgB,EAAC,MAAM,EAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEtE,IAAI,QAAiB,CAAC;IACtB,IAAI,OAAO,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,QAAQ,GAAG,aAAa,CAAC;IAC3B,CAAC;SAAM,IAAI,OAAO,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACnD,QAAQ,GAAG,kBAAkB,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,qBAAqB,IAAI,IAAA,kFAA2C,EAC3F,2BAA2B,EAC3B,SAAS,CACV,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,IAAI,IAAA,kBAAS,EAAC,GAAG,SAAS,IAAI,aAAa,EAAE,CAAC,CAAC;IAEtE,OAAO;QACL,SAAS;QACT,aAAa;QACb,WAAW;QACX,QAAQ;QACR,gBAAgB;QAChB,KAAK;KACN,CAAC;AACJ,CAAC;AAEQ,oCAAY"}
@@ -2,8 +2,9 @@ import { BaseEntity } from '../models';
2
2
  import { RouteType } from './dynamic-api-route-type.type';
3
3
  type AbilityPredicate<Entity extends BaseEntity, User = any> = (entity: Entity, user: User) => boolean;
4
4
  type AuthAbilityPredicate<User = any, Body = unknown> = (user: User, body?: Body) => boolean;
5
+ type BroadcastAbilityPredicate<ResponseData extends object, User = any> = (data: ResponseData, user: User) => boolean;
5
6
  type ControllerAbilityPredicate<Entity extends BaseEntity> = {
6
7
  targets: RouteType[];
7
8
  predicate: AbilityPredicate<Entity>;
8
9
  };
9
- export { ControllerAbilityPredicate, AuthAbilityPredicate, AbilityPredicate, };
10
+ export { ControllerAbilityPredicate, AuthAbilityPredicate, AbilityPredicate, BroadcastAbilityPredicate, };
@@ -0,0 +1,6 @@
1
+ import { BroadcastAbilityPredicate } from './dynamic-api-ability.interface';
2
+ interface DynamicApiBroadcastConfig<ResponseData extends object> {
3
+ enabled: boolean | BroadcastAbilityPredicate<ResponseData>;
4
+ eventName?: string;
5
+ }
6
+ export { DynamicApiBroadcastConfig };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dynamic-api-broadcast-config.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-api-broadcast-config.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-broadcast-config.interface.ts"],"names":[],"mappings":""}
@@ -49,5 +49,6 @@ interface DynamicApiGlobalState {
49
49
  jwtExpirationTime: string | number | undefined;
50
50
  routesConfig: RoutesConfig;
51
51
  gatewayOptions: GatewayMetadata | undefined;
52
+ broadcastGatewayOptions: GatewayMetadata | undefined;
52
53
  }
53
54
  export { DynamicApiGlobalState, Credentials, EntitySchemas, RoutesConfig };
@@ -1,4 +1,5 @@
1
1
  import { ModuleMetadata, Type } from '@nestjs/common';
2
+ import { GatewayMetadata } from '@nestjs/websockets';
2
3
  import { BaseEntity } from '../models';
3
4
  import { DynamicApiAuthOptions } from '../modules';
4
5
  import { DynamicApiControllerOptions } from './dynamic-api-controller-options.interface';
@@ -13,6 +14,7 @@ interface DynamicApiForRootOptions<Entity extends BaseEntity = any> {
13
14
  useAuth?: DynamicApiAuthOptions<Entity>;
14
15
  routesConfig?: Partial<RoutesConfig>;
15
16
  webSocket?: DynamicApiWebSocketOptions;
17
+ broadcastGatewayOptions?: GatewayMetadata;
16
18
  }
17
19
  interface DynamicApiForFeatureOptions<Entity extends BaseEntity> {
18
20
  entity: Type<Entity>;
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-api-options.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-options.interface.ts"],"names":[],"mappings":";;;AASA,MAAM,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAoBJ,4DAAwB"}
1
+ {"version":3,"file":"dynamic-api-options.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-options.interface.ts"],"names":[],"mappings":";;;AAUA,MAAM,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAqBJ,4DAAwB"}
@@ -1,6 +1,7 @@
1
1
  import { NestInterceptor, Type, ValidationPipeOptions } from '@nestjs/common';
2
2
  import { BaseEntity } from '../models';
3
3
  import { AbilityPredicate } from './dynamic-api-ability.interface';
4
+ import { DynamicApiBroadcastConfig } from './dynamic-api-broadcast-config.interface';
4
5
  import { DTOsBundle } from './dynamic-api-route-dtos-bundle.type';
5
6
  import { RouteType } from './dynamic-api-route-type.type';
6
7
  import { DynamicApiServiceBeforeSaveCallback } from './dynamic-api-service-before-save-callback.interface';
@@ -19,6 +20,7 @@ interface DynamicAPIRouteConfig<Entity extends BaseEntity> {
19
20
  callback?: DynamicApiServiceCallback<Entity>;
20
21
  webSocket?: DynamicApiWebSocketOptions;
21
22
  eventName?: string;
23
+ broadcast?: DynamicApiBroadcastConfig<Entity>;
22
24
  isArrayResponse?: boolean;
23
25
  useInterceptors?: Type<NestInterceptor>[];
24
26
  }
@@ -2,6 +2,7 @@ export * from './dynamic-api-controller-options.interface';
2
2
  export * from './dynamic-api-decorator-builder.interface';
3
3
  export * from './dynamic-api-cache-options.interface';
4
4
  export * from './dynamic-api-ability.interface';
5
+ export * from './dynamic-api-broadcast-config.interface';
5
6
  export * from './dynamic-api-entity-mappers.interface';
6
7
  export * from './dynamic-api-global-state.interface';
7
8
  export * from './dynamic-api-options.interface';
@@ -18,6 +18,7 @@ __exportStar(require("./dynamic-api-controller-options.interface"), exports);
18
18
  __exportStar(require("./dynamic-api-decorator-builder.interface"), exports);
19
19
  __exportStar(require("./dynamic-api-cache-options.interface"), exports);
20
20
  __exportStar(require("./dynamic-api-ability.interface"), exports);
21
+ __exportStar(require("./dynamic-api-broadcast-config.interface"), exports);
21
22
  __exportStar(require("./dynamic-api-entity-mappers.interface"), exports);
22
23
  __exportStar(require("./dynamic-api-global-state.interface"), exports);
23
24
  __exportStar(require("./dynamic-api-options.interface"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6EAA2D;AAC3D,4EAA0D;AAC1D,wEAAsD;AACtD,kEAAgD;AAChD,yEAAuD;AACvD,uEAAqD;AACrD,kEAAgD;AAChD,yEAAuD;AACvD,uEAAqD;AACrD,uEAAqD;AACrD,kEAAgD;AAChD,oEAAkD;AAClD,gEAA8C;AAC9C,yEAAuD;AACvD,uFAAqE;AACrE,2EAAyD;AACzD,2EAAyD;AACzD,qEAAmD;AACnD,qEAAmD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6EAA2D;AAC3D,4EAA0D;AAC1D,wEAAsD;AACtD,kEAAgD;AAChD,2EAAyD;AACzD,yEAAuD;AACvD,uEAAqD;AACrD,kEAAgD;AAChD,yEAAuD;AACvD,uEAAqD;AACrD,uEAAqD;AACrD,kEAAgD;AAChD,oEAAkD;AAClD,gEAA8C;AAC9C,yEAAuD;AACvD,uFAAqE;AACrE,2EAAyD;AACzD,2EAAyD;AACzD,qEAAmD;AACnD,qEAAmD"}
@@ -1,12 +1,14 @@
1
1
  import { Type, ValidationPipeOptions } from '@nestjs/common';
2
- import { AuthAbilityPredicate, DynamicApiServiceBeforeSaveCallback, DynamicApiServiceCallback, DynamicAPIServiceProvider, GatewayOptions } from '../../interfaces';
2
+ import { AuthAbilityPredicate, DynamicApiServiceCallback, DynamicAPIServiceProvider, GatewayOptions } from '../../interfaces';
3
3
  import { BaseEntity } from '../../models';
4
- import { AuthControllerConstructor, AuthGatewayConstructor, DynamicApiLoginOptions, DynamicApiRegisterOptions, DynamicApiResetPasswordOptions, DynamicApiUpdateAccountOptions } from './interfaces';
4
+ import { AuthControllerConstructor, AuthGatewayConstructor, DynamicApiGetAccountOptions, DynamicApiLoginOptions, DynamicApiRegisterOptions, DynamicApiResetPasswordOptions, DynamicApiUpdateAccountOptions } from './interfaces';
5
5
  declare const authServiceProviderName = "DynamicApiAuthService";
6
6
  declare const authGatewayProviderName = "DynamicApiAuthGateway";
7
7
  declare const localStrategyProviderName = "DynamicApiLocalStrategy";
8
8
  declare function createLocalStrategyProvider<Entity extends BaseEntity>(loginField: keyof Entity, passwordField: keyof Entity, abilityPredicate: AuthAbilityPredicate | undefined): DynamicAPIServiceProvider;
9
- declare function createAuthServiceProvider<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginField, passwordField, additionalFields, callback: loginCallback }: DynamicApiLoginOptions<Entity>, registerCallback: DynamicApiServiceCallback<Entity> | undefined, resetPasswordOptions: DynamicApiResetPasswordOptions<Entity> | undefined, updateAccountCallback: DynamicApiServiceCallback<Entity> | undefined, beforeRegisterCallback: DynamicApiServiceBeforeSaveCallback<Entity> | undefined, beforeUpdateAccountCallback: DynamicApiServiceBeforeSaveCallback<Entity> | undefined): DynamicAPIServiceProvider;
10
- declare function createAuthController<Entity extends BaseEntity>(userEntity: Type<Entity>, loginOptions: DynamicApiLoginOptions<Entity>, registerOptions: DynamicApiRegisterOptions<Entity> | undefined, validationPipeOptions: ValidationPipeOptions | undefined, resetPasswordOptions: DynamicApiResetPasswordOptions<Entity> | undefined, updateAccountOptions: DynamicApiUpdateAccountOptions<Entity> | undefined): AuthControllerConstructor<Entity>;
11
- declare function createAuthGateway<Entity extends BaseEntity>(userEntity: Type<Entity>, loginOptions: DynamicApiLoginOptions<Entity>, registerOptions: DynamicApiRegisterOptions<Entity> | undefined, validationPipeOptions: ValidationPipeOptions | undefined, resetPasswordOptions: DynamicApiResetPasswordOptions<Entity> | undefined, updateAccountOptions: DynamicApiUpdateAccountOptions<Entity> | undefined, gatewayOptions: GatewayOptions): AuthGatewayConstructor<Entity>;
9
+ declare function createAuthServiceProvider<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginField, passwordField, additionalFields, callback: loginCallback }: DynamicApiLoginOptions<Entity>, getAccountCallback: DynamicApiServiceCallback<Entity> | undefined, register: DynamicApiRegisterOptions<Entity> | undefined, resetPasswordOptions: DynamicApiResetPasswordOptions<Entity> | undefined, updateAccount: DynamicApiUpdateAccountOptions<Entity> | undefined): DynamicAPIServiceProvider;
10
+ declare function createAuthController<Entity extends BaseEntity>(userEntity: Type<Entity>, loginOptions: DynamicApiLoginOptions<Entity>, getAccountOptions: DynamicApiGetAccountOptions<Entity> | undefined, registerOptions: DynamicApiRegisterOptions<Entity> | undefined, validationPipeOptions: ValidationPipeOptions | undefined, resetPasswordOptions: DynamicApiResetPasswordOptions<Entity> | undefined, updateAccountOptions: DynamicApiUpdateAccountOptions<Entity> | undefined): AuthControllerConstructor<Entity>;
11
+ declare function createAuthGateway<Entity extends BaseEntity>(userEntity: Type<Entity>, loginOptions: DynamicApiLoginOptions<Entity>, getAccountOptions: DynamicApiGetAccountOptions<Entity> | undefined, registerOptions: DynamicApiRegisterOptions<Entity> | undefined, resetPasswordOptions: DynamicApiResetPasswordOptions<Entity> | undefined, updateAccountOptions: DynamicApiUpdateAccountOptions<Entity> | undefined, { validationPipeOptions, ...gatewayOptions }: GatewayOptions & {
12
+ validationPipeOptions?: ValidationPipeOptions;
13
+ }): AuthGatewayConstructor<Entity>;
12
14
  export { authServiceProviderName, authGatewayProviderName, createAuthController, createAuthServiceProvider, createAuthGateway, createLocalStrategyProvider, localStrategyProviderName, };
@@ -65,7 +65,7 @@ function createLocalStrategyProvider(loginField, passwordField, abilityPredicate
65
65
  };
66
66
  }
67
67
  exports.createLocalStrategyProvider = createLocalStrategyProvider;
68
- function createAuthServiceProvider(userEntity, { loginField, passwordField, additionalFields = [], callback: loginCallback }, registerCallback, resetPasswordOptions, updateAccountCallback, beforeRegisterCallback, beforeUpdateAccountCallback) {
68
+ function createAuthServiceProvider(userEntity, { loginField, passwordField, additionalFields = [], callback: loginCallback }, getAccountCallback, register, resetPasswordOptions, updateAccount) {
69
69
  let AuthService = class AuthService extends services_2.BaseAuthService {
70
70
  constructor(model, jwtService, bcryptService) {
71
71
  super(model, jwtService, bcryptService);
@@ -76,11 +76,12 @@ function createAuthServiceProvider(userEntity, { loginField, passwordField, addi
76
76
  this.additionalRequestFields = additionalFields;
77
77
  this.loginField = loginField;
78
78
  this.passwordField = passwordField;
79
- this.beforeRegisterCallback = beforeRegisterCallback;
80
- this.registerCallback = registerCallback;
81
- this.beforeUpdateAccountCallback = beforeUpdateAccountCallback;
82
- this.updateAccountCallback = updateAccountCallback;
79
+ this.beforeRegisterCallback = register?.beforeSaveCallback;
80
+ this.registerCallback = register?.callback;
81
+ this.beforeUpdateAccountCallback = updateAccount?.beforeSaveCallback;
82
+ this.updateAccountCallback = updateAccount?.callback;
83
83
  this.loginCallback = loginCallback;
84
+ this.getAccountCallback = getAccountCallback;
84
85
  this.resetPasswordOptions = resetPasswordOptions;
85
86
  }
86
87
  };
@@ -96,8 +97,8 @@ function createAuthServiceProvider(userEntity, { loginField, passwordField, addi
96
97
  };
97
98
  }
98
99
  exports.createAuthServiceProvider = createAuthServiceProvider;
99
- function createAuthController(userEntity, loginOptions, registerOptions, validationPipeOptions, resetPasswordOptions, updateAccountOptions) {
100
- let AuthController = class AuthController extends (0, mixins_1.AuthControllerMixin)(userEntity, loginOptions, registerOptions, resetPasswordOptions, updateAccountOptions) {
100
+ function createAuthController(userEntity, loginOptions, getAccountOptions, registerOptions, validationPipeOptions, resetPasswordOptions, updateAccountOptions) {
101
+ let AuthController = class AuthController extends (0, mixins_1.AuthControllerMixin)(userEntity, loginOptions, registerOptions, resetPasswordOptions, updateAccountOptions, getAccountOptions) {
101
102
  constructor(service) {
102
103
  super(service);
103
104
  this.service = service;
@@ -113,8 +114,8 @@ function createAuthController(userEntity, loginOptions, registerOptions, validat
113
114
  return AuthController;
114
115
  }
115
116
  exports.createAuthController = createAuthController;
116
- function createAuthGateway(userEntity, loginOptions, registerOptions, validationPipeOptions, resetPasswordOptions, updateAccountOptions, gatewayOptions) {
117
- let AuthGateway = class AuthGateway extends (0, mixins_1.AuthGatewayMixin)(userEntity, loginOptions, registerOptions ?? {}, resetPasswordOptions, updateAccountOptions) {
117
+ function createAuthGateway(userEntity, loginOptions, getAccountOptions, registerOptions, resetPasswordOptions, updateAccountOptions, { validationPipeOptions, ...gatewayOptions }) {
118
+ let AuthGateway = class AuthGateway extends (0, mixins_1.AuthGatewayMixin)(userEntity, loginOptions, registerOptions ?? {}, resetPasswordOptions, updateAccountOptions, getAccountOptions) {
118
119
  constructor(service, jwtService) {
119
120
  super(service, jwtService);
120
121
  this.service = service;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.helper.ts"],"names":[],"mappings":"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"}
@@ -19,13 +19,13 @@ const auth_helper_1 = require("./auth.helper");
19
19
  const strategies_1 = require("./strategies");
20
20
  let AuthModule = AuthModule_1 = class AuthModule {
21
21
  static forRoot(options) {
22
- const { userEntity, login: { loginField, passwordField, ...login }, register, updateAccount, resetPassword, jwt: { secret, expiresIn }, validationPipeOptions, webSocket, extraImports, extraProviders, extraControllers, } = this.initializeAuthOptions(options);
22
+ const { userEntity, login: { loginField, passwordField, ...login }, getAccount, register, updateAccount, resetPassword, jwt: { secret, expiresIn }, validationPipeOptions, webSocket, extraImports, extraProviders, extraControllers, } = this.initializeAuthOptions(options);
23
23
  const { resetPasswordCallback, ...resetPasswordOptionsRest } = resetPassword;
24
24
  const resetPasswordOptions = resetPasswordCallback
25
25
  ? { resetPasswordCallback, ...resetPasswordOptionsRest }
26
26
  : undefined;
27
- const AuthController = (0, auth_helper_1.createAuthController)(userEntity, { loginField, passwordField, ...login }, register, validationPipeOptions, resetPasswordOptions, updateAccount);
28
- const AuthServiceProvider = (0, auth_helper_1.createAuthServiceProvider)(userEntity, { loginField, passwordField, ...login }, register.callback, resetPasswordOptions, updateAccount.callback, register.beforeSaveCallback, updateAccount.beforeSaveCallback);
27
+ const AuthController = (0, auth_helper_1.createAuthController)(userEntity, { loginField, passwordField, ...login }, getAccount, register, validationPipeOptions, resetPasswordOptions, updateAccount);
28
+ const AuthServiceProvider = (0, auth_helper_1.createAuthServiceProvider)(userEntity, { loginField, passwordField, ...login }, getAccount?.callback, register, resetPasswordOptions, updateAccount);
29
29
  const LocalStrategyProvider = (0, auth_helper_1.createLocalStrategyProvider)(loginField, passwordField, login.abilityPredicate);
30
30
  const schema = (0, helpers_1.buildSchemaFromEntity)(userEntity);
31
31
  services_1.DynamicApiGlobalStateService.addEntitySchema(userEntity, schema);
@@ -37,7 +37,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
37
37
  loginField,
38
38
  passwordField,
39
39
  ...login,
40
- }, register, validationPipeOptions, resetPasswordOptions, updateAccount, gatewayOptions),
40
+ }, getAccount, register, resetPasswordOptions, updateAccount, { ...gatewayOptions, validationPipeOptions }),
41
41
  },
42
42
  ];
43
43
  return {
@@ -68,7 +68,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
68
68
  controllers: [AuthController, ...extraControllers],
69
69
  };
70
70
  }
71
- static initializeAuthOptions({ userEntity, jwt, login, register, updateAccount, resetPassword, validationPipeOptions, webSocket, extraImports = [], extraProviders = [], extraControllers = [], }) {
71
+ static initializeAuthOptions({ userEntity, jwt, login, register, updateAccount, getAccount, resetPassword, validationPipeOptions, webSocket, extraImports = [], extraProviders = [], extraControllers = [], }) {
72
72
  return {
73
73
  userEntity: userEntity,
74
74
  jwt: {
@@ -81,6 +81,10 @@ let AuthModule = AuthModule_1 = class AuthModule {
81
81
  passwordField: (login?.passwordField ?? 'password'),
82
82
  additionalFields: login?.additionalFields ?? [],
83
83
  },
84
+ getAccount: {
85
+ ...getAccount,
86
+ useInterceptors: getAccount?.useInterceptors ?? [],
87
+ },
84
88
  register: {
85
89
  ...register,
86
90
  additionalFields: register?.additionalFields ?? [],
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.module.ts"],"names":[],"mappings":"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"}