mongodb-dynamic-api 2.10.0 → 2.11.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.
- package/CHANGELOG.md +9 -0
- package/package.json +1 -1
- package/src/gateways/base.gateway.js +2 -2
- package/src/gateways/base.gateway.js.map +1 -1
- package/src/guards/base-policies.guard.d.ts +13 -1
- package/src/guards/base-policies.guard.js +52 -2
- package/src/guards/base-policies.guard.js.map +1 -1
- package/src/guards/index.d.ts +1 -0
- package/src/guards/index.js +1 -0
- package/src/guards/index.js.map +1 -1
- package/src/guards/jwt-socket.guard.d.ts +11 -0
- package/src/guards/jwt-socket.guard.js +70 -0
- package/src/guards/jwt-socket.guard.js.map +1 -0
- package/src/helpers/format.helper.d.ts +1 -1
- package/src/helpers/format.helper.js +1 -1
- package/src/helpers/format.helper.js.map +1 -1
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/logger/index.d.ts +1 -0
- package/src/logger/index.js +18 -0
- package/src/logger/index.js.map +1 -0
- package/src/logger/mongo-dynamic-api.logger.d.ts +10 -0
- package/src/logger/mongo-dynamic-api.logger.js +44 -0
- package/src/logger/mongo-dynamic-api.logger.js.map +1 -0
- package/src/mixins/index.d.ts +1 -1
- package/src/mixins/index.js +1 -1
- package/src/mixins/index.js.map +1 -1
- package/src/mixins/policies-guard.mixin.d.ts +7 -0
- package/src/mixins/{create-policies-guard.mixin.js → policies-guard.mixin.js} +28 -4
- package/src/mixins/policies-guard.mixin.js.map +1 -0
- package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js +2 -1
- package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js.map +1 -1
- package/src/modules/auth/mixins/auth-policies-guard.mixin.js +2 -2
- package/src/modules/auth/mixins/auth-policies-guard.mixin.js.map +1 -1
- package/src/modules/auth/services/base-auth.service.js +2 -1
- package/src/modules/auth/services/base-auth.service.js.map +1 -1
- package/src/routes/aggregate/aggregate-controller.mixin.js +3 -2
- package/src/routes/aggregate/aggregate-controller.mixin.js.map +1 -1
- package/src/routes/aggregate/aggregate-gateway.mixin.js +9 -8
- package/src/routes/aggregate/aggregate-gateway.mixin.js.map +1 -1
- package/src/routes/create-many/create-many-controller.mixin.js +1 -1
- package/src/routes/create-many/create-many-controller.mixin.js.map +1 -1
- package/src/routes/create-many/create-many-gateway.mixin.js +7 -3
- package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
- package/src/routes/create-one/create-one-controller.mixin.js +1 -1
- package/src/routes/create-one/create-one-controller.mixin.js.map +1 -1
- package/src/routes/create-one/create-one-gateway.mixin.js +6 -3
- package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
- package/src/routes/delete-many/delete-many-controller.mixin.js +1 -1
- package/src/routes/delete-many/delete-many-controller.mixin.js.map +1 -1
- package/src/routes/delete-many/delete-many-gateway.mixin.js +7 -3
- package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -1
- package/src/routes/delete-one/delete-one-controller.mixin.js +1 -1
- package/src/routes/delete-one/delete-one-controller.mixin.js.map +1 -1
- package/src/routes/delete-one/delete-one-gateway.mixin.js +7 -3
- package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +1 -1
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +6 -3
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +1 -1
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +6 -3
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -1
- package/src/routes/get-many/get-many-controller.mixin.js +1 -1
- package/src/routes/get-many/get-many-controller.mixin.js.map +1 -1
- package/src/routes/get-many/get-many-gateway.mixin.js +6 -3
- package/src/routes/get-many/get-many-gateway.mixin.js.map +1 -1
- package/src/routes/get-one/get-one-controller.mixin.js +1 -1
- package/src/routes/get-one/get-one-controller.mixin.js.map +1 -1
- package/src/routes/get-one/get-one-gateway.mixin.js +6 -3
- package/src/routes/get-one/get-one-gateway.mixin.js.map +1 -1
- package/src/routes/replace-one/replace-one-controller.mixin.js +1 -1
- package/src/routes/replace-one/replace-one-controller.mixin.js.map +1 -1
- package/src/routes/replace-one/replace-one-gateway.mixin.js +6 -3
- package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -1
- package/src/routes/update-many/update-many-controller.mixin.js +1 -1
- package/src/routes/update-many/update-many-controller.mixin.js.map +1 -1
- package/src/routes/update-many/update-many-gateway.mixin.js +6 -3
- package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
- package/src/routes/update-one/update-one-controller.mixin.js +1 -1
- package/src/routes/update-one/update-one-controller.mixin.js.map +1 -1
- package/src/routes/update-one/update-one-gateway.mixin.js +6 -3
- package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -1
- package/src/services/base/base.service.d.ts +1 -0
- package/src/services/base/base.service.js +22 -0
- package/src/services/base/base.service.js.map +1 -1
- package/src/version.json +1 -1
- package/test/dynamic-api-for-feature.e2e-spec.js +1 -27
- package/test/dynamic-api-for-feature.e2e-spec.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/src/mixins/create-policies-guard.mixin.d.ts +0 -6
- package/src/mixins/create-policies-guard.mixin.js.map +0 -1
|
@@ -37,7 +37,7 @@ function GetManyControllerMixin(entity, controllerOptions, { dTOs, ...routeConfi
|
|
|
37
37
|
const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder(routeType, entity, routeConfig.subPath, version, description, isPublic, {
|
|
38
38
|
presenter: GetManyPresenter,
|
|
39
39
|
});
|
|
40
|
-
class GetManyPoliciesGuard extends (0, mixins_1.
|
|
40
|
+
class GetManyPoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
|
|
41
41
|
}
|
|
42
42
|
Object.defineProperty(GetManyPoliciesGuard, 'name', {
|
|
43
43
|
value: `${routeType}${displayedName}${(0, helpers_1.addVersionSuffix)(version)}PoliciesGuard`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/get-many/get-many-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,6CAAwD;AACxD,qCAAyC;AACzC,2CAAmG;AAEnG,
|
|
1
|
+
{"version":3,"file":"get-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/get-many/get-many-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,6CAAwD;AACxD,qCAAyC;AACzC,2CAAmG;AAEnG,yCAA6E;AAK7E,SAAS,sBAAsB,CAC7B,MAAoB,EACpB,iBAAsD,EACtD,EAAE,IAAI,EAAE,GAAG,WAAW,EAAiC,EACvD,OAAgB;IAEhB,MAAM,EACJ,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACR,gBAAgB,GACjB,GAAG,IAAA,sBAAY,EACd,MAAM,EACN,iBAAiB,EACjB,WAAW,CACZ,CAAC;IAEF,MAAM,YAAa,SAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,kBAAW,CAAC;KAAG;IAE1D,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE;QAC1C,KAAK,EAAE,UAAU,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,OAAO;QACjE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,gBAAiB,SAAQ,CAC7B,IAAI,EAAE,SAAS,IAAI,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAChD;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE;QAC9C,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,UAAU,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,WAAW;YAChE,CAAC,CAAC,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,WAAW;QAC3D,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,IAAI,iCAAsB,CACvD,SAAS,EACT,MAAM,EACN,WAAW,CAAC,OAAO,EACnB,OAAO,EACP,WAAW,EACX,QAAQ,EACR;QACE,SAAS,EAAE,gBAAgB;KAC5B,CACF,CAAC;IAEF,MAAM,oBAAqB,SAAQ,IAAA,gCAAuB,EACxD,MAAM,EACN,SAAS,EACT,aAAa,EACb,OAAO,EACP,gBAAgB,CACjB;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE;QAClD,KAAK,EAAE,GAAG,SAAS,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,eAAe;QAC9E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,qBAAqB;QAGzB,YAA+B,OAA+B;YAA/B,YAAO,GAAP,OAAO,CAAwB;YAF3C,WAAM,GAAG,MAAM,CAAC;QAGnC,CAAC;QAIK,AAAN,KAAK,CAAC,OAAO,CAAU,KAAmB;YACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAErD,MAAM,YAAY,GAChB,gBACD,CAAC,YAAY,CAAC;YAEf,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAmB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,CAAC;KACF;IATO;QAFL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,oBAAoB,CAAC;QACjB,WAAA,IAAA,cAAK,GAAE,CAAA;;yCAAQ,YAAY;;wDAQzC;IAGH,MAAM,CAAC,cAAc,CAAC,qBAAqB,EAAE,MAAM,EAAE;QACnD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;QAC5E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAEQ,wDAAsB"}
|
|
@@ -18,10 +18,11 @@ const websockets_1 = require("@nestjs/websockets");
|
|
|
18
18
|
const dtos_1 = require("../../dtos");
|
|
19
19
|
const filters_1 = require("../../filters");
|
|
20
20
|
const gateways_1 = require("../../gateways");
|
|
21
|
+
const guards_1 = require("../../guards");
|
|
21
22
|
const helpers_1 = require("../../helpers");
|
|
22
23
|
const mixins_1 = require("../../mixins");
|
|
23
24
|
function GetManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
|
|
24
|
-
const { routeType, displayedName, isPublic, event, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
|
|
25
|
+
const { routeType, displayedName, isPublic, event, abilityPredicate, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
|
|
25
26
|
class GetManyData extends (dTOs?.query ?? dtos_1.EntityQuery) {
|
|
26
27
|
}
|
|
27
28
|
Object.defineProperty(GetManyData, 'name', {
|
|
@@ -36,6 +37,8 @@ function GetManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }
|
|
|
36
37
|
: `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Response`,
|
|
37
38
|
writable: false,
|
|
38
39
|
});
|
|
40
|
+
class GetManyPoliciesGuard extends (0, mixins_1.SocketPoliciesGuardMixin)(entity, routeType, event, version, abilityPredicate, isPublic) {
|
|
41
|
+
}
|
|
39
42
|
class BaseGetManyGateway extends gateways_1.BaseGateway {
|
|
40
43
|
constructor(service, jwtService) {
|
|
41
44
|
super(jwtService);
|
|
@@ -43,8 +46,7 @@ function GetManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }
|
|
|
43
46
|
this.jwtService = jwtService;
|
|
44
47
|
this.entity = entity;
|
|
45
48
|
}
|
|
46
|
-
async getMany(
|
|
47
|
-
this.addUserToSocket(socket, isPublic);
|
|
49
|
+
async getMany(_socket, body) {
|
|
48
50
|
const list = await this.service.getMany(body);
|
|
49
51
|
const fromEntities = GetManyResponse.fromEntities;
|
|
50
52
|
return {
|
|
@@ -55,6 +57,7 @@ function GetManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }
|
|
|
55
57
|
}
|
|
56
58
|
__decorate([
|
|
57
59
|
(0, common_1.UseFilters)(new filters_1.DynamicAPIWsExceptionFilter()),
|
|
60
|
+
(0, common_1.UseGuards)(new guards_1.JwtSocketGuard(isPublic), GetManyPoliciesGuard),
|
|
58
61
|
(0, websockets_1.SubscribeMessage)(event),
|
|
59
62
|
__param(0, (0, websockets_1.ConnectedSocket)()),
|
|
60
63
|
__param(1, (0, websockets_1.MessageBody)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-many-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/get-many/get-many-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"get-many-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/get-many/get-many-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6D;AAE7D,mDAAoF;AACpF,qCAAyC;AACzC,2CAA4D;AAC5D,6CAA6C;AAC7C,yCAA8C;AAC9C,2CAA4E;AAE5E,yCAA8E;AAK9E,SAAS,mBAAmB,CAC1B,MAAoB,EACpB,iBAAsD,EACtD,EAAE,IAAI,EAAE,GAAG,WAAW,EAAiC,EACvD,OAAgB;IAEhB,MAAM,EACJ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,KAAK,EACL,gBAAgB,GACjB,GAAG,IAAA,sBAAY,EACd,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,IAAI,CACL,CAAC;IAEF,MAAM,WAAY,SAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,kBAAW,CAAC;KAAG;IAEzD,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE;QACzC,KAAK,EAAE,UAAU,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,MAAM;QAChE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,eAAgB,SAAQ,CAC5B,IAAI,EAAE,SAAS,IAAI,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAChD;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE;QAC7C,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,UAAU,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;YAC/D,CAAC,CAAC,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;QAC1D,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,oBAAqB,SAAQ,IAAA,iCAAwB,EACzD,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,QAAQ,CACT;KAAG;IAEJ,MAAM,kBAAmB,SAAQ,sBAAmB;QAGlD,YACqB,OAA+B,EAC/B,UAAsB;YAEzC,KAAK,CAAC,UAAU,CAAC,CAAC;YAHC,YAAO,GAAP,OAAO,CAAwB;YAC/B,eAAU,GAAV,UAAU,CAAY;YAJxB,WAAM,GAAG,MAAM,CAAC;QAOnC,CAAC;QAIK,AAAN,KAAK,CAAC,OAAO,CACQ,OAA+B,EACnC,IAAiB;YAEhC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE9C,MAAM,YAAY,GAChB,eACD,CAAC,YAAY,CAAC;YAEf,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAkB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;aAChE,CAAC;QACJ,CAAC;KACF;IAfO;QAHL,IAAA,mBAAU,EAAC,IAAI,qCAA2B,EAAE,CAAC;QAC7C,IAAA,kBAAS,EAAC,IAAI,uBAAc,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;QAC7D,IAAA,6BAAgB,EAAC,KAAK,CAAC;QAErB,WAAA,IAAA,4BAAe,GAAE,CAAA;QACjB,WAAA,IAAA,wBAAW,GAAE,CAAA;;iDAAO,WAAW;;qDAYjC;IAGH,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAChD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;QACzE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAEQ,kDAAmB"}
|
|
@@ -32,7 +32,7 @@ function GetOneControllerMixin(entity, controllerOptions, { dTOs, ...routeConfig
|
|
|
32
32
|
param: dtos_1.EntityParam,
|
|
33
33
|
presenter: GetOnePresenter,
|
|
34
34
|
});
|
|
35
|
-
class GetOnePoliciesGuard extends (0, mixins_1.
|
|
35
|
+
class GetOnePoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
|
|
36
36
|
}
|
|
37
37
|
class BaseGetOneController {
|
|
38
38
|
constructor(service) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/get-one/get-one-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,6CAAwD;AACxD,qCAAyC;AACzC,2CAAmG;AAEnG,
|
|
1
|
+
{"version":3,"file":"get-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/get-one/get-one-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,6CAAwD;AACxD,qCAAyC;AACzC,2CAAmG;AAEnG,yCAA6E;AAK7E,SAAS,qBAAqB,CAC5B,MAAoB,EACpB,iBAAsD,EACtD,EAAE,IAAI,EAAE,GAAG,WAAW,EAAiC,EACvD,OAAgB;IAEhB,MAAM,EACJ,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACR,gBAAgB,GACjB,GAAG,IAAA,sBAAY,EACd,MAAM,EACN,iBAAiB,EACjB,WAAW,CACZ,CAAC;IAEF,MAAM,eAAgB,SAAQ,CAC5B,IAAI,EAAE,SAAS,IAAI,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAChD;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE;QAC7C,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,SAAS,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,WAAW;YAC/D,CAAC,CAAC,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,WAAW;QAC3D,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,IAAI,iCAAsB,CACvD,SAAS,EACT,MAAM,EACN,WAAW,CAAC,OAAO,EACnB,OAAO,EACP,WAAW,EACX,QAAQ,EACR;QACE,KAAK,EAAE,kBAAW;QAClB,SAAS,EAAE,eAAe;KAC3B,CACF,CAAC;IAEF,MAAM,mBAAoB,SAAQ,IAAA,gCAAuB,EACvD,MAAM,EACN,SAAS,EACT,aAAa,EACb,OAAO,EACP,gBAAgB,CACjB;KAAG;IAEJ,MAAM,oBAAoB;QAGxB,YAA+B,OAA8B;YAA9B,YAAO,GAAP,OAAO,CAAuB;YAF1C,WAAM,GAAG,MAAM,CAAC;QAGnC,CAAC;QAIK,AAAN,KAAK,CAAC,MAAM,CAAc,EAAU;YAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAE7C,MAAM,UAAU,GACd,eACD,CAAC,UAAU,CAAC;YAEb,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAkB,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACnE,CAAC;KACF;IATO;QAFL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,mBAAmB,CAAC;QACjB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;sDAQxB;IAGH,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE;QAClD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;QAC3E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAEQ,sDAAqB"}
|
|
@@ -18,10 +18,11 @@ const websockets_1 = require("@nestjs/websockets");
|
|
|
18
18
|
const dtos_1 = require("../../dtos");
|
|
19
19
|
const filters_1 = require("../../filters");
|
|
20
20
|
const gateways_1 = require("../../gateways");
|
|
21
|
+
const guards_1 = require("../../guards");
|
|
21
22
|
const helpers_1 = require("../../helpers");
|
|
22
23
|
const mixins_1 = require("../../mixins");
|
|
23
24
|
function GetOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
|
|
24
|
-
const { routeType, displayedName, isPublic, event, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
|
|
25
|
+
const { routeType, displayedName, isPublic, event, abilityPredicate, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
|
|
25
26
|
class GetOneResponse extends (dTOs?.presenter ?? (0, mixins_1.EntityPresenterMixin)(entity)) {
|
|
26
27
|
}
|
|
27
28
|
Object.defineProperty(GetOneResponse, 'name', {
|
|
@@ -30,6 +31,8 @@ function GetOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig },
|
|
|
30
31
|
: `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Response`,
|
|
31
32
|
writable: false,
|
|
32
33
|
});
|
|
34
|
+
class GetOnePoliciesGuard extends (0, mixins_1.SocketPoliciesGuardMixin)(entity, routeType, event, version, abilityPredicate, isPublic) {
|
|
35
|
+
}
|
|
33
36
|
class BaseGetOneGateway extends gateways_1.BaseGateway {
|
|
34
37
|
constructor(service, jwtService) {
|
|
35
38
|
super(jwtService);
|
|
@@ -37,11 +40,10 @@ function GetOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig },
|
|
|
37
40
|
this.jwtService = jwtService;
|
|
38
41
|
this.entity = entity;
|
|
39
42
|
}
|
|
40
|
-
async getOne(
|
|
43
|
+
async getOne(_socket, body) {
|
|
41
44
|
if (!body?.id) {
|
|
42
45
|
throw new websockets_1.WsException('Invalid request body');
|
|
43
46
|
}
|
|
44
|
-
this.addUserToSocket(socket, isPublic);
|
|
45
47
|
const entity = await this.service.getOne(body.id);
|
|
46
48
|
const fromEntity = GetOneResponse.fromEntity;
|
|
47
49
|
return {
|
|
@@ -52,6 +54,7 @@ function GetOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig },
|
|
|
52
54
|
}
|
|
53
55
|
__decorate([
|
|
54
56
|
(0, common_1.UseFilters)(new filters_1.DynamicAPIWsExceptionFilter()),
|
|
57
|
+
(0, common_1.UseGuards)(new guards_1.JwtSocketGuard(isPublic), GetOnePoliciesGuard),
|
|
55
58
|
(0, websockets_1.SubscribeMessage)(event),
|
|
56
59
|
__param(0, (0, websockets_1.ConnectedSocket)()),
|
|
57
60
|
__param(1, (0, websockets_1.MessageBody)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/get-one/get-one-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"get-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/get-one/get-one-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6D;AAE7D,mDAAiG;AACjG,qCAAyC;AACzC,2CAA4D;AAC5D,6CAA6C;AAC7C,yCAA8C;AAC9C,2CAA4E;AAE5E,yCAA8E;AAK9E,SAAS,kBAAkB,CACzB,MAAoB,EACpB,iBAAsD,EACtD,EAAE,IAAI,EAAE,GAAG,WAAW,EAAiC,EACvD,OAAgB;IAEhB,MAAM,EACJ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,KAAK,EACL,gBAAgB,GACjB,GAAG,IAAA,sBAAY,EACd,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,IAAI,CACL,CAAC;IAEF,MAAM,cAAe,SAAQ,CAC3B,IAAI,EAAE,SAAS,IAAI,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAChD;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE;QAC5C,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,SAAS,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;YAC9D,CAAC,CAAC,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;QAC1D,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,mBAAoB,SAAQ,IAAA,iCAAwB,EACxD,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,QAAQ,CACT;KAAG;IAEJ,MAAM,iBAAkB,SAAQ,sBAAmB;QAGjD,YACqB,OAA8B,EAC9B,UAAsB;YAEzC,KAAK,CAAC,UAAU,CAAC,CAAC;YAHC,YAAO,GAAP,OAAO,CAAuB;YAC9B,eAAU,GAAV,UAAU,CAAY;YAJxB,WAAM,GAAG,MAAM,CAAC;QAOnC,CAAC;QAKK,AAAN,KAAK,CAAC,MAAM,CACS,OAA+B,EACnC,IAAiB;YAEhC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;gBACd,MAAM,IAAI,wBAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAElD,MAAM,UAAU,GACd,cACD,CAAC,UAAU,CAAC;YAEb,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAiB,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;aAC/D,CAAC;QACJ,CAAC;KACF;IAnBO;QAHL,IAAA,mBAAU,EAAC,IAAI,qCAA2B,EAAE,CAAC;QAC7C,IAAA,kBAAS,EAAC,IAAI,uBAAc,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;QAC5D,IAAA,6BAAgB,EAAC,KAAK,CAAC;QAErB,WAAA,IAAA,4BAAe,GAAE,CAAA;QACjB,WAAA,IAAA,wBAAW,GAAE,CAAA;;iDAAO,kBAAW;;mDAgBjC;IAGH,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE;QAC/C,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;QACzE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAEQ,gDAAkB"}
|
|
@@ -39,7 +39,7 @@ function ReplaceOneControllerMixin(entity, controllerOptions, { dTOs, ...routeCo
|
|
|
39
39
|
body: ReplaceOneBody,
|
|
40
40
|
presenter: ReplaceOnePresenter,
|
|
41
41
|
});
|
|
42
|
-
class ReplaceOnePoliciesGuard extends (0, mixins_1.
|
|
42
|
+
class ReplaceOnePoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
|
|
43
43
|
}
|
|
44
44
|
class BaseReplaceOneController {
|
|
45
45
|
constructor(service) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/replace-one/replace-one-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,6CAAwD;AACxD,qCAAyC;AACzC,2CAAmG;AAEnG,
|
|
1
|
+
{"version":3,"file":"replace-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/replace-one/replace-one-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,6CAAwD;AACxD,qCAAyC;AACzC,2CAAmG;AAEnG,yCAA8F;AAK9F,SAAS,yBAAyB,CAChC,MAAoB,EACpB,iBAAsD,EACtD,EAAE,IAAI,EAAE,GAAG,WAAW,EAAiC,EACvD,OAAgB;IAEhB,MAAM,EACJ,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACR,gBAAgB,GACjB,GAAG,IAAA,sBAAY,EACd,MAAM,EACN,iBAAiB,EACjB,WAAW,CACZ,CAAC;IAEF,MAAM,cAAe,SAAQ,CAC3B,IAAI,EAAE,IAAI,IAAI,IAAA,wBAAe,EAAC,MAAM,CAAC,CACtC;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE;QAC5C,KAAK,EAAE,aAAa,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,KAAK;QAClE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,mBAAoB,SAAQ,CAChC,IAAI,EAAE,SAAS,IAAI,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAChD;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE;QACjD,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,aAAa,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,WAAW;YACnE,CAAC,CAAC,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,WAAW;QAC3D,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,IAAI,iCAAsB,CACvD,SAAS,EACT,MAAM,EACN,WAAW,CAAC,OAAO,EACnB,OAAO,EACP,WAAW,EACX,QAAQ,EACR;QACE,KAAK,EAAE,kBAAW;QAClB,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,mBAAmB;KAC/B,CACF,CAAC;IAEF,MAAM,uBAAwB,SAAQ,IAAA,gCAAuB,EAC3D,MAAM,EACN,SAAS,EACT,aAAa,EACb,OAAO,EACP,gBAAgB,CACjB;KAAG;IAEJ,MAAM,wBAAwB;QAG5B,YAA+B,OAAkC;YAAlC,YAAO,GAAP,OAAO,CAA2B;YAF9C,WAAM,GAAG,MAAM,CAAC;QAGnC,CAAC;QAIK,AAAN,KAAK,CAAC,UAAU,CAAc,EAAU,EAAU,IAAoB;YACpE,MAAM,QAAQ,GACZ,cACD,CAAC,QAAQ,CAAC;YAEX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAuB,CAAC,CAAC;YAEtG,MAAM,UAAU,GACd,mBACD,CAAC,UAAU,CAAC;YAEb,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAsB,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACvE,CAAC;KACF;IAbO;QAFL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,uBAAuB,CAAC;QACjB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;QAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;iDAAO,cAAc;;8DAYrE;IAGH,MAAM,CAAC,cAAc,CAAC,wBAAwB,EAAE,MAAM,EAAE;QACtD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;QAC/E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAEQ,8DAAyB"}
|
|
@@ -17,10 +17,11 @@ const common_1 = require("@nestjs/common");
|
|
|
17
17
|
const websockets_1 = require("@nestjs/websockets");
|
|
18
18
|
const filters_1 = require("../../filters");
|
|
19
19
|
const gateways_1 = require("../../gateways");
|
|
20
|
+
const guards_1 = require("../../guards");
|
|
20
21
|
const helpers_1 = require("../../helpers");
|
|
21
22
|
const mixins_1 = require("../../mixins");
|
|
22
23
|
function ReplaceOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
|
|
23
|
-
const { routeType, displayedName, isPublic, event, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
|
|
24
|
+
const { routeType, displayedName, isPublic, event, abilityPredicate, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
|
|
24
25
|
class ReplaceOneData extends (dTOs?.body ?? (0, mixins_1.EntityBodyMixin)(entity)) {
|
|
25
26
|
}
|
|
26
27
|
Object.defineProperty(ReplaceOneData, 'name', {
|
|
@@ -35,6 +36,8 @@ function ReplaceOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
|
|
|
35
36
|
: `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Response`,
|
|
36
37
|
writable: false,
|
|
37
38
|
});
|
|
39
|
+
class ReplaceOnePoliciesGuard extends (0, mixins_1.SocketPoliciesGuardMixin)(entity, routeType, event, version, abilityPredicate, isPublic) {
|
|
40
|
+
}
|
|
38
41
|
class BaseReplaceOneGateway extends gateways_1.BaseGateway {
|
|
39
42
|
constructor(service, jwtService) {
|
|
40
43
|
super(jwtService);
|
|
@@ -42,11 +45,10 @@ function ReplaceOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
|
|
|
42
45
|
this.jwtService = jwtService;
|
|
43
46
|
this.entity = entity;
|
|
44
47
|
}
|
|
45
|
-
async replaceOne(
|
|
48
|
+
async replaceOne(_socket, body) {
|
|
46
49
|
if (!body?.id || Object.keys(body).length === 1) {
|
|
47
50
|
throw new websockets_1.WsException('Invalid request body');
|
|
48
51
|
}
|
|
49
|
-
this.addUserToSocket(socket, isPublic);
|
|
50
52
|
const { id, ...data } = body;
|
|
51
53
|
const toEntity = ReplaceOneData.toEntity;
|
|
52
54
|
const entity = await this.service.replaceOne(id, toEntity ? toEntity(data) : data);
|
|
@@ -59,6 +61,7 @@ function ReplaceOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
|
|
|
59
61
|
}
|
|
60
62
|
__decorate([
|
|
61
63
|
(0, common_1.UseFilters)(new filters_1.DynamicAPIWsExceptionFilter()),
|
|
64
|
+
(0, common_1.UseGuards)(new guards_1.JwtSocketGuard(isPublic), ReplaceOnePoliciesGuard),
|
|
62
65
|
(0, websockets_1.SubscribeMessage)(event),
|
|
63
66
|
__param(0, (0, websockets_1.ConnectedSocket)()),
|
|
64
67
|
__param(1, (0, websockets_1.MessageBody)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/replace-one/replace-one-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"replace-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/replace-one/replace-one-gateway.mixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ function UpdateManyControllerMixin(entity, controllerOptions, { dTOs, ...routeCo
|
|
|
38
38
|
body: UpdateManyBody,
|
|
39
39
|
presenter: UpdateManyPresenter,
|
|
40
40
|
});
|
|
41
|
-
class UpdateManyPoliciesGuard extends (0, mixins_1.
|
|
41
|
+
class UpdateManyPoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
|
|
42
42
|
}
|
|
43
43
|
class BaseUpdateManyController {
|
|
44
44
|
constructor(service) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/update-many/update-many-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,mCAAiC;AACjC,6CAAwD;AACxD,2CAAmG;AAEnG,
|
|
1
|
+
{"version":3,"file":"update-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/update-many/update-many-controller.mixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,10 +18,11 @@ const websockets_1 = require("@nestjs/websockets");
|
|
|
18
18
|
const lodash_1 = require("lodash");
|
|
19
19
|
const filters_1 = require("../../filters");
|
|
20
20
|
const gateways_1 = require("../../gateways");
|
|
21
|
+
const guards_1 = require("../../guards");
|
|
21
22
|
const helpers_1 = require("../../helpers");
|
|
22
23
|
const mixins_1 = require("../../mixins");
|
|
23
24
|
function UpdateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
|
|
24
|
-
const { routeType, displayedName, isPublic, event, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
|
|
25
|
+
const { routeType, displayedName, isPublic, event, abilityPredicate, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
|
|
25
26
|
class UpdateManyData extends (dTOs?.body ?? (0, mixins_1.EntityBodyMixin)(entity, true)) {
|
|
26
27
|
}
|
|
27
28
|
Object.defineProperty(UpdateManyData, 'name', {
|
|
@@ -36,6 +37,8 @@ function UpdateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
|
|
|
36
37
|
: `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Response`,
|
|
37
38
|
writable: false,
|
|
38
39
|
});
|
|
40
|
+
class UpdateManyPoliciesGuard extends (0, mixins_1.SocketPoliciesGuardMixin)(entity, routeType, event, version, abilityPredicate, isPublic) {
|
|
41
|
+
}
|
|
39
42
|
class BaseUpdateManyGateway extends gateways_1.BaseGateway {
|
|
40
43
|
constructor(service, jwtService) {
|
|
41
44
|
super(jwtService);
|
|
@@ -43,11 +46,10 @@ function UpdateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
|
|
|
43
46
|
this.jwtService = jwtService;
|
|
44
47
|
this.entity = entity;
|
|
45
48
|
}
|
|
46
|
-
async updateMany(
|
|
49
|
+
async updateMany(_socket, body) {
|
|
47
50
|
if (!this.isValidManyBody(body)) {
|
|
48
51
|
throw new websockets_1.WsException('Invalid request body');
|
|
49
52
|
}
|
|
50
|
-
this.addUserToSocket(socket, isPublic);
|
|
51
53
|
const { ids, ...data } = body;
|
|
52
54
|
if ((0, lodash_1.isEmpty)(data)) {
|
|
53
55
|
throw new websockets_1.WsException('Invalid request body');
|
|
@@ -63,6 +65,7 @@ function UpdateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
|
|
|
63
65
|
}
|
|
64
66
|
__decorate([
|
|
65
67
|
(0, common_1.UseFilters)(new filters_1.DynamicAPIWsExceptionFilter()),
|
|
68
|
+
(0, common_1.UseGuards)(new guards_1.JwtSocketGuard(isPublic), UpdateManyPoliciesGuard),
|
|
66
69
|
(0, websockets_1.SubscribeMessage)(event),
|
|
67
70
|
__param(0, (0, websockets_1.ConnectedSocket)()),
|
|
68
71
|
__param(1, (0, websockets_1.MessageBody)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-many-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/update-many/update-many-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"update-many-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/update-many/update-many-gateway.mixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ function UpdateOneControllerMixin(entity, controllerOptions, { dTOs, ...routeCon
|
|
|
40
40
|
body: UpdateOneBody,
|
|
41
41
|
presenter: UpdateOnePresenter,
|
|
42
42
|
});
|
|
43
|
-
class UpdateOnePoliciesGuard extends (0, mixins_1.
|
|
43
|
+
class UpdateOnePoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
|
|
44
44
|
}
|
|
45
45
|
class BaseUpdateOneController {
|
|
46
46
|
constructor(service) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/update-one/update-one-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,mCAAiC;AACjC,6CAAwD;AACxD,qCAAyC;AACzC,2CAAmG;AAEnG,
|
|
1
|
+
{"version":3,"file":"update-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/update-one/update-one-controller.mixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,10 +17,11 @@ const common_1 = require("@nestjs/common");
|
|
|
17
17
|
const websockets_1 = require("@nestjs/websockets");
|
|
18
18
|
const filters_1 = require("../../filters");
|
|
19
19
|
const gateways_1 = require("../../gateways");
|
|
20
|
+
const guards_1 = require("../../guards");
|
|
20
21
|
const helpers_1 = require("../../helpers");
|
|
21
22
|
const mixins_1 = require("../../mixins");
|
|
22
23
|
function UpdateOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
|
|
23
|
-
const { routeType, displayedName, isPublic, event, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
|
|
24
|
+
const { routeType, displayedName, isPublic, event, abilityPredicate, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
|
|
24
25
|
class UpdateOneData extends (dTOs?.body ?? (0, mixins_1.EntityBodyMixin)(entity, true)) {
|
|
25
26
|
}
|
|
26
27
|
Object.defineProperty(UpdateOneData, 'name', {
|
|
@@ -35,6 +36,8 @@ function UpdateOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig
|
|
|
35
36
|
: `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Response`,
|
|
36
37
|
writable: false,
|
|
37
38
|
});
|
|
39
|
+
class UpdateOnePoliciesGuard extends (0, mixins_1.SocketPoliciesGuardMixin)(entity, routeType, event, version, abilityPredicate, isPublic) {
|
|
40
|
+
}
|
|
38
41
|
class BaseUpdateOneGateway extends gateways_1.BaseGateway {
|
|
39
42
|
constructor(service, jwtService) {
|
|
40
43
|
super(jwtService);
|
|
@@ -42,11 +45,10 @@ function UpdateOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig
|
|
|
42
45
|
this.jwtService = jwtService;
|
|
43
46
|
this.entity = entity;
|
|
44
47
|
}
|
|
45
|
-
async updateOne(
|
|
48
|
+
async updateOne(_socket, body) {
|
|
46
49
|
if (!body?.id || Object.keys(body).length === 1) {
|
|
47
50
|
throw new websockets_1.WsException('Invalid request body');
|
|
48
51
|
}
|
|
49
|
-
this.addUserToSocket(socket, isPublic);
|
|
50
52
|
const { id, ...data } = body;
|
|
51
53
|
const toEntity = UpdateOneData.toEntity;
|
|
52
54
|
const entity = await this.service.updateOne(id, toEntity ? toEntity(data) : data);
|
|
@@ -59,6 +61,7 @@ function UpdateOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig
|
|
|
59
61
|
}
|
|
60
62
|
__decorate([
|
|
61
63
|
(0, common_1.UseFilters)(new filters_1.DynamicAPIWsExceptionFilter()),
|
|
64
|
+
(0, common_1.UseGuards)(new guards_1.JwtSocketGuard(isPublic), UpdateOnePoliciesGuard),
|
|
62
65
|
(0, websockets_1.SubscribeMessage)(event),
|
|
63
66
|
__param(0, (0, websockets_1.ConnectedSocket)()),
|
|
64
67
|
__param(1, (0, websockets_1.MessageBody)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/update-one/update-one-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"update-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/update-one/update-one-gateway.mixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ export declare abstract class BaseService<Entity extends BaseEntity> {
|
|
|
36
36
|
protected readonly passwordField: keyof Entity | undefined;
|
|
37
37
|
protected readonly resetPasswordOptions: DynamicApiResetPasswordOptions<Entity> | undefined;
|
|
38
38
|
protected readonly callbackMethods: DynamicApiCallbackMethods;
|
|
39
|
+
private readonly baseServiceLogger;
|
|
39
40
|
protected constructor(model: Model<Entity>);
|
|
40
41
|
get isSoftDeletable(): boolean;
|
|
41
42
|
protected verifyArguments(...args: unknown[]): void;
|
|
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BaseService = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
5
|
const class_transformer_1 = require("class-transformer");
|
|
6
|
+
const logger_1 = require("../../logger");
|
|
6
7
|
const dynamic_api_global_state_service_1 = require("../dynamic-api-global-state/dynamic-api-global-state.service");
|
|
7
8
|
class BaseService {
|
|
8
9
|
constructor(model) {
|
|
9
10
|
this.model = model;
|
|
11
|
+
this.baseServiceLogger = new logger_1.MongoDBDynamicApiLogger(BaseService.name);
|
|
10
12
|
this.callbackMethods = {
|
|
11
13
|
findManyDocuments: this.findManyDocuments.bind(this),
|
|
12
14
|
findOneDocument: this.findOneDocument.bind(this),
|
|
@@ -29,6 +31,10 @@ class BaseService {
|
|
|
29
31
|
}
|
|
30
32
|
}
|
|
31
33
|
async aggregateDocumentsWithAbilityPredicate(pipeline) {
|
|
34
|
+
this.baseServiceLogger.debug('aggregateDocumentsWithAbilityPredicate', {
|
|
35
|
+
pipeline: JSON.stringify(pipeline),
|
|
36
|
+
entityName: this.entity.name,
|
|
37
|
+
});
|
|
32
38
|
const documents = await this.aggregateDocuments(this.entity, pipeline);
|
|
33
39
|
if (this.abilityPredicate) {
|
|
34
40
|
documents.forEach((d) => this.handleAbilityPredicate(d));
|
|
@@ -36,6 +42,10 @@ class BaseService {
|
|
|
36
42
|
return documents;
|
|
37
43
|
}
|
|
38
44
|
async findManyDocumentsWithAbilityPredicate(conditions = {}) {
|
|
45
|
+
this.baseServiceLogger.debug('findManyDocumentsWithAbilityPredicate', {
|
|
46
|
+
conditions: JSON.stringify(conditions),
|
|
47
|
+
entityName: this.entity.name,
|
|
48
|
+
});
|
|
39
49
|
const documents = await this.findManyDocuments(this.entity, conditions);
|
|
40
50
|
if (this.abilityPredicate) {
|
|
41
51
|
documents.forEach((d) => this.handleAbilityPredicate(d));
|
|
@@ -43,6 +53,12 @@ class BaseService {
|
|
|
43
53
|
return documents;
|
|
44
54
|
}
|
|
45
55
|
async findOneDocumentWithAbilityPredicate(_id, conditions = {}, authAbilityPredicate) {
|
|
56
|
+
this.baseServiceLogger.debug('findOneDocumentWithAbilityPredicate', {
|
|
57
|
+
_id,
|
|
58
|
+
conditions: JSON.stringify(conditions),
|
|
59
|
+
entityName: this.entity.name,
|
|
60
|
+
authAbilityPredicate: !!authAbilityPredicate,
|
|
61
|
+
});
|
|
46
62
|
const document = await this.findOneDocument(this.entity, {
|
|
47
63
|
...(_id ? { _id } : {}),
|
|
48
64
|
...conditions,
|
|
@@ -112,6 +128,12 @@ class BaseService {
|
|
|
112
128
|
});
|
|
113
129
|
}
|
|
114
130
|
handleAbilityPredicate(document, authAbilityPredicate) {
|
|
131
|
+
this.baseServiceLogger.debug('handleAbilityPredicate', {
|
|
132
|
+
documentId: document?._id?.toString() || document?.id,
|
|
133
|
+
entityName: this.entity.name,
|
|
134
|
+
abilityPredicate: !!this.abilityPredicate,
|
|
135
|
+
authAbilityPredicate: !!authAbilityPredicate,
|
|
136
|
+
});
|
|
115
137
|
const isAllowed = authAbilityPredicate
|
|
116
138
|
? authAbilityPredicate(this.buildInstance(document))
|
|
117
139
|
: this.abilityPredicate(document, this.user);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/services/base/base.service.ts"],"names":[],"mappings":";;;AAAA,2CAAiK;AACjK,yDAAoD;
|
|
1
|
+
{"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/services/base/base.service.ts"],"names":[],"mappings":"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"}
|
package/src/version.json
CHANGED
|
@@ -128,18 +128,6 @@ describe('DynamicApiModule forFeature (e2e)', () => {
|
|
|
128
128
|
},
|
|
129
129
|
]);
|
|
130
130
|
});
|
|
131
|
-
it('should return 409 if entity has duplicated key', async () => {
|
|
132
|
-
const { body, status } = await e2e_setup_1.server.post('/test-entities/many', {
|
|
133
|
-
list: [
|
|
134
|
-
{ name: 'test1' },
|
|
135
|
-
{ name: 'test2' },
|
|
136
|
-
],
|
|
137
|
-
});
|
|
138
|
-
expect(status).toBe(409);
|
|
139
|
-
expect(body).toHaveProperty('error', 'Conflict');
|
|
140
|
-
expect(body).toHaveProperty('statusCode', 409);
|
|
141
|
-
expect(body).toHaveProperty('message', 'name \'test1\' is already used');
|
|
142
|
-
});
|
|
143
131
|
});
|
|
144
132
|
describe('POST /test-entities', () => {
|
|
145
133
|
it('should create a test entity', async () => {
|
|
@@ -152,13 +140,6 @@ describe('DynamicApiModule forFeature (e2e)', () => {
|
|
|
152
140
|
updatedAt: expect.any(String),
|
|
153
141
|
});
|
|
154
142
|
});
|
|
155
|
-
it('should return 409 if entity has duplicated key', async () => {
|
|
156
|
-
const { body, status } = await e2e_setup_1.server.post('/test-entities', { name: 'test1' });
|
|
157
|
-
expect(status).toBe(409);
|
|
158
|
-
expect(body).toHaveProperty('error', 'Conflict');
|
|
159
|
-
expect(body).toHaveProperty('statusCode', 409);
|
|
160
|
-
expect(body).toHaveProperty('message', 'name \'test1\' is already used');
|
|
161
|
-
});
|
|
162
143
|
});
|
|
163
144
|
describe('PUT /test-entities/:id', () => {
|
|
164
145
|
let entityToReplace;
|
|
@@ -356,7 +337,7 @@ describe('DynamicApiModule forFeature (e2e)', () => {
|
|
|
356
337
|
], TestDeletableEntity.prototype, "group", void 0);
|
|
357
338
|
TestDeletableEntity = __decorate([
|
|
358
339
|
(0, src_1.DynamicAPISchemaOptions)({
|
|
359
|
-
indexes: [{ fields: { name: 1
|
|
340
|
+
indexes: [{ fields: { name: 1 }, options: { unique: true, partialFilterExpression: { deletedAt: { $eq: null } } } }],
|
|
360
341
|
}),
|
|
361
342
|
(0, mongoose_1.Schema)({ collection: 'test-entities' })
|
|
362
343
|
], TestDeletableEntity);
|
|
@@ -450,13 +431,6 @@ describe('DynamicApiModule forFeature (e2e)', () => {
|
|
|
450
431
|
updatedAt: expect.any(String),
|
|
451
432
|
});
|
|
452
433
|
});
|
|
453
|
-
it('should return 409 if entity has duplicated key', async () => {
|
|
454
|
-
const { body, status } = await e2e_setup_1.server.post('/test-entities', { name: 'test1' });
|
|
455
|
-
expect(status).toBe(409);
|
|
456
|
-
expect(body).toHaveProperty('error', 'Conflict');
|
|
457
|
-
expect(body).toHaveProperty('statusCode', 409);
|
|
458
|
-
expect(body).toHaveProperty('message', 'name \'test1\' is already used');
|
|
459
|
-
});
|
|
460
434
|
});
|
|
461
435
|
describe('PUT /test-entities/:id', () => {
|
|
462
436
|
let entityToReplace;
|