mongodb-dynamic-api 4.23.0 → 4.24.1

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 (79) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/package.json +1 -1
  3. package/src/builders/route-decorators/paginated-response.builder.d.ts +3 -0
  4. package/src/builders/route-decorators/paginated-response.builder.js +35 -0
  5. package/src/builders/route-decorators/paginated-response.builder.js.map +1 -0
  6. package/src/builders/route-decorators/route-decorators.builder.d.ts +1 -1
  7. package/src/builders/route-decorators/route-decorators.builder.js +9 -2
  8. package/src/builders/route-decorators/route-decorators.builder.js.map +1 -1
  9. package/src/dtos/index.d.ts +1 -0
  10. package/src/dtos/index.js +1 -0
  11. package/src/dtos/index.js.map +1 -1
  12. package/src/dtos/paging.query.d.ts +4 -0
  13. package/src/dtos/paging.query.js +35 -0
  14. package/src/dtos/paging.query.js.map +1 -0
  15. package/src/guards/base-policies.guard.d.ts +3 -1
  16. package/src/guards/base-policies.guard.js +11 -1
  17. package/src/guards/base-policies.guard.js.map +1 -1
  18. package/src/helpers/index.d.ts +3 -0
  19. package/src/helpers/index.js +3 -0
  20. package/src/helpers/index.js.map +1 -1
  21. package/src/helpers/paging-params.helper.d.ts +13 -0
  22. package/src/helpers/paging-params.helper.js +14 -0
  23. package/src/helpers/paging-params.helper.js.map +1 -0
  24. package/src/helpers/paging-presenter-warning.helper.d.ts +3 -0
  25. package/src/helpers/paging-presenter-warning.helper.js +16 -0
  26. package/src/helpers/paging-presenter-warning.helper.js.map +1 -0
  27. package/src/helpers/pipeline-paging.helper.d.ts +3 -0
  28. package/src/helpers/pipeline-paging.helper.js +13 -0
  29. package/src/helpers/pipeline-paging.helper.js.map +1 -0
  30. package/src/interfaces/dynamic-api-custom-route.interface.d.ts +4 -1
  31. package/src/mixins/policies-guard.mixin.d.ts +2 -0
  32. package/src/mixins/policies-guard.mixin.js +4 -2
  33. package/src/mixins/policies-guard.mixin.js.map +1 -1
  34. package/src/modules/auth/services/base-auth.service.js +1 -1
  35. package/src/modules/auth/services/base-auth.service.js.map +1 -1
  36. package/src/routes/aggregate/aggregate-controller.mixin.js +1 -0
  37. package/src/routes/aggregate/aggregate-controller.mixin.js.map +1 -1
  38. package/src/routes/aggregate/aggregate-gateway.mixin.js +3 -1
  39. package/src/routes/aggregate/aggregate-gateway.mixin.js.map +1 -1
  40. package/src/routes/aggregate/base-aggregate.service.d.ts +0 -1
  41. package/src/routes/aggregate/base-aggregate.service.js +3 -11
  42. package/src/routes/aggregate/base-aggregate.service.js.map +1 -1
  43. package/src/routes/custom/create-custom-route-controller.js +6 -3
  44. package/src/routes/custom/create-custom-route-controller.js.map +1 -1
  45. package/src/routes/custom/create-custom-route-gateway.js +6 -3
  46. package/src/routes/custom/create-custom-route-gateway.js.map +1 -1
  47. package/src/routes/custom/custom-route-callback.service.d.ts +7 -0
  48. package/src/routes/custom/custom-route-callback.service.js +11 -0
  49. package/src/routes/custom/custom-route-callback.service.js.map +1 -0
  50. package/src/services/base/base.service.d.ts +1 -0
  51. package/src/services/base/base.service.js +9 -0
  52. package/src/services/base/base.service.js.map +1 -1
  53. package/src/services/dynamic-api-cache/dynamic-api-cache.service.js.map +1 -1
  54. package/src/version.json +1 -1
  55. package/test/for-feature/aggregate-ability-predicate-paging.e2e-spec.d.ts +1 -0
  56. package/test/for-feature/aggregate-ability-predicate-paging.e2e-spec.js +157 -0
  57. package/test/for-feature/aggregate-ability-predicate-paging.e2e-spec.js.map +1 -0
  58. package/test/for-feature/aggregate-paging-without-from-aggregate.e2e-spec.d.ts +1 -0
  59. package/test/for-feature/aggregate-paging-without-from-aggregate.e2e-spec.js +68 -0
  60. package/test/for-feature/aggregate-paging-without-from-aggregate.e2e-spec.js.map +1 -0
  61. package/test/for-feature/aggregate-swagger-paginated-response.e2e-spec.d.ts +1 -0
  62. package/test/for-feature/aggregate-swagger-paginated-response.e2e-spec.js +98 -0
  63. package/test/for-feature/aggregate-swagger-paginated-response.e2e-spec.js.map +1 -0
  64. package/test/for-feature/cache-scoped-invalidation.e2e-spec.js +34 -0
  65. package/test/for-feature/cache-scoped-invalidation.e2e-spec.js.map +1 -1
  66. package/test/for-feature/custom-route-auth-ability-predicate.e2e-spec.d.ts +1 -0
  67. package/test/for-feature/custom-route-auth-ability-predicate.e2e-spec.js +108 -0
  68. package/test/for-feature/custom-route-auth-ability-predicate.e2e-spec.js.map +1 -0
  69. package/test/for-feature/derived-fields-raw-write-recompute.e2e-spec.js +24 -0
  70. package/test/for-feature/derived-fields-raw-write-recompute.e2e-spec.js.map +1 -1
  71. package/test/for-feature/index-sync.e2e-spec.js +42 -0
  72. package/test/for-feature/index-sync.e2e-spec.js.map +1 -1
  73. package/test/for-feature/paging-query-helper.e2e-spec.d.ts +1 -0
  74. package/test/for-feature/paging-query-helper.e2e-spec.js +92 -0
  75. package/test/for-feature/paging-query-helper.e2e-spec.js.map +1 -0
  76. package/test/for-root/auth-api-update-account-derived-field.e2e-spec.d.ts +1 -0
  77. package/test/for-root/auth-api-update-account-derived-field.e2e-spec.js +71 -0
  78. package/test/for-root/auth-api-update-account-derived-field.e2e-spec.js.map +1 -0
  79. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,71 @@
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
+ require("dotenv/config");
17
+ const shared_1 = require("../shared");
18
+ describe('DynamicApiModule forRoot - PATCH /auth/account recomputes @DerivedField (e2e)', () => {
19
+ beforeEach(() => {
20
+ src_1.DynamicApiModule.state['resetState']();
21
+ });
22
+ afterEach(async () => {
23
+ await (0, e2e_setup_1.closeTestingApp)(mongoose_2.default.connections);
24
+ });
25
+ let DerivedAccountUserEntity = class DerivedAccountUserEntity extends src_1.BaseEntity {
26
+ };
27
+ __decorate([
28
+ (0, mongoose_1.Prop)({ type: String, required: true }),
29
+ __metadata("design:type", String)
30
+ ], DerivedAccountUserEntity.prototype, "email", void 0);
31
+ __decorate([
32
+ (0, mongoose_1.Prop)({ type: String, required: true }),
33
+ __metadata("design:type", String)
34
+ ], DerivedAccountUserEntity.prototype, "password", void 0);
35
+ __decorate([
36
+ (0, mongoose_1.Prop)({ type: String }),
37
+ __metadata("design:type", String)
38
+ ], DerivedAccountUserEntity.prototype, "firstName", void 0);
39
+ __decorate([
40
+ (0, mongoose_1.Prop)({ type: String }),
41
+ __metadata("design:type", String)
42
+ ], DerivedAccountUserEntity.prototype, "lastName", void 0);
43
+ __decorate([
44
+ (0, mongoose_1.Prop)({ type: String }),
45
+ (0, src_1.DerivedField)((e) => `${e.firstName ?? ''} ${e.lastName ?? ''}`.trim()),
46
+ __metadata("design:type", String)
47
+ ], DerivedAccountUserEntity.prototype, "fullName", void 0);
48
+ DerivedAccountUserEntity = __decorate([
49
+ (0, mongoose_1.Schema)({ collection: 'derived_account_users' })
50
+ ], DerivedAccountUserEntity);
51
+ it('recomputes fullName after a PATCH /auth/account changes lastName', async () => {
52
+ await (0, shared_1.initModule)({
53
+ useAuth: {
54
+ userEntity: DerivedAccountUserEntity,
55
+ login: { loginField: 'email', passwordField: 'password', additionalFields: ['fullName'] },
56
+ },
57
+ });
58
+ const { body: registerBody } = await e2e_setup_1.server.post('/auth/register', {
59
+ email: 'derived-account@test.co',
60
+ password: 'password123',
61
+ });
62
+ const accessToken = registerBody.accessToken;
63
+ const first = await e2e_setup_1.server.patch('/auth/account', { firstName: 'Jane', lastName: 'Doe' }, { authToken: accessToken });
64
+ expect(first.status).toBe(200);
65
+ expect(first.body.fullName).toBe('Jane Doe');
66
+ const second = await e2e_setup_1.server.patch('/auth/account', { lastName: 'Smith' }, { authToken: accessToken });
67
+ expect(second.status).toBe(200);
68
+ expect(second.body.fullName).toBe('Jane Smith');
69
+ });
70
+ });
71
+ //# sourceMappingURL=auth-api-update-account-derived-field.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-api-update-account-derived-field.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-root/auth-api-update-account-derived-field.e2e-spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAAgD;AAChD,uCAAgC;AAChC,mCAAuE;AACvE,4CAAuD;AACvD,yBAAuB;AACvB,sCAAuC;AAavC,QAAQ,CAAC,+EAA+E,EAAE,GAAG,EAAE;IAE7F,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;IAGH,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,gBAAU;KAgBhD,CAAA;IAdC;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACzB;IAGd;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACtB;IAGjB;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+DACJ;IAGnB;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8DACL;IAIlB;QAFC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACtB,IAAA,kBAAY,EAA2B,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;;8DAC/E;IAfd,wBAAwB;QAD7B,IAAA,iBAAM,EAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,CAAC;OAC1C,wBAAwB,CAgB7B;IAED,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,IAAA,mBAAU,EAAC;YACf,OAAO,EAAE;gBACP,UAAU,EAAE,wBAAwB;gBACpC,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,UAAU,CAAC,EAAE;aAC1F;SACF,CAAC,CAAC;QAEH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,kBAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACjE,KAAK,EAAE,yBAAyB;YAChC,QAAQ,EAAE,aAAa;SACxB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,YAAY,CAAC,WAAqB,CAAC;QAGvD,MAAM,KAAK,GAAG,MAAM,kBAAM,CAAC,KAAK,CAC9B,eAAe,EACf,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EACtC,EAAE,SAAS,EAAE,WAAW,EAAE,CAC3B,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAI7C,MAAM,MAAM,GAAG,MAAM,kBAAM,CAAC,KAAK,CAC/B,eAAe,EACf,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,EAAE,SAAS,EAAE,WAAW,EAAE,CAC3B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}