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,88 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const mongoose_1 = require("@nestjs/mongoose");
13
+ const testing_1 = require("@nestjs/testing");
14
+ const mongoose_2 = require("mongoose");
15
+ const src_1 = require("../../src");
16
+ const e2e_setup_1 = require("../e2e.setup");
17
+ require("dotenv/config");
18
+ const utils_1 = require("../utils");
19
+ describe('enableDynamicAPIIndexSync (e2e)', () => {
20
+ const uri = process.env.MONGO_DB_URL;
21
+ beforeEach(() => {
22
+ src_1.DynamicApiModule.state['resetState']();
23
+ });
24
+ afterEach(async () => {
25
+ await (0, e2e_setup_1.closeTestingApp)(mongoose_2.default.connections);
26
+ });
27
+ let IndexSyncUserEntity = class IndexSyncUserEntity extends src_1.BaseEntity {
28
+ };
29
+ __decorate([
30
+ (0, mongoose_1.Prop)({ type: String }),
31
+ __metadata("design:type", String)
32
+ ], IndexSyncUserEntity.prototype, "name", void 0);
33
+ __decorate([
34
+ (0, mongoose_1.Prop)({ type: String, unique: true }),
35
+ __metadata("design:type", String)
36
+ ], IndexSyncUserEntity.prototype, "email", void 0);
37
+ IndexSyncUserEntity = __decorate([
38
+ (0, src_1.DynamicAPISchemaOptions)({
39
+ customInit: (schema) => {
40
+ schema.set('autoIndex', false);
41
+ },
42
+ }),
43
+ (0, mongoose_1.Schema)({ collection: 'index-sync-users' })
44
+ ], IndexSyncUserEntity);
45
+ const bootApp = async (fixtures) => {
46
+ const moduleRef = await testing_1.Test.createTestingModule({
47
+ imports: [
48
+ src_1.DynamicApiModule.forRoot(uri),
49
+ src_1.DynamicApiModule.forFeature({
50
+ entity: IndexSyncUserEntity,
51
+ controllerOptions: { path: 'index-sync-users' },
52
+ }),
53
+ ],
54
+ }).compile();
55
+ return (0, e2e_setup_1.createTestingApp)(moduleRef, fixtures ? async () => fixtures() : undefined);
56
+ };
57
+ describe('when legacy documents already violate a newly added unique index', () => {
58
+ let app;
59
+ beforeEach(async () => {
60
+ app = await bootApp(async () => {
61
+ const model = await (0, utils_1.getModelFromEntity)(IndexSyncUserEntity);
62
+ await model.insertMany([{ name: 'legacy-1' }, { name: 'legacy-2' }]);
63
+ });
64
+ });
65
+ it('rejects with an actionable message suggesting a partialFilterExpression fix', async () => {
66
+ await expect((0, src_1.enableDynamicAPIIndexSync)(app)).rejects.toThrow(/partialFilterExpression: \{ email: \{ \$exists: true \} \}/);
67
+ });
68
+ it('names the offending collection and field in the error message', async () => {
69
+ await expect((0, src_1.enableDynamicAPIIndexSync)(app)).rejects.toThrow(/"index-sync-users" \(field "email"\)/);
70
+ });
71
+ it('logs the error and resolves without throwing when throwOnError is false', async () => {
72
+ await expect((0, src_1.enableDynamicAPIIndexSync)(app, { throwOnError: false })).resolves.toBeUndefined();
73
+ });
74
+ });
75
+ describe('when no documents violate the unique index', () => {
76
+ let app;
77
+ beforeEach(async () => {
78
+ app = await bootApp();
79
+ });
80
+ it('syncs successfully and actually builds the unique index', async () => {
81
+ await expect((0, src_1.enableDynamicAPIIndexSync)(app)).resolves.toBeUndefined();
82
+ const model = await (0, utils_1.getModelFromEntity)(IndexSyncUserEntity);
83
+ const indexes = await model.collection.indexes();
84
+ expect(indexes.some((index) => index.unique && index.key.email === 1)).toBe(true);
85
+ });
86
+ });
87
+ });
88
+ //# sourceMappingURL=index-sync.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-sync.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-feature/index-sync.e2e-spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import 'dotenv/config';
@@ -0,0 +1,93 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const mongoose_1 = require("@nestjs/mongoose");
13
+ const mongoose_2 = require("mongoose");
14
+ const src_1 = require("../../src");
15
+ const e2e_setup_1 = require("../e2e.setup");
16
+ const shared_1 = require("../shared");
17
+ const utils_1 = require("../utils");
18
+ require("dotenv/config");
19
+ let AuthorEntity = class AuthorEntity extends src_1.BaseEntity {
20
+ };
21
+ __decorate([
22
+ (0, mongoose_1.Prop)({ type: String, required: true }),
23
+ __metadata("design:type", String)
24
+ ], AuthorEntity.prototype, "name", void 0);
25
+ AuthorEntity = __decorate([
26
+ (0, mongoose_1.Schema)({ collection: 'e2e-populate-authors' })
27
+ ], AuthorEntity);
28
+ let PostEntity = class PostEntity extends src_1.BaseEntity {
29
+ };
30
+ __decorate([
31
+ (0, mongoose_1.Prop)({ type: String, required: true }),
32
+ __metadata("design:type", String)
33
+ ], PostEntity.prototype, "title", void 0);
34
+ __decorate([
35
+ (0, mongoose_1.Prop)({ type: mongoose_2.default.Schema.Types.ObjectId, ref: 'AuthorEntity', required: true }),
36
+ __metadata("design:type", mongoose_2.default.Types.ObjectId)
37
+ ], PostEntity.prototype, "author", void 0);
38
+ PostEntity = __decorate([
39
+ (0, mongoose_1.Schema)({ collection: 'e2e-populate-posts' })
40
+ ], PostEntity);
41
+ describe('DynamicApiModule forFeature - populate (e2e)', () => {
42
+ let postId;
43
+ const seedAuthorAndPost = async (_) => {
44
+ const authorModel = await (0, utils_1.getModelFromEntity)(AuthorEntity);
45
+ const author = await authorModel.create({ name: 'Jane Doe' });
46
+ const postModel = await (0, utils_1.getModelFromEntity)(PostEntity);
47
+ const post = await postModel.create({ title: 'Hello world', author: author._id });
48
+ postId = post._id.toString();
49
+ };
50
+ beforeEach(() => {
51
+ src_1.DynamicApiModule.state['resetState']();
52
+ });
53
+ afterEach(async () => {
54
+ await (0, e2e_setup_1.closeTestingApp)(mongoose_2.default.connections);
55
+ });
56
+ describe('GetOne/GetMany with populate configured on the route', () => {
57
+ beforeEach(async () => {
58
+ await (0, shared_1.initApp)({
59
+ entity: PostEntity,
60
+ controllerOptions: { path: 'populate-posts' },
61
+ routes: [
62
+ { type: 'GetOne', populate: 'author' },
63
+ { type: 'GetMany', populate: 'author' },
64
+ ],
65
+ extraImports: [
66
+ src_1.DynamicApiModule.forFeature({ entity: AuthorEntity, controllerOptions: { path: 'populate-authors' }, routes: [] }),
67
+ ],
68
+ }, {}, seedAuthorAndPost);
69
+ });
70
+ it('GET /populate-posts/:id returns author as a populated object, not a bare id', async () => {
71
+ const { body, status } = await e2e_setup_1.server.get(`/populate-posts/${postId}`);
72
+ expect(status).toBe(200);
73
+ expect(body.author).toMatchObject({ name: 'Jane Doe' });
74
+ });
75
+ it('GET /populate-posts returns author populated for every item', async () => {
76
+ const { body, status } = await e2e_setup_1.server.get('/populate-posts');
77
+ expect(status).toBe(200);
78
+ expect(body).toHaveLength(1);
79
+ expect(body[0].author).toMatchObject({ name: 'Jane Doe' });
80
+ });
81
+ });
82
+ describe('GetOne without populate configured', () => {
83
+ beforeEach(async () => {
84
+ await (0, shared_1.initApp)({ entity: PostEntity, controllerOptions: { path: 'populate-posts' } }, {}, seedAuthorAndPost);
85
+ });
86
+ it('GET /populate-posts/:id returns the bare author reference (no populate configured)', async () => {
87
+ const { body, status } = await e2e_setup_1.server.get(`/populate-posts/${postId}`);
88
+ expect(status).toBe(200);
89
+ expect(body.author).not.toHaveProperty('name');
90
+ });
91
+ });
92
+ });
93
+ //# sourceMappingURL=populate.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"populate.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-feature/populate.e2e-spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAAgD;AAChD,uCAAgD;AAChD,mCAAyD;AACzD,4CAAuD;AACvD,sCAAoC;AACpC,oCAA8C;AAC9C,yBAAuB;AAGvB,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,gBAAU;CAGpC,CAAA;AADC;IADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CAC1B;AAFT,YAAY;IADjB,IAAA,iBAAM,EAAC,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;GACzC,YAAY,CAGjB;AAGD,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,gBAAU;CAMlC,CAAA;AAJC;IADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACzB;AAGd;IADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,kBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC5E,kBAAQ,CAAC,KAAK,CAAC,QAAQ;0CAAC;AAL5B,UAAU;IADf,IAAA,iBAAM,EAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;GACvC,UAAU,CAMf;AAED,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC5D,IAAI,MAAc,CAAC;IAEnB,MAAM,iBAAiB,GAAG,KAAK,EAAE,CAAa,EAAE,EAAE;QAChD,MAAM,WAAW,GAAG,MAAM,IAAA,0BAAkB,EAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAE9D,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAkB,EAAC,UAAU,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAClF,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,sBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,IAAA,2BAAe,EAAC,kBAAQ,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sDAAsD,EAAE,GAAG,EAAE;QACpE,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,IAAA,gBAAO,EACX;gBACE,MAAM,EAAE,UAAU;gBAClB,iBAAiB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;gBAC7C,MAAM,EAAE;oBACN,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE;oBACtC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE;iBACxC;gBAID,YAAY,EAAE;oBACZ,sBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;iBACnH;aACF,EACD,EAAE,EACF,iBAAiB,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YAC3F,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAM,CAAC,GAAG,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAE7D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAClD,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,IAAA,gBAAO,EACX,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EACrE,EAAE,EACF,iBAAiB,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;YAClG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAM,CAAC,GAAG,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -40,6 +40,8 @@ describe('DynamicApiModule forRoot - Authentication API Basic (e2e)', () => {
40
40
  jwtRefreshUseCookie: false,
