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.
- package/CHANGELOG.md +21 -0
- package/package.json +1 -1
- package/src/builders/route-decorators/paginated-response.builder.d.ts +3 -0
- package/src/builders/route-decorators/paginated-response.builder.js +35 -0
- package/src/builders/route-decorators/paginated-response.builder.js.map +1 -0
- package/src/builders/route-decorators/route-decorators.builder.d.ts +1 -1
- package/src/builders/route-decorators/route-decorators.builder.js +9 -2
- package/src/builders/route-decorators/route-decorators.builder.js.map +1 -1
- package/src/dtos/index.d.ts +1 -0
- package/src/dtos/index.js +1 -0
- package/src/dtos/index.js.map +1 -1
- package/src/dtos/paging.query.d.ts +4 -0
- package/src/dtos/paging.query.js +35 -0
- package/src/dtos/paging.query.js.map +1 -0
- package/src/guards/base-policies.guard.d.ts +3 -1
- package/src/guards/base-policies.guard.js +11 -1
- package/src/guards/base-policies.guard.js.map +1 -1
- package/src/helpers/index.d.ts +3 -0
- package/src/helpers/index.js +3 -0
- package/src/helpers/index.js.map +1 -1
- package/src/helpers/paging-params.helper.d.ts +13 -0
- package/src/helpers/paging-params.helper.js +14 -0
- package/src/helpers/paging-params.helper.js.map +1 -0
- package/src/helpers/paging-presenter-warning.helper.d.ts +3 -0
- package/src/helpers/paging-presenter-warning.helper.js +16 -0
- package/src/helpers/paging-presenter-warning.helper.js.map +1 -0
- package/src/helpers/pipeline-paging.helper.d.ts +3 -0
- package/src/helpers/pipeline-paging.helper.js +13 -0
- package/src/helpers/pipeline-paging.helper.js.map +1 -0
- package/src/interfaces/dynamic-api-custom-route.interface.d.ts +4 -1
- package/src/mixins/policies-guard.mixin.d.ts +2 -0
- package/src/mixins/policies-guard.mixin.js +4 -2
- package/src/mixins/policies-guard.mixin.js.map +1 -1
- package/src/modules/auth/services/base-auth.service.js +1 -1
- package/src/modules/auth/services/base-auth.service.js.map +1 -1
- package/src/routes/aggregate/aggregate-controller.mixin.js +1 -0
- package/src/routes/aggregate/aggregate-controller.mixin.js.map +1 -1
- package/src/routes/aggregate/aggregate-gateway.mixin.js +3 -1
- package/src/routes/aggregate/aggregate-gateway.mixin.js.map +1 -1
- package/src/routes/aggregate/base-aggregate.service.d.ts +0 -1
- package/src/routes/aggregate/base-aggregate.service.js +3 -11
- package/src/routes/aggregate/base-aggregate.service.js.map +1 -1
- package/src/routes/custom/create-custom-route-controller.js +6 -3
- package/src/routes/custom/create-custom-route-controller.js.map +1 -1
- package/src/routes/custom/create-custom-route-gateway.js +6 -3
- package/src/routes/custom/create-custom-route-gateway.js.map +1 -1
- package/src/routes/custom/custom-route-callback.service.d.ts +7 -0
- package/src/routes/custom/custom-route-callback.service.js +11 -0
- package/src/routes/custom/custom-route-callback.service.js.map +1 -0
- package/src/services/base/base.service.d.ts +1 -0
- package/src/services/base/base.service.js +9 -0
- package/src/services/base/base.service.js.map +1 -1
- package/src/services/dynamic-api-cache/dynamic-api-cache.service.js.map +1 -1
- package/src/version.json +1 -1
- package/test/for-feature/aggregate-ability-predicate-paging.e2e-spec.d.ts +1 -0
- package/test/for-feature/aggregate-ability-predicate-paging.e2e-spec.js +157 -0
- package/test/for-feature/aggregate-ability-predicate-paging.e2e-spec.js.map +1 -0
- package/test/for-feature/aggregate-paging-without-from-aggregate.e2e-spec.d.ts +1 -0
- package/test/for-feature/aggregate-paging-without-from-aggregate.e2e-spec.js +68 -0
- package/test/for-feature/aggregate-paging-without-from-aggregate.e2e-spec.js.map +1 -0
- package/test/for-feature/aggregate-swagger-paginated-response.e2e-spec.d.ts +1 -0
- package/test/for-feature/aggregate-swagger-paginated-response.e2e-spec.js +98 -0
- package/test/for-feature/aggregate-swagger-paginated-response.e2e-spec.js.map +1 -0
- package/test/for-feature/cache-scoped-invalidation.e2e-spec.js +34 -0
- package/test/for-feature/cache-scoped-invalidation.e2e-spec.js.map +1 -1
- package/test/for-feature/custom-route-auth-ability-predicate.e2e-spec.d.ts +1 -0
- package/test/for-feature/custom-route-auth-ability-predicate.e2e-spec.js +108 -0
- package/test/for-feature/custom-route-auth-ability-predicate.e2e-spec.js.map +1 -0
- package/test/for-feature/derived-fields-raw-write-recompute.e2e-spec.js +24 -0
- package/test/for-feature/derived-fields-raw-write-recompute.e2e-spec.js.map +1 -1
- package/test/for-feature/index-sync.e2e-spec.js +42 -0
- package/test/for-feature/index-sync.e2e-spec.js.map +1 -1
- package/test/for-feature/paging-query-helper.e2e-spec.d.ts +1 -0
- package/test/for-feature/paging-query-helper.e2e-spec.js +92 -0
- package/test/for-feature/paging-query-helper.e2e-spec.js.map +1 -0
- package/test/for-root/auth-api-update-account-derived-field.e2e-spec.d.ts +1 -0
- package/test/for-root/auth-api-update-account-derived-field.e2e-spec.js +71 -0
- package/test/for-root/auth-api-update-account-derived-field.e2e-spec.js.map +1 -0
- 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"}
|