mongodb-dynamic-api 4.18.0 → 4.22.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 (192) hide show
  1. package/CHANGELOG.md +163 -0
  2. package/README.md +5 -2
  3. package/package.json +6 -3
  4. package/schematics/collection.json +11 -0
  5. package/schematics/resource/files/__name@dasherize__.entity.ts.template +9 -0
  6. package/schematics/resource/files/__name@dasherize__.module.ts.template +13 -0
  7. package/schematics/resource/index.js +37 -0
  8. package/schematics/resource/index.js.map +1 -0
  9. package/schematics/resource/schema.json +34 -0
  10. package/schematics.tsbuildinfo +1 -0
  11. package/src/decorators/index.d.ts +1 -0
  12. package/src/decorators/index.js +1 -0
  13. package/src/decorators/index.js.map +1 -1
  14. package/src/decorators/rate-limit.decorator.d.ts +3 -0
  15. package/src/decorators/rate-limit.decorator.js +21 -0
  16. package/src/decorators/rate-limit.decorator.js.map +1 -0
  17. package/src/dynamic-api.module.js +4 -0
  18. package/src/dynamic-api.module.js.map +1 -1
  19. package/src/guards/dynamic-api-jwt-auth.guard.d.ts +3 -0
  20. package/src/guards/dynamic-api-jwt-auth.guard.js +23 -2
  21. package/src/guards/dynamic-api-jwt-auth.guard.js.map +1 -1
  22. package/src/helpers/index-sync.helper.d.ts +6 -0
  23. package/src/helpers/index-sync.helper.js +48 -0
  24. package/src/helpers/index-sync.helper.js.map +1 -0
  25. package/src/helpers/index.d.ts +3 -0
  26. package/src/helpers/index.js +3 -0
  27. package/src/helpers/index.js.map +1 -1
  28. package/src/helpers/mint-token-pair.helper.d.ts +13 -0
  29. package/src/helpers/mint-token-pair.helper.js +41 -0
  30. package/src/helpers/mint-token-pair.helper.js.map +1 -0
  31. package/src/helpers/mongo-transaction.helper.d.ts +2 -0
  32. package/src/helpers/mongo-transaction.helper.js +11 -0
  33. package/src/helpers/mongo-transaction.helper.js.map +1 -0
  34. package/src/index.d.ts +1 -0
  35. package/src/index.js +1 -0
  36. package/src/index.js.map +1 -1
  37. package/src/interfaces/dynamic-api-audit-log.interface.d.ts +10 -0
  38. package/src/interfaces/dynamic-api-audit-log.interface.js +3 -0
  39. package/src/interfaces/dynamic-api-audit-log.interface.js.map +1 -0
  40. package/src/interfaces/dynamic-api-global-state.interface.d.ts +2 -0
  41. package/src/interfaces/dynamic-api-health-check.interface.d.ts +8 -0
  42. package/src/interfaces/dynamic-api-health-check.interface.js +3 -0
  43. package/src/interfaces/dynamic-api-health-check.interface.js.map +1 -0
  44. package/src/interfaces/dynamic-api-rate-limit.interface.d.ts +6 -0
  45. package/src/interfaces/dynamic-api-rate-limit.interface.js +3 -0
  46. package/src/interfaces/dynamic-api-rate-limit.interface.js.map +1 -0
  47. package/src/interfaces/dynamic-api-route-config.interface.d.ts +6 -1
  48. package/src/interfaces/dynamic-api-route-config.interface.js.map +1 -1
  49. package/src/interfaces/dynamic-api-service-callback.interface.d.ts +1 -0
  50. package/src/interfaces/index.d.ts +3 -0
  51. package/src/interfaces/index.js +3 -0
  52. package/src/interfaces/index.js.map +1 -1
  53. package/src/modules/auth/interfaces/auth-options.interface.d.ts +8 -1
  54. package/src/modules/auth/mixins/auth-controller.mixin.d.ts +1 -1
  55. package/src/modules/auth/mixins/auth-controller.mixin.js +8 -1
  56. package/src/modules/auth/mixins/auth-controller.mixin.js.map +1 -1
  57. package/src/modules/health/health.controller.d.ts +3 -0
  58. package/src/modules/health/health.controller.js +53 -0
  59. package/src/modules/health/health.controller.js.map +1 -0
  60. package/src/modules/health/health.module.d.ts +6 -0
  61. package/src/modules/health/health.module.js +28 -0
  62. package/src/modules/health/health.module.js.map +1 -0
  63. package/src/modules/health/index.d.ts +2 -0
  64. package/src/modules/health/index.js +19 -0
  65. package/src/modules/health/index.js.map +1 -0
  66. package/src/routes/create-many/base-create-many.service.d.ts +1 -0
  67. package/src/routes/create-many/base-create-many.service.js +3 -0
  68. package/src/routes/create-many/base-create-many.service.js.map +1 -1
  69. package/src/routes/create-many/create-many.helper.js +1 -0
  70. package/src/routes/create-many/create-many.helper.js.map +1 -1
  71. package/src/routes/create-many/create-many.module.js +1 -1
  72. package/src/routes/create-many/create-many.module.js.map +1 -1
  73. package/src/routes/create-one/base-create-one.service.d.ts +1 -0
  74. package/src/routes/create-one/base-create-one.service.js +3 -0
  75. package/src/routes/create-one/base-create-one.service.js.map +1 -1
  76. package/src/routes/create-one/create-one.helper.js +1 -0
  77. package/src/routes/create-one/create-one.helper.js.map +1 -1
  78. package/src/routes/create-one/create-one.module.js +1 -1
  79. package/src/routes/create-one/create-one.module.js.map +1 -1
  80. package/src/routes/delete-many/base-delete-many.service.d.ts +2 -0
  81. package/src/routes/delete-many/base-delete-many.service.js +24 -11
  82. package/src/routes/delete-many/base-delete-many.service.js.map +1 -1
  83. package/src/routes/delete-many/delete-many.helper.js +1 -0
  84. package/src/routes/delete-many/delete-many.helper.js.map +1 -1
  85. package/src/routes/delete-many/delete-many.module.js +1 -1
  86. package/src/routes/delete-many/delete-many.module.js.map +1 -1
  87. package/src/routes/delete-one/base-delete-one.service.d.ts +2 -0
  88. package/src/routes/delete-one/base-delete-one.service.js +24 -11
  89. package/src/routes/delete-one/base-delete-one.service.js.map +1 -1
  90. package/src/routes/delete-one/delete-one.helper.js +1 -0
  91. package/src/routes/delete-one/delete-one.helper.js.map +1 -1
  92. package/src/routes/delete-one/delete-one.module.js +1 -1
  93. package/src/routes/delete-one/delete-one.module.js.map +1 -1
  94. package/src/routes/duplicate-many/base-duplicate-many.service.d.ts +1 -0
  95. package/src/routes/duplicate-many/base-duplicate-many.service.js +3 -0
  96. package/src/routes/duplicate-many/base-duplicate-many.service.js.map +1 -1
  97. package/src/routes/duplicate-many/duplicate-many.helper.js +1 -0
  98. package/src/routes/duplicate-many/duplicate-many.helper.js.map +1 -1
  99. package/src/routes/duplicate-many/duplicate-many.module.js +1 -1
  100. package/src/routes/duplicate-many/duplicate-many.module.js.map +1 -1
  101. package/src/routes/duplicate-one/base-duplicate-one.service.d.ts +1 -0
  102. package/src/routes/duplicate-one/base-duplicate-one.service.js +3 -0
  103. package/src/routes/duplicate-one/base-duplicate-one.service.js.map +1 -1
  104. package/src/routes/duplicate-one/duplicate-one.helper.js +1 -0
  105. package/src/routes/duplicate-one/duplicate-one.helper.js.map +1 -1
  106. package/src/routes/duplicate-one/duplicate-one.module.js +1 -1
  107. package/src/routes/duplicate-one/duplicate-one.module.js.map +1 -1
  108. package/src/routes/get-many/base-get-many.service.d.ts +2 -1
  109. package/src/routes/get-many/base-get-many.service.js +6 -3
  110. package/src/routes/get-many/base-get-many.service.js.map +1 -1
  111. package/src/routes/get-many/get-many.helper.d.ts +2 -2
  112. package/src/routes/get-many/get-many.helper.js +2 -1
  113. package/src/routes/get-many/get-many.helper.js.map +1 -1
  114. package/src/routes/get-many/get-many.module.d.ts +2 -2
  115. package/src/routes/get-many/get-many.module.js +1 -1
  116. package/src/routes/get-many/get-many.module.js.map +1 -1
  117. package/src/routes/get-one/base-get-one.service.d.ts +2 -1
  118. package/src/routes/get-one/base-get-one.service.js +6 -3
  119. package/src/routes/get-one/base-get-one.service.js.map +1 -1
  120. package/src/routes/get-one/get-one.helper.d.ts +2 -2
  121. package/src/routes/get-one/get-one.helper.js +2 -1
  122. package/src/routes/get-one/get-one.helper.js.map +1 -1
  123. package/src/routes/get-one/get-one.module.d.ts +2 -2
  124. package/src/routes/get-one/get-one.module.js +1 -1
  125. package/src/routes/get-one/get-one.module.js.map +1 -1
  126. package/src/routes/replace-one/base-replace-one.service.d.ts +1 -0
  127. package/src/routes/replace-one/base-replace-one.service.js +3 -0
  128. package/src/routes/replace-one/base-replace-one.service.js.map +1 -1
  129. package/src/routes/replace-one/replace-one.helper.js +1 -0
  130. package/src/routes/replace-one/replace-one.helper.js.map +1 -1
  131. package/src/routes/replace-one/replace-one.module.js +1 -1
  132. package/src/routes/replace-one/replace-one.module.js.map +1 -1
  133. package/src/routes/update-many/base-update-many.service.d.ts +1 -0
  134. package/src/routes/update-many/base-update-many.service.js +9 -0
  135. package/src/routes/update-many/base-update-many.service.js.map +1 -1
  136. package/src/routes/update-many/update-many.helper.js +1 -0
  137. package/src/routes/update-many/update-many.helper.js.map +1 -1
  138. package/src/routes/update-many/update-many.module.js +1 -1
  139. package/src/routes/update-many/update-many.module.js.map +1 -1
  140. package/src/routes/update-one/base-update-one.service.d.ts +1 -0
  141. package/src/routes/update-one/base-update-one.service.js +3 -0
  142. package/src/routes/update-one/base-update-one.service.js.map +1 -1
  143. package/src/routes/update-one/update-one.helper.js +1 -0
  144. package/src/routes/update-one/update-one.helper.js.map +1 -1
  145. package/src/routes/update-one/update-one.module.js +1 -1
  146. package/src/routes/update-one/update-one.module.js.map +1 -1
  147. package/src/services/base/base.service.d.ts +14 -4
  148. package/src/services/base/base.service.js +73 -10
  149. package/src/services/base/base.service.js.map +1 -1
  150. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js +2 -0
  151. package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.js.map +1 -1
  152. package/src/testing/create-dynamic-api-testing-app.d.ts +16 -0
  153. package/src/testing/create-dynamic-api-testing-app.js +42 -0
  154. package/src/testing/create-dynamic-api-testing-app.js.map +1 -0
  155. package/src/testing/index.d.ts +1 -0
  156. package/src/testing/index.js +18 -0
  157. package/src/testing/index.js.map +1 -0
  158. package/src/version.json +1 -1
  159. package/test/for-feature/audit-log.e2e-spec.d.ts +1 -0
  160. package/test/for-feature/audit-log.e2e-spec.js +134 -0
  161. package/test/for-feature/audit-log.e2e-spec.js.map +1 -0
  162. package/test/for-feature/cascade-transaction-atomicity.e2e-spec.d.ts +1 -0
  163. package/test/for-feature/cascade-transaction-atomicity.e2e-spec.js +86 -0
  164. package/test/for-feature/cascade-transaction-atomicity.e2e-spec.js.map +1 -0
  165. package/test/for-feature/index-sync.e2e-spec.d.ts +1 -0
  166. package/test/for-feature/index-sync.e2e-spec.js +88 -0
  167. package/test/for-feature/index-sync.e2e-spec.js.map +1 -0
  168. package/test/for-feature/populate.e2e-spec.d.ts +1 -0
  169. package/test/for-feature/populate.e2e-spec.js +93 -0
  170. package/test/for-feature/populate.e2e-spec.js.map +1 -0
  171. package/test/for-root/auth-api-basic.e2e-spec.js +13 -0
  172. package/test/for-root/auth-api-basic.e2e-spec.js.map +1 -1
  173. package/test/for-root/auth-api-mint-token-pair.e2e-spec.d.ts +1 -0
  174. package/test/for-root/auth-api-mint-token-pair.e2e-spec.js +58 -0
  175. package/test/for-root/auth-api-mint-token-pair.e2e-spec.js.map +1 -0
  176. package/test/for-root/auth-api-rate-limit.e2e-spec.d.ts +1 -0
  177. package/test/for-root/auth-api-rate-limit.e2e-spec.js +60 -0
  178. package/test/for-root/auth-api-rate-limit.e2e-spec.js.map +1 -0
  179. package/test/for-root/health-check.e2e-spec.d.ts +1 -0
  180. package/test/for-root/health-check.e2e-spec.js +66 -0
  181. package/test/for-root/health-check.e2e-spec.js.map +1 -0
  182. package/test/for-root/initialization.e2e-spec.js +4 -0
  183. package/test/for-root/initialization.e2e-spec.js.map +1 -1
  184. package/test/for-root/websockets-auth-basic.e2e-spec.js +2 -0
  185. package/test/for-root/websockets-auth-basic.e2e-spec.js.map +1 -1
  186. package/test/testing/create-dynamic-api-testing-app.e2e-spec.d.ts +1 -0
  187. package/test/testing/create-dynamic-api-testing-app.e2e-spec.js +66 -0
  188. package/test/testing/create-dynamic-api-testing-app.e2e-spec.js.map +1 -0
  189. package/testing.d.ts +1 -0
  190. package/testing.js +18 -0
  191. package/testing.js.map +1 -0
  192. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,13 @@