41
41
  onAfterSaveError: undefined,
42
42
  refreshTokenOnUpdate: false,
43
+ refreshTokenField: undefined,
44
+ additionalRequestFields: [],
43
45
  jwtSecret: 'dynamic-api-jwt-secret',
44
46
  routesConfig: {
45
47
  defaults: [
@@ -217,6 +219,8 @@ describe('DynamicApiModule forRoot - Authentication API Basic (e2e)', () => {
217
219
  jwtRefreshUseCookie: false,
218
220
  onAfterSaveError: undefined,
219
221
  refreshTokenOnUpdate: false,
222
+ refreshTokenField: undefined,
223
+ additionalRequestFields: [],
220
224
  jwtSecret: 'test-secret',
221
225
  routesConfig: {
222
226
  defaults: [
@@ -257,6 +261,15 @@ describe('DynamicApiModule forRoot - Authentication API Basic (e2e)', () => {
257
261
  statusCode: 401,
258
262
  });
259
263
  });
264
+ it('should throw a generic unauthorized exception (never leaking the real rejection reason) if the token is malformed', async () => {
265
+ const headers = { Authorization: 'Bearer not-a-jwt-at-all' };
266
+ const { body, status } = await e2e_setup_1.server.get('/auth/account', { headers });
267
+ expect(status).toBe(401);
268
+ expect(body).toEqual({
269
+ message: 'Unauthorized',
270
+ statusCode: 401,
271
+ });
272
+ });
260
273
  });
261
274
  describe('useAuth with validation options', () => {
262
275
  let app;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-api-basic.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-root/auth-api-basic.e2e-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-api-basic.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-root/auth-api-basic.e2e-spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import 'dotenv/config';
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const src_1 = require("../../src");
5
+ const e2e_setup_1 = require("../e2e.setup");
6
+ require("dotenv/config");
7
+ const shared_1 = require("../shared");
8
+ describe('DynamicApiModule forRoot - mintTokenPair (e2e)', () => {
9
+ beforeEach(() => {
10
+ src_1.DynamicApiModule.state['resetState']();
11
+ });
12
+ afterEach(async () => {
13
+ await (0, e2e_setup_1.closeTestingApp)(mongoose_1.default.connections);
14
+ });
15
+ describe('without refreshTokenField configured', () => {
16
+ const UserEntity = (0, shared_1.createBasicUserEntity)();
17
+ let app;
18
+ beforeEach(async () => {
19
+ app = await (0, shared_1.initModule)({ useAuth: { userEntity: UserEntity } });
20
+ });
21
+ it('mints an access token that authenticates against /auth/account, exactly like /auth/login', async () => {
22
+ await e2e_setup_1.server.post('/auth/register', { email: 'oauth@test.co', password: 'test' });
23
+ const { body: loginBody } = await e2e_setup_1.server.post('/auth/login', { email: 'oauth@test.co', password: 'test' });
24
+ const { body: account } = await e2e_setup_1.server.get('/auth/account', { headers: { Authorization: `Bearer ${loginBody.accessToken}` } });
25
+ const minted = await (0, src_1.mintTokenPair)(UserEntity, { id: account.id, email: account.email });
26
+ expect(minted).toEqual({ accessToken: expect.any(String), refreshToken: expect.any(String) });
27
+ const { body, status } = await e2e_setup_1.server.get('/auth/account', { headers: { Authorization: `Bearer ${minted.accessToken}` } });
28
+ expect(status).toBe(200);
29
+ expect(body).toEqual({ id: account.id, email: 'oauth@test.co' });
30
+ });
31
+ it('throws when useAuth is not configured', async () => {
32
+ src_1.DynamicApiModule.state['resetState']();
33
+ await expect((0, src_1.mintTokenPair)(UserEntity, { id: 'x', email: 'x@test.co' })).rejects.toThrow('useAuth is not configured in DynamicApiModule.forRoot()');
34
+ });
35
+ });
36
+ describe('with refreshTokenField configured', () => {
37
+ const UserEntity = (0, shared_1.createUserWithRefreshTokenEntity)();
38
+ let app;
39
+ beforeEach(async () => {
40
+ app = await (0, shared_1.initModule)({
41
+ useAuth: {
42
+ userEntity: UserEntity,
43
+ refreshToken: { refreshTokenField: 'refreshTokenHash' },
44
+ },
45
+ });
46
+ });
47
+ it('mints a refresh token that works with POST /auth/refresh-token, exactly like /auth/login', async () => {
48
+ await e2e_setup_1.server.post('/auth/register', { email: 'oauth-rt@test.co', password: 'test' });
49
+ const { body: loginBody } = await e2e_setup_1.server.post('/auth/login', { email: 'oauth-rt@test.co', password: 'test' });
50
+ const { body: account } = await e2e_setup_1.server.get('/auth/account', { headers: { Authorization: `Bearer ${loginBody.accessToken}` } });
51
+ const minted = await (0, src_1.mintTokenPair)(UserEntity, { id: account.id, email: account.email });
52
+ const { body, status } = await e2e_setup_1.server.post('/auth/refresh-token', {}, { headers: { Authorization: `Bearer ${minted.refreshToken}` } });
53
+ expect(status).toBe(200);
54
+ expect(body).toEqual({ accessToken: expect.any(String), refreshToken: expect.any(String) });
55
+ });
56
+ });
57
+ });
58
+ //# sourceMappingURL=auth-api-mint-token-pair.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-api-mint-token-pair.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-root/auth-api-mint-token-pair.e2e-spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import 'dotenv/config';
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const testing_1 = require("@nestjs/testing");
4
+ const throttler_1 = require("@nestjs/throttler");
5
+ const mongoose_1 = require("mongoose");
6
+ const src_1 = require("../../src");
7
+ const e2e_setup_1 = require("../e2e.setup");
8
+ require("dotenv/config");
9
+ const shared_1 = require("../shared");
10
+ describe('DynamicApiModule forRoot - Auth rate limiting (e2e)', () => {
11
+ const uri = process.env.MONGO_DB_URL;
12
+ beforeEach(() => {
13
+ src_1.DynamicApiModule.state['resetState']();
14
+ });
15
+ afterEach(async () => {
16
+ await (0, e2e_setup_1.closeTestingApp)(mongoose_1.default.connections);
17
+ });
18
+ describe('POST /auth/login with rateLimit configured', () => {
19
+ const UserEntity = (0, shared_1.createBasicUserEntity)();
20
+ beforeEach(async () => {
21
+ const moduleRef = await testing_1.Test.createTestingModule({
22
+ imports: [
23
+ throttler_1.ThrottlerModule.forRoot([{ ttl: 60000, limit: 100 }]),
24
+ src_1.DynamicApiModule.forRoot(uri, {
25
+ useAuth: {
26
+ userEntity: UserEntity,
27
+ login: { rateLimit: { limit: 2, ttl: 60000 } },
28
+ },
29
+ }),
30
+ ],
31
+ }).compile();
32
+ await (0, e2e_setup_1.createTestingApp)(moduleRef);
33
+ });
34
+ it('rejects with 429 once the configured limit is exceeded', async () => {
35
+ const credentials = { email: 'ratelimit@test.co', password: 'test' };
36
+ const first = await e2e_setup_1.server.post('/auth/login', credentials);
37
+ const second = await e2e_setup_1.server.post('/auth/login', credentials);
38
+ const third = await e2e_setup_1.server.post('/auth/login', credentials);
39
+ expect(first.status).toBe(401);
40
+ expect(second.status).toBe(401);
41
+ expect(third.status).toBe(429);
42
+ });
43
+ });
44
+ describe('POST /auth/login without rateLimit configured', () => {
45
+ const UserEntity = (0, shared_1.createBasicUserEntity)();
46
+ beforeEach(async () => {
47
+ const moduleRef = await testing_1.Test.createTestingModule({
48
+ imports: [src_1.DynamicApiModule.forRoot(uri, { useAuth: { userEntity: UserEntity } })],
49
+ }).compile();
50
+ await (0, e2e_setup_1.createTestingApp)(moduleRef);
51
+ });
52
+ it('never throttles when no rateLimit option is set', async () => {
53
+ const credentials = { email: 'no-limit@test.co', password: 'test' };
54
+ const requests = Array.from({ length: 5 }, () => e2e_setup_1.server.post('/auth/login', credentials));
55
+ const results = await Promise.all(requests);
56
+ results.forEach(({ status }) => expect(status).toBe(401));
57
+ });
58
+ });
59
+ });
60
+ //# sourceMappingURL=auth-api-rate-limit.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-api-rate-limit.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-root/auth-api-rate-limit.e2e-spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import 'dotenv/config';
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const testing_1 = require("@nestjs/testing");
4
+ const mongoose_1 = require("mongoose");
5
+ const src_1 = require("../../src");
6
+ const e2e_setup_1 = require("../e2e.setup");
7
+ require("dotenv/config");
8
+ const shared_1 = require("../shared");
9
+ describe('DynamicApiHealthModule (e2e)', () => {
10
+ const uri = process.env.MONGO_DB_URL;
11
+ beforeEach(() => {
12
+ src_1.DynamicApiModule.state['resetState']();
13
+ });
14
+ afterEach(async () => {
15
+ await (0, e2e_setup_1.closeTestingApp)(mongoose_1.default.connections);
16
+ });
17
+ describe('with the default path', () => {
18
+ beforeEach(async () => {
19
+ const moduleRef = await testing_1.Test.createTestingModule({
20
+ imports: [src_1.DynamicApiModule.forRoot(uri), src_1.DynamicApiHealthModule.register()],
21
+ }).compile();
22
+ await (0, e2e_setup_1.createTestingApp)(moduleRef);
23
+ });
24
+ it('returns 200 { status: "ok", mongo: "up" } on GET /health', async () => {
25
+ const { body, status } = await e2e_setup_1.server.get('/health');
26
+ expect(status).toBe(200);
27
+ expect(body).toStrictEqual({ status: 'ok', mongo: 'up' });
28
+ });
29
+ });
30
+ describe('with a custom path', () => {
31
+ beforeEach(async () => {
32
+ const moduleRef = await testing_1.Test.createTestingModule({
33
+ imports: [src_1.DynamicApiModule.forRoot(uri), src_1.DynamicApiHealthModule.register({ path: 'healthz' })],
34
+ }).compile();
35
+ await (0, e2e_setup_1.createTestingApp)(moduleRef);
36
+ });
37
+ it('mounts the endpoint at the custom path instead of /health', async () => {
38
+ const { status } = await e2e_setup_1.server.get('/healthz');
39
+ expect(status).toBe(200);
40
+ const { status: defaultPathStatus } = await e2e_setup_1.server.get('/health');
41
+ expect(defaultPathStatus).toBe(404);
42
+ });
43
+ });
44
+ describe('when the global JWT guard is active (useAuth configured)', () => {
45
+ const UserEntity = (0, shared_1.createBasicUserEntity)();
46
+ beforeEach(async () => {
47
+ const moduleRef = await testing_1.Test.createTestingModule({
48
+ imports: [
49
+ src_1.DynamicApiModule.forRoot(uri, { useAuth: { userEntity: UserEntity } }),
50
+ src_1.DynamicApiHealthModule.register(),
51
+ ],
52
+ }).compile();
53
+ await (0, e2e_setup_1.createTestingApp)(moduleRef);
54
+ });
55
+ it('remains reachable without an access token — @Public() exempts it from the global guard', async () => {
56
+ const { body, status } = await e2e_setup_1.server.get('/health');
57
+ expect(status).toBe(200);
58
+ expect(body).toStrictEqual({ status: 'ok', mongo: 'up' });
59
+ });
60
+ it('still enforces auth on unrelated protected routes (sanity check)', async () => {
61
+ const { status } = await e2e_setup_1.server.get('/auth/account');
62
+ expect(status).toBe(401);
63
+ });
64
+ });
65
+ });
66
+ //# sourceMappingURL=health-check.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-check.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-root/health-check.e2e-spec.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,8 @@ describe('DynamicApiModule forRoot - Initialization (e2e)', () => {
30
30
  jwtRefreshUseCookie: undefined,
31
31
  onAfterSaveError: undefined,
32
32
  jwtSecret: undefined,
33
+ refreshTokenField: undefined,
34
+ additionalRequestFields: [],
33
35
  routesConfig: {
34
36
  defaults: [
35
37
  'GetMany',
@@ -75,6 +77,8 @@ describe('DynamicApiModule forRoot - Initialization (e2e)', () => {
75
77
  jwtRefreshUseCookie: undefined,
76
78
  onAfterSaveError: undefined,
77
79
  jwtSecret: undefined,
80
+ refreshTokenField: undefined,
81
+ additionalRequestFields: [],
78
82
  routesConfig: {
79
83
  defaults: ['GetMany', 'GetOne', 'CreateOne', 'UpdateOne', 'DeleteOne'],
80
84
  excluded: ['CreateMany', 'UpdateMany', 'DeleteMany'],
@@ -1 +1 @@
1
- {"version":3,"file":"initialization.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-root/initialization.e2e-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initialization.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-root/initialization.e2e-spec.ts"],"names":[],"mappings":"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"}
@@ -181,6 +181,8 @@ describe('DynamicApiModule forRoot - Websockets Authentication Basic (e2e)', ()
181
181
  jwtRefreshUseCookie: false,
182
182
  onAfterSaveError: undefined,
183
183
  refreshTokenOnUpdate: false,
184
+ refreshTokenField: undefined,
185
+ additionalRequestFields: [],
184
186
  jwtSecret: 'test-secret',
185
187
  routesConfig: {
186
188
  defaults: [