1
+ import { Type } from '@nestjs/common';
2
+ import { BaseEntity } from '../models';
3
+ interface MintTokenPairOptions<Entity extends BaseEntity> {
4
+ loginField?: keyof Entity;
5
+ additionalFields?: (keyof Entity)[];
6
+ refreshTokenField?: keyof Entity;
7
+ }
8
+ interface MintTokenPairResult {
9
+ accessToken: string;
10
+ refreshToken: string;
11
+ }
12
+ declare function mintTokenPair<Entity extends BaseEntity>(entity: Type<Entity>, user: Entity, options?: MintTokenPairOptions<Entity>): Promise<MintTokenPairResult>;
13
+ export { mintTokenPair, MintTokenPairOptions, MintTokenPairResult };
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mintTokenPair = mintTokenPair;
4
+ const jwt_1 = require("@nestjs/jwt");
5
+ const node_crypto_1 = require("node:crypto");
6
+ const services_1 = require("../services");
7
+ async function mintTokenPair(entity, user, options = {}) {
8
+ const { DynamicApiModule } = require('../dynamic-api.module');
9
+ const state = DynamicApiModule.state;
10
+ const jwtSecret = state.get('jwtSecret');
11
+ if (!jwtSecret) {
12
+ throw new Error('[DynamicAPI] mintTokenPair: useAuth is not configured in DynamicApiModule.forRoot(). '
13
+ + 'mintTokenPair reuses the JWT secrets/expirations configured there.');
14
+ }
15
+ const credentials = state.get('credentials');
16
+ const loginField = (options.loginField ?? credentials?.loginField);
17
+ const additionalFields = (options.additionalFields ?? state.get('additionalRequestFields') ?? []);
18
+ const refreshTokenField = (options.refreshTokenField ?? state.get('refreshTokenField'));
19
+ const jwtService = new jwt_1.JwtService({
20
+ secret: jwtSecret,
21
+ signOptions: { expiresIn: state.get('jwtExpirationTime') },
22
+ });
23
+ const fieldsToBuild = ['_id', 'id', loginField, ...additionalFields];
24
+ const payload = fieldsToBuild.reduce((acc, field) => (user[field] === undefined ? acc : { ...acc, [field]: user[field] }), {});
25
+ const accessToken = jwtService.sign(payload);
26
+ const refreshSecret = state.get('jwtRefreshSecret');
27
+ const refreshTokenExpiresIn = state.get('jwtRefreshTokenExpiresIn');
28
+ const refreshToken = jwtService.sign({ ...payload, jti: (0, node_crypto_1.randomUUID)() }, {
29
+ ...(refreshSecret ? { secret: refreshSecret } : {}),
30
+ ...(refreshTokenExpiresIn ? { expiresIn: refreshTokenExpiresIn } : {}),
31
+ });
32
+ if (refreshTokenField && (user._id || user.id)) {
33
+ const decoded = jwtService.decode(refreshToken);
34
+ const jti = decoded && typeof decoded !== 'string' ? decoded['jti'] : '';
35
+ const hashedJti = await new services_1.BcryptService().hashPassword(jti);
36
+ const model = await services_1.DynamicApiGlobalStateService.getEntityModel(entity);
37
+ await model.updateOne({ _id: user._id || user.id }, { $set: { [refreshTokenField]: JSON.stringify({ currentHash: hashedJti }) } }).exec();
38
+ }
39
+ return { accessToken, refreshToken };
40
+ }
41
+ //# sourceMappingURL=mint-token-pair.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mint-token-pair.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/mint-token-pair.helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare function isTransactionsUnsupportedError(error: unknown): boolean;
2
+ export { isTransactionsUnsupportedError };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTransactionsUnsupportedError = isTransactionsUnsupportedError;
4
+ function isTransactionsUnsupportedError(error) {
5
+ if (!(error instanceof Error)) {
6
+ return false;
7
+ }
8
+ const { code } = error;
9
+ return code === 20 || /replica set member or mongos/i.test(error.message);
10
+ }
11
+ //# sourceMappingURL=mongo-transaction.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo-transaction.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/mongo-transaction.helper.ts"],"names":[],"mappings":";;AAqBS,wEAA8B;AAVvC,SAAS,8BAA8B,CAAC,KAAc;IACpD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,KAA0C,CAAC;IAE5D,OAAO,IAAI,KAAK,EAAE,IAAI,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5E,CAAC"}
package/src/index.d.ts CHANGED
@@ -12,6 +12,7 @@ export * from './mixins';
12
12
  export * from './models';
13
13
  export * from './modules';
14
14
  export * from './modules/presence';
15
+ export * from './modules/health';
15
16
  export * from './predicates';
16
17
  export * from './routes';
17
18
  export * from './services';
package/src/index.js CHANGED
@@ -29,6 +29,7 @@ __exportStar(require("./mixins"), exports);
29
29
  __exportStar(require("./models"), exports);
30
30
  __exportStar(require("./modules"), exports);
31
31
  __exportStar(require("./modules/presence"), exports);
32
+ __exportStar(require("./modules/health"), exports);
32
33
  __exportStar(require("./predicates"), exports);
33
34
  __exportStar(require("./routes"), exports);
34
35
  __exportStar(require("./services"), exports);
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,qDAAmC;AACnC,+CAA6B;AAC7B,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,uDAAqC;AACrC,gFAAsG;AAAvE,iIAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,yCAAuB;AACvB,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,qDAAmC;AACnC,mDAAiC;AACjC,+CAA6B;AAC7B,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,uDAAqC;AACrC,gFAAsG;AAAvE,iIAAA,uBAAuB,OAAA"}
@@ -0,0 +1,10 @@
1
+ type AuditLogAction = 'create' | 'update' | 'replace' | 'duplicate' | 'delete';
2
+ interface AuditLogEntry {
3
+ action: AuditLogAction;
4
+ entityId: string;
5
+ before: Record<string, unknown> | null;
6
+ after: Record<string, unknown> | null;
7
+ user: unknown;
8
+ timestamp: Date;
9
+ }
10
+ export type { AuditLogAction, AuditLogEntry };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dynamic-api-audit-log.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-api-audit-log.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-audit-log.interface.ts"],"names":[],"mappings":""}
@@ -28,6 +28,8 @@ interface DynamicApiGlobalState {
28
28
  jwtRefreshUseCookie: boolean | undefined;
29
29
  onAfterSaveError: OnAfterSaveErrorHook | undefined;
30
30
  refreshTokenOnUpdate: boolean;
31
+ refreshTokenField: string | undefined;
32
+ additionalRequestFields: string[];
31
33
  routesConfig: RoutesConfig;
32
34
  gatewayOptions: GatewayMetadata | undefined;
33
35
  broadcastGatewayOptions: GatewayMetadata | undefined;
@@ -0,0 +1,8 @@
1
+ interface DynamicApiHealthCheckOptions {
2
+ path?: string;
3
+ }
4
+ interface DynamicApiHealthCheckResponse {
5
+ status: 'ok' | 'error';
6
+ mongo: 'up' | 'down';
7
+ }
8
+ export type { DynamicApiHealthCheckOptions, DynamicApiHealthCheckResponse };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dynamic-api-health-check.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-api-health-check.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-health-check.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ interface RateLimitConfig {
2
+ limit: number;
3
+ ttl: number;
4
+ blockDuration?: number;
5
+ }
6
+ export type { RateLimitConfig };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dynamic-api-rate-limit.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-api-rate-limit.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-rate-limit.interface.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import { NestInterceptor, Type, ValidationPipeOptions } from '@nestjs/common';
2
+ import { PopulateOptions } from 'mongoose';
2
3
  import { BaseEntity } from '../models';
3
4
  import { AbilityPredicate, PredicateBehavior } from './dynamic-api-ability.interface';
4
5
  import { BroadcastConfig } from './dynamic-api-broadcast-config.interface';
@@ -26,6 +27,7 @@ interface BaseRouteConfig<Entity extends BaseEntity> {
26
27
  isArrayResponse?: boolean;
27
28
  useInterceptors?: Type<NestInterceptor>[];
28
29
  fromUser?: FromUserMap<Entity>;
30
+ auditLog?: boolean;
29
31
  }
30
32
  interface CreateOneRouteConfig<Entity extends BaseEntity, BodyDTO = Entity> extends BaseRouteConfig<Entity> {
31
33
  type: 'CreateOne';
@@ -67,11 +69,14 @@ interface DeleteManyRouteConfig<Entity extends BaseEntity> extends BaseRouteConf
67
69
  beforeDeleteCallback?: BeforeDeleteManyCallback<Entity, BeforeSaveDeleteManyContext>;
68
70
  cascade?: CascadeConfig[];
69
71
  }
72
+ type PopulateConfig = string | PopulateOptions | (string | PopulateOptions)[];
70
73
  interface GetOneRouteConfig<Entity extends BaseEntity> extends BaseRouteConfig<Entity> {
71
74
  type: 'GetOne';
75
+ populate?: PopulateConfig;
72
76
  }
73
77
  interface GetManyRouteConfig<Entity extends BaseEntity> extends BaseRouteConfig<Entity> {
74
78
  type: 'GetMany';
79
+ populate?: PopulateConfig;
75
80
  }
76
81
  interface AggregateRouteConfig<Entity extends BaseEntity> extends BaseRouteConfig<Entity> {
77
82
  type: 'Aggregate';
@@ -88,4 +93,4 @@ declare function defineUpdateManyCallback<Entity extends BaseEntity, BodyDTO = E
88
93
  declare function defineReplaceCallback<Entity extends BaseEntity, BodyDTO = Entity>(cb: BeforeSaveCallback<Entity, BeforeSaveReplaceContext<Entity, BodyDTO>>): BeforeSaveCallback<Entity, BeforeSaveReplaceContext<Entity, BodyDTO>>;
89
94
  declare function defineDuplicateCallback<Entity extends BaseEntity, BodyDTO = Entity>(cb: BeforeSaveCallback<Entity, BeforeSaveDuplicateContext<Entity, BodyDTO>>): BeforeSaveCallback<Entity, BeforeSaveDuplicateContext<Entity, BodyDTO>>;
90
95
  declare function defineDuplicateManyCallback<Entity extends BaseEntity, BodyDTO = Entity>(cb: BeforeSaveListCallback<Entity, BeforeSaveDuplicateManyContext<Entity, BodyDTO>>): BeforeSaveListCallback<Entity, BeforeSaveDuplicateManyContext<Entity, BodyDTO>>;
91
- export { BaseRouteConfig, CreateOneRouteConfig, CreateManyRouteConfig, UpdateOneRouteConfig, UpdateManyRouteConfig, ReplaceOneRouteConfig, DuplicateOneRouteConfig, DuplicateManyRouteConfig, DeleteOneRouteConfig, DeleteManyRouteConfig, GetOneRouteConfig, GetManyRouteConfig, AggregateRouteConfig, CustomOperationRouteConfig, DynamicApiRouteConfig, DynamicAPIRouteConfig, FromUserMap, defineCreateCallback, defineCreateManyCallback, defineUpdateCallback, defineUpdateManyCallback, defineReplaceCallback, defineDuplicateCallback, defineDuplicateManyCallback, };
96
+ export { BaseRouteConfig, CreateOneRouteConfig, CreateManyRouteConfig, UpdateOneRouteConfig, UpdateManyRouteConfig, ReplaceOneRouteConfig, DuplicateOneRouteConfig, DuplicateManyRouteConfig, DeleteOneRouteConfig, DeleteManyRouteConfig, GetOneRouteConfig, GetManyRouteConfig, PopulateConfig, AggregateRouteConfig, CustomOperationRouteConfig, DynamicApiRouteConfig, DynamicAPIRouteConfig, FromUserMap, defineCreateCallback, defineCreateManyCallback, defineUpdateCallback, defineUpdateManyCallback, defineReplaceCallback, defineDuplicateCallback, defineDuplicateManyCallback, };
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-api-route-config.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-route-config.interface.ts"],"names":[],"mappings":";;AAgXE,oDAAoB;AACpB,4DAAwB;AACxB,oDAAoB;AACpB,4DAAwB;AACxB,sDAAqB;AACrB,0DAAuB;AACvB,kEAA2B;AAtG7B,SAAS,oBAAoB,CAC3B,EAAwE;IAExE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,wBAAwB,CAC/B,EAAgF;IAEhF,OAAO,EAAE,CAAC;AACZ,CAAC;AAkBD,SAAS,oBAAoB,CAC3B,EAAwE;IAExE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,wBAAwB,CAC/B,EAAgF;IAEhF,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,qBAAqB,CAC5B,EAAyE;IAEzE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,uBAAuB,CAC9B,EAA2E;IAE3E,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,2BAA2B,CAClC,EAAmF;IAEnF,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"dynamic-api-route-config.interface.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/dynamic-api-route-config.interface.ts"],"names":[],"mappings":";;AAmZE,oDAAoB;AACpB,4DAAwB;AACxB,oDAAoB;AACpB,4DAAwB;AACxB,sDAAqB;AACrB,0DAAuB;AACvB,kEAA2B;AAvG7B,SAAS,oBAAoB,CAC3B,EAAwE;IAExE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,wBAAwB,CAC/B,EAAgF;IAEhF,OAAO,EAAE,CAAC;AACZ,CAAC;AAkBD,SAAS,oBAAoB,CAC3B,EAAwE;IAExE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,wBAAwB,CAC/B,EAAgF;IAEhF,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,qBAAqB,CAC5B,EAAyE;IAEzE,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,uBAAuB,CAC9B,EAA2E;IAE3E,OAAO,EAAE,CAAC;AACZ,CAAC;AAMD,SAAS,2BAA2B,CAClC,EAAmF;IAEnF,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -49,6 +49,7 @@ type CallbackRetryOptions = {
49
49
  type AfterSaveCallbackConfig<Entity extends BaseEntity, User = unknown> = {
50
50
  callback: AfterSaveCallback<Entity, User> | undefined;
51
51
  retry?: CallbackRetryOptions;
52
+ auditLog?: boolean;
52
53
  };
53
54
  type OnAfterSaveErrorHook = (error: unknown, context: {
54
55
  entityName: string | undefined;
@@ -22,3 +22,6 @@ export * from './dynamic-api-service-provider.interface';
22
22
  export * from './dynamic-api-swagger-options.type';
23
23
  export * from './dynamic-api-web-socket.interface';
24
24
  export * from './dynamic-api-presence.interface';
25
+ export * from './dynamic-api-health-check.interface';
26
+ export * from './dynamic-api-rate-limit.interface';
27
+ export * from './dynamic-api-audit-log.interface';
@@ -38,4 +38,7 @@ __exportStar(require("./dynamic-api-service-provider.interface"), exports);
38
38
  __exportStar(require("./dynamic-api-swagger-options.type"), exports);
39
39
  __exportStar(require("./dynamic-api-web-socket.interface"), exports);
40
40
  __exportStar(require("./dynamic-api-presence.interface"), exports);
41
+ __exportStar(require("./dynamic-api-health-check.interface"), exports);
42
+ __exportStar(require("./dynamic-api-rate-limit.interface"), exports);
43
+ __exportStar(require("./dynamic-api-audit-log.interface"), exports);
41
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6EAA2D;AAC3D,uEAAqD;AACrD,kEAAgD;AAChD,4EAA0D;AAC1D,wEAAsD;AACtD,kEAAgD;AAChD,2EAAyD;AACzD,yEAAuD;AACvD,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;AACnD,mEAAiD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6EAA2D;AAC3D,uEAAqD;AACrD,kEAAgD;AAChD,4EAA0D;AAC1D,wEAAsD;AACtD,kEAAgD;AAChD,2EAAyD;AACzD,yEAAuD;AACvD,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;AACnD,mEAAiD;AACjD,uEAAqD;AACrD,qEAAmD;AACnD,oEAAkD"}
@@ -1,6 +1,6 @@
1
1
  import { ModuleMetadata, NestInterceptor, Type, ValidationPipeOptions } from '@nestjs/common';
2
2
  import type { Request } from 'express';
3
- import { AuthAbilityPredicate, BeforeRegisterContext, BroadcastAbilityPredicate, BroadcastRooms, DynamicApiResetPasswordCallback, BeforeSaveCallback, AfterSaveCallback, DynamicApiWebSocketOptions } from '../../../interfaces';
3
+ import { AuthAbilityPredicate, BeforeRegisterContext, BroadcastAbilityPredicate, BroadcastRooms, DynamicApiResetPasswordCallback, BeforeSaveCallback, AfterSaveCallback, DynamicApiWebSocketOptions, RateLimitConfig } from '../../../interfaces';
4
4
  import { BaseEntity } from '../../../models';
5
5
  type DynamicApiJWTOptions = {
6
6
  secret: string;
@@ -24,6 +24,7 @@ type DynamicApiLoginOptions<Entity extends BaseEntity = any> = {
24
24
  broadcast?: DynamicApiAuthBroadcastConfig<Entity>;
25
25
  customValidate?: (req: Request) => Promise<Entity | null>;
26
26
  useStrategy?: Type<any>;
27
+ rateLimit?: RateLimitConfig;
27
28
  };
28
29
  type DynamicApiGetAccountOptions<Entity extends BaseEntity = any> = {
29
30
  callback?: AfterSaveCallback<Entity>;
@@ -41,6 +42,7 @@ type DynamicApiRegisterOptions<Entity extends BaseEntity = any, TExtra = Record<
41
42
  })[];
42
43
  useInterceptors?: Type<NestInterceptor>[];
43
44
  broadcast?: DynamicApiAuthBroadcastConfig<Entity>;
45
+ rateLimit?: RateLimitConfig;
44
46
  };
45
47
  type DynamicApiUpdateAccountOptions<Entity extends BaseEntity = any> = {
46
48
  beforeSaveCallback?: BeforeSaveCallback<Entity>;
@@ -60,6 +62,8 @@ type DynamicApiResetPasswordOptions<Entity extends BaseEntity = any> = {
60
62
  changePasswordCallback?: AfterSaveCallback<Entity>;
61
63
  changePasswordAbilityPredicate?: AuthAbilityPredicate;
62
64
  changePasswordUseInterceptors?: Type<NestInterceptor>[];
65
+ rateLimit?: RateLimitConfig;
66
+ changePasswordRateLimit?: RateLimitConfig;
63
67
  };
64
68
  type DynamicApiRefreshTokenOptions<Entity extends BaseEntity = any> = {
65
69
  useInterceptors?: Type<NestInterceptor>[];
@@ -67,12 +71,15 @@ type DynamicApiRefreshTokenOptions<Entity extends BaseEntity = any> = {
67
71
  useCookie?: boolean;
68
72
  rotate?: boolean;
69
73
  reuseWindowMs?: number;
74
+ rateLimit?: RateLimitConfig;
70
75
  };
71
76
  type PasswordlessOptions<Entity extends BaseEntity = any> = {
72
77
  otpExpirationMinutes?: number;
73
78
  generateCode?: () => string;
74
79
  sendCodeCallback: (identifier: string, code: string) => Promise<void>;
75
80
  callback?: AfterSaveCallback<Entity>;
81
+ sendCodeRateLimit?: RateLimitConfig;
82
+ verifyCodeRateLimit?: RateLimitConfig;
76
83
  };
77
84
  type DynamicApiAuthOptions<Entity extends BaseEntity = any, RegisterExtra = Record<never, never>> = {
78
85
  userEntity: Type<Entity>;
@@ -10,5 +10,5 @@ type AuthControllerMixinOptions<Entity extends BaseEntity> = {
10
10
  refreshTokenOptions?: DynamicApiRefreshTokenOptions<Entity>;
11
11
  passwordlessOptions?: PasswordlessOptions<Entity>;
12
12
  };
13
- declare function AuthControllerMixin<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginOptions: { loginField, passwordField, additionalFields: additionalRequestFields, useInterceptors: loginUseInterceptors, broadcast: loginBroadcastConfig, }, registerOptions: { additionalFields: additionalRegisterFields, protected: registerProtected, abilityPredicate: registerAbilityPredicate, useInterceptors: registerUseInterceptors, broadcast: registerBroadcastConfig, }, resetPasswordOptions: { resetPasswordUseInterceptors, changePasswordUseInterceptors, ...resetPasswordOptions }, updateAccountOptions: { useInterceptors: updateAccountUseInterceptors, broadcast: updateAccountBroadcastConfig, refreshTokenOnUpdate, ...updateAccountOptions }, getAccountOptions: { useInterceptors: getAccountUseInterceptors, broadcast: getAccountBroadcastConfig, }, refreshTokenOptions: { useInterceptors: refreshTokenUseInterceptors, useCookie, }, passwordlessOptions, }: AuthControllerMixinOptions<Entity>): AuthControllerConstructor<Entity>;
13
+ declare function AuthControllerMixin<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginOptions: { loginField, passwordField, additionalFields: additionalRequestFields, useInterceptors: loginUseInterceptors, broadcast: loginBroadcastConfig, rateLimit: loginRateLimit, }, registerOptions: { additionalFields: additionalRegisterFields, protected: registerProtected, abilityPredicate: registerAbilityPredicate, useInterceptors: registerUseInterceptors, broadcast: registerBroadcastConfig, rateLimit: registerRateLimit, }, resetPasswordOptions: { resetPasswordUseInterceptors, changePasswordUseInterceptors, rateLimit: resetPasswordRateLimit, changePasswordRateLimit, ...resetPasswordOptions }, updateAccountOptions: { useInterceptors: updateAccountUseInterceptors, broadcast: updateAccountBroadcastConfig, refreshTokenOnUpdate, ...updateAccountOptions }, getAccountOptions: { useInterceptors: getAccountUseInterceptors, broadcast: getAccountBroadcastConfig, }, refreshTokenOptions: { useInterceptors: refreshTokenUseInterceptors, useCookie, rateLimit: refreshTokenRateLimit, }, passwordlessOptions, }: AuthControllerMixinOptions<Entity>): AuthControllerConstructor<Entity>;
14
14
  export { AuthControllerMixin };
@@ -33,7 +33,7 @@ const guards_1 = require("../guards");
33
33
  const auth_policies_guard_mixin_1 = require("./auth-policies-guard.mixin");
34
34
  const REFRESH_TOKEN_COOKIE = 'refreshToken';
35
35
  const COOKIE_OPTIONS = { httpOnly: true, secure: process.env.NODE_ENV === 'production', sameSite: 'strict' };
36
- function AuthControllerMixin(userEntity, { loginOptions: { loginField, passwordField, additionalFields: additionalRequestFields = [], useInterceptors: loginUseInterceptors = [], broadcast: loginBroadcastConfig, }, registerOptions: { additionalFields: additionalRegisterFields, protected: registerProtected, abilityPredicate: registerAbilityPredicate, useInterceptors: registerUseInterceptors = [], broadcast: registerBroadcastConfig, } = {}, resetPasswordOptions: { resetPasswordUseInterceptors = [], changePasswordUseInterceptors = [], ...resetPasswordOptions } = {}, updateAccountOptions: { useInterceptors: updateAccountUseInterceptors = [], broadcast: updateAccountBroadcastConfig, refreshTokenOnUpdate = false, ...updateAccountOptions } = {}, getAccountOptions: { useInterceptors: getAccountUseInterceptors = [], broadcast: getAccountBroadcastConfig, } = {}, refreshTokenOptions: { useInterceptors: refreshTokenUseInterceptors = [], useCookie = false, } = {}, passwordlessOptions, }) {
36
+ function AuthControllerMixin(userEntity, { loginOptions: { loginField, passwordField, additionalFields: additionalRequestFields = [], useInterceptors: loginUseInterceptors = [], broadcast: loginBroadcastConfig, rateLimit: loginRateLimit, }, registerOptions: { additionalFields: additionalRegisterFields, protected: registerProtected, abilityPredicate: registerAbilityPredicate, useInterceptors: registerUseInterceptors = [], broadcast: registerBroadcastConfig, rateLimit: registerRateLimit, } = {}, resetPasswordOptions: { resetPasswordUseInterceptors = [], changePasswordUseInterceptors = [], rateLimit: resetPasswordRateLimit, changePasswordRateLimit, ...resetPasswordOptions } = {}, updateAccountOptions: { useInterceptors: updateAccountUseInterceptors = [], broadcast: updateAccountBroadcastConfig, refreshTokenOnUpdate = false, ...updateAccountOptions } = {}, getAccountOptions: { useInterceptors: getAccountUseInterceptors = [], broadcast: getAccountBroadcastConfig, } = {}, refreshTokenOptions: { useInterceptors: refreshTokenUseInterceptors = [], useCookie = false, rateLimit: refreshTokenRateLimit, } = {}, passwordlessOptions, }) {
37
37
  var _a;
38
38
  if (!loginField || !passwordField) {
39
39
  throw new Error('Login and password fields are required');
@@ -288,6 +288,7 @@ function AuthControllerMixin(userEntity, { loginOptions: { loginField, passwordF
288
288
  __decorate([
289
289
  (0, decorators_1.ApiEndpointVisibility)(!!resetPasswordOptions, (0, decorators_1.Public)()),
290
290
  (0, common_1.UseGuards)(new guards_1.ResetPasswordGuard(!!resetPasswordOptions.emailField)),
291
+ (0, decorators_1.RateLimit)(changePasswordRateLimit),
291
292
  (0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
292
293
  (0, common_1.UseInterceptors)(...changePasswordUseInterceptors),
293
294
  (0, common_1.Patch)('change-password'),
@@ -299,6 +300,7 @@ function AuthControllerMixin(userEntity, { loginOptions: { loginField, passwordF
299
300
  __decorate([
300
301
  (0, decorators_1.Public)(),
301
302
  (0, common_1.UseGuards)(guards_1.LocalAuthGuard),
303
+ (0, decorators_1.RateLimit)(loginRateLimit),
302
304
  (0, common_1.HttpCode)(common_1.HttpStatus.OK),
303
305
  (0, swagger_1.ApiOkResponse)({ type: AuthPresenter }),
304
306
  (0, common_1.UseInterceptors)(...loginUseInterceptors),
@@ -312,6 +314,7 @@ function AuthControllerMixin(userEntity, { loginOptions: { loginField, passwordF
312
314
  ], BaseAuthController.prototype, "login", null);
313
315
  __decorate([
314
316
  (0, helpers_1.RouteDecoratorsHelper)(authRegisterDecorators),
317
+ (0, decorators_1.RateLimit)(registerRateLimit),
315
318
  (0, common_1.HttpCode)(common_1.HttpStatus.CREATED),
316
319
  (0, swagger_1.ApiCreatedResponse)({ type: AuthPresenter }),
317
320
  (0, common_1.UseInterceptors)(...registerUseInterceptors),
@@ -325,6 +328,7 @@ function AuthControllerMixin(userEntity, { loginOptions: { loginField, passwordF
325
328
  __decorate([
326
329
  (0, decorators_1.ApiEndpointVisibility)(!!resetPasswordOptions, (0, decorators_1.Public)()),
327
330
  (0, common_1.UseGuards)(new guards_1.ResetPasswordGuard(!!resetPasswordOptions.emailField)),
331
+ (0, decorators_1.RateLimit)(resetPasswordRateLimit),
328
332
  (0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
329
333
  (0, common_1.UseInterceptors)(...resetPasswordUseInterceptors),
330
334
  (0, common_1.Post)('reset-password'),
@@ -350,6 +354,7 @@ function AuthControllerMixin(userEntity, { loginOptions: { loginField, passwordF
350
354
  (0, decorators_1.Public)(),
351
355
  (0, swagger_1.ApiBearerAuth)(),
352
356
  (0, common_1.UseGuards)(guards_1.JwtRefreshGuard),
357
+ (0, decorators_1.RateLimit)(refreshTokenRateLimit),
353
358
  (0, common_1.HttpCode)(common_1.HttpStatus.OK),
354
359
  (0, swagger_1.ApiOkResponse)({ type: AuthPresenter }),
355
360
  (0, common_1.UseInterceptors)(...refreshTokenUseInterceptors),
@@ -376,6 +381,7 @@ function AuthControllerMixin(userEntity, { loginOptions: { loginField, passwordF
376
381
  (0, decorators_1.Public)(),
377
382
  (0, decorators_1.ApiEndpointVisibility)(!!passwordlessOptions),
378
383
  (0, common_1.UseGuards)(new guards_1.PasswordlessGuard(!!passwordlessOptions)),
384
+ (0, decorators_1.RateLimit)(passwordlessOptions?.sendCodeRateLimit),
379
385
  (0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
380
386
  (0, common_1.Post)('passwordless/send-code'),
381
387
  __param(0, (0, common_1.Body)()),
@@ -387,6 +393,7 @@ function AuthControllerMixin(userEntity, { loginOptions: { loginField, passwordF
387
393
  (0, decorators_1.Public)(),
388
394
  (0, decorators_1.ApiEndpointVisibility)(!!passwordlessOptions),
389
395
  (0, common_1.UseGuards)(new guards_1.PasswordlessGuard(!!passwordlessOptions)),
396
+ (0, decorators_1.RateLimit)(passwordlessOptions?.verifyCodeRateLimit),
390
397
  (0, common_1.HttpCode)(common_1.HttpStatus.OK),
391
398
  (0, swagger_1.ApiOkResponse)({ type: AuthPresenter }),
392
399
  (0, common_1.Post)('passwordless/verify-code'),
@@ -1 +1 @@
1
- {"version":3,"file":"auth-controller.mixin.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/mixins/auth-controller.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-controller.mixin.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/mixins/auth-controller.mixin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Type } from '@nestjs/common';
2
+ declare function createHealthController(connectionName: string, path: string): Type;
3
+ export { createHealthController };
@@ -0,0 +1,53 @@
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.createHealthController = createHealthController;
16
+ const common_1 = require("@nestjs/common");
17
+ const mongoose_1 = require("@nestjs/mongoose");
18
+ const swagger_1 = require("@nestjs/swagger");
19
+ const mongoose_2 = require("mongoose");
20
+ const decorators_1 = require("../../decorators");
21
+ function createHealthController(connectionName, path) {
22
+ let HealthController = class HealthController {
23
+ constructor(connection) {
24
+ this.connection = connection;
25
+ }
26
+ async check() {
27
+ const isUp = this.connection.readyState === 1;
28
+ if (!isUp) {
29
+ throw new common_1.ServiceUnavailableException({ status: 'error', mongo: 'down' });
30
+ }
31
+ return { status: 'ok', mongo: 'up' };
32
+ }
33
+ };
34
+ __decorate([
35
+ (0, decorators_1.Public)(),
36
+ (0, common_1.Get)(),
37
+ (0, common_1.HttpCode)(common_1.HttpStatus.OK),
38
+ (0, swagger_1.ApiOperation)({ summary: 'Readiness probe — reports the MongoDB connection status' }),
39
+ (0, swagger_1.ApiOkResponse)({ description: 'The MongoDB connection is up.' }),
40
+ (0, swagger_1.ApiServiceUnavailableResponse)({ description: 'The MongoDB connection is down.' }),
41
+ __metadata("design:type", Function),
42
+ __metadata("design:paramtypes", []),
43
+ __metadata("design:returntype", Promise)
44
+ ], HealthController.prototype, "check", null);
45
+ HealthController = __decorate([
46
+ (0, swagger_1.ApiTags)('Health'),
47
+ (0, common_1.Controller)(path),
48
+ __param(0, (0, common_1.Inject)((0, mongoose_1.getConnectionToken)(connectionName))),
49
+ __metadata("design:paramtypes", [mongoose_2.Connection])
50
+ ], HealthController);
51
+ return HealthController;
52
+ }
53
+ //# sourceMappingURL=health.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.controller.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/health/health.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAiDS,wDAAsB;AAjD/B,2CAAkH;AAClH,+CAAsD;AACtD,6CAAsG;AACtG,uCAAsC;AACtC,iDAA0C;AAS1C,SAAS,sBAAsB,CAAC,cAAsB,EAAE,IAAY;IAClE,IAEM,gBAAgB,GAFtB,MAEM,gBAAgB;QACpB,YAEmB,UAAsB;YAAtB,eAAU,GAAV,UAAU,CAAY;QACtC,CAAC;QAYE,AAAN,KAAK,CAAC,KAAK;YAET,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,oCAA2B,CACnC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAmC,CACpE,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;KACF,CAAA;IAZO;QANL,IAAA,mBAAM,GAAE;QACR,IAAA,YAAG,GAAE;QACL,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;QACvB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,yDAAyD,EAAE,CAAC;QACpF,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;QAC/D,IAAA,uCAA6B,EAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;;;;iDAYjF;IA3BG,gBAAgB;QAFrB,IAAA,iBAAO,EAAC,QAAQ,CAAC;QACjB,IAAA,mBAAU,EAAC,IAAI,CAAC;QAGZ,WAAA,IAAA,eAAM,EAAC,IAAA,6BAAkB,EAAC,cAAc,CAAC,CAAC,CAAA;yCACd,qBAAU;OAHrC,gBAAgB,CA4BrB;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { DynamicApiHealthCheckOptions } from '../../interfaces';
3
+ declare class DynamicApiHealthModule {
4
+ static register(options?: DynamicApiHealthCheckOptions): DynamicModule;
5
+ }
6
+ export { DynamicApiHealthModule };
@@ -0,0 +1,28 @@
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 DynamicApiHealthModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.DynamicApiHealthModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const dynamic_api_module_1 = require("../../dynamic-api.module");
13
+ const health_controller_1 = require("./health.controller");
14
+ let DynamicApiHealthModule = DynamicApiHealthModule_1 = class DynamicApiHealthModule {
15
+ static register(options = {}) {
16
+ const { path = 'health' } = options;
17
+ const connectionName = dynamic_api_module_1.DynamicApiModule.state.get('connectionName');
18
+ return {
19
+ module: DynamicApiHealthModule_1,
20
+ controllers: [(0, health_controller_1.createHealthController)(connectionName, path)],
21
+ };
22
+ }
23
+ };
24
+ exports.DynamicApiHealthModule = DynamicApiHealthModule;
25
+ exports.DynamicApiHealthModule = DynamicApiHealthModule = DynamicApiHealthModule_1 = __decorate([
26
+ (0, common_1.Module)({})
27
+ ], DynamicApiHealthModule);
28
+ //# sourceMappingURL=health.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/health/health.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,iEAA4D;AAE5D,2DAA6D;AA0B7D,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IAC1B,MAAM,CAAC,QAAQ,CAAC,UAAwC,EAAE;QACxD,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC;QACpC,MAAM,cAAc,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAS,gBAAgB,CAAC,CAAC;QAE5E,OAAO;YACL,MAAM,EAAE,wBAAsB;YAC9B,WAAW,EAAE,CAAC,IAAA,0CAAsB,EAAC,cAAc,EAAE,IAAI,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC;CACF,CAAA;AAEQ,wDAAsB;iCAZzB,sBAAsB;IAD3B,IAAA,eAAM,EAAC,EAAE,CAAC;GACL,sBAAsB,CAU3B"}
@@ -0,0 +1,2 @@
1
+ export * from './health.controller';
2
+ export * from './health.module';
@@ -0,0 +1,19 @@
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("./health.controller"), exports);
18
+ __exportStar(require("./health.module"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/health/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,kDAAgC"}
@@ -10,6 +10,7 @@ export declare abstract class BaseCreateManyService<Entity extends BaseEntity> e
10
10
  protected readonly beforeSaveCallback: BeforeSaveListCallback<Entity, BeforeSaveCreateManyContext<Entity>> | undefined;
11
11
  protected readonly callback: AfterSaveCallback<Entity> | undefined;
12
12
  protected readonly callbackRetry: CallbackRetryOptions | undefined;
13
+ protected readonly auditLog: boolean | undefined;
13
14
  protected constructor(model: Model<Entity>);
14
15
  createMany(partials: Partial<Entity>[], user?: unknown): Promise<Entity[]>;
15
16
  }
@@ -22,6 +22,9 @@ class BaseCreateManyService extends services_1.BaseService {
22
22
  .exec();
23
23
  if (documents.length) {
24
24
  await Promise.all(documents.map((document) => this.invokeAfterSaveCallback(this.callback, this.addDocumentId(document), user, this.callbackRetry)));
25
+ if (this.auditLog) {
26
+ await Promise.all(documents.map((document) => this.writeAuditLog('create', document._id.toString(), null, document, user)));
27
+ }
25
28
  }
26
29
  return documents.map((d) => this.buildInstance(d));
27
30
  }