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.
Files changed (94) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/package.json +1 -1
  3. package/src/gateways/base.gateway.js +2 -2
  4. package/src/gateways/base.gateway.js.map +1 -1
  5. package/src/guards/base-policies.guard.d.ts +13 -1
  6. package/src/guards/base-policies.guard.js +52 -2
  7. package/src/guards/base-policies.guard.js.map +1 -1
  8. package/src/guards/index.d.ts +1 -0
  9. package/src/guards/index.js +1 -0
  10. package/src/guards/index.js.map +1 -1
  11. package/src/guards/jwt-socket.guard.d.ts +11 -0
  12. package/src/guards/jwt-socket.guard.js +70 -0
  13. package/src/guards/jwt-socket.guard.js.map +1 -0
  14. package/src/helpers/format.helper.d.ts +1 -1
  15. package/src/helpers/format.helper.js +1 -1
  16. package/src/helpers/format.helper.js.map +1 -1
  17. package/src/index.d.ts +1 -0
  18. package/src/index.js +1 -0
  19. package/src/index.js.map +1 -1
  20. package/src/logger/index.d.ts +1 -0
  21. package/src/logger/index.js +18 -0
  22. package/src/logger/index.js.map +1 -0
  23. package/src/logger/mongo-dynamic-api.logger.d.ts +10 -0
  24. package/src/logger/mongo-dynamic-api.logger.js +44 -0
  25. package/src/logger/mongo-dynamic-api.logger.js.map +1 -0
  26. package/src/mixins/index.d.ts +1 -1
  27. package/src/mixins/index.js +1 -1
  28. package/src/mixins/index.js.map +1 -1
  29. package/src/mixins/policies-guard.mixin.d.ts +7 -0
  30. package/src/mixins/{create-policies-guard.mixin.js → policies-guard.mixin.js} +28 -4
  31. package/src/mixins/policies-guard.mixin.js.map +1 -0
  32. package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js +2 -1
  33. package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js.map +1 -1
  34. package/src/modules/auth/mixins/auth-policies-guard.mixin.js +2 -2
  35. package/src/modules/auth/mixins/auth-policies-guard.mixin.js.map +1 -1
  36. package/src/modules/auth/services/base-auth.service.js +2 -1
  37. package/src/modules/auth/services/base-auth.service.js.map +1 -1
  38. package/src/routes/aggregate/aggregate-controller.mixin.js +3 -2
  39. package/src/routes/aggregate/aggregate-controller.mixin.js.map +1 -1
  40. package/src/routes/aggregate/aggregate-gateway.mixin.js +9 -8
  41. package/src/routes/aggregate/aggregate-gateway.mixin.js.map +1 -1
  42. package/src/routes/create-many/create-many-controller.mixin.js +1 -1
  43. package/src/routes/create-many/create-many-controller.mixin.js.map +1 -1
  44. package/src/routes/create-many/create-many-gateway.mixin.js +7 -3
  45. package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
  46. package/src/routes/create-one/create-one-controller.mixin.js +1 -1
  47. package/src/routes/create-one/create-one-controller.mixin.js.map +1 -1
  48. package/src/routes/create-one/create-one-gateway.mixin.js +6 -3
  49. package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
  50. package/src/routes/delete-many/delete-many-controller.mixin.js +1 -1
  51. package/src/routes/delete-many/delete-many-controller.mixin.js.map +1 -1
  52. package/src/routes/delete-many/delete-many-gateway.mixin.js +7 -3
  53. package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -1
  54. package/src/routes/delete-one/delete-one-controller.mixin.js +1 -1
  55. package/src/routes/delete-one/delete-one-controller.mixin.js.map +1 -1
  56. package/src/routes/delete-one/delete-one-gateway.mixin.js +7 -3
  57. package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -1
  58. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +1 -1
  59. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js.map +1 -1
  60. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +6 -3
  61. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -1
  62. package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +1 -1
  63. package/src/routes/duplicate-one/duplicate-one-controller.mixin.js.map +1 -1
  64. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +6 -3
  65. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -1
  66. package/src/routes/get-many/get-many-controller.mixin.js +1 -1
  67. package/src/routes/get-many/get-many-controller.mixin.js.map +1 -1
  68. package/src/routes/get-many/get-many-gateway.mixin.js +6 -3
  69. package/src/routes/get-many/get-many-gateway.mixin.js.map +1 -1
  70. package/src/routes/get-one/get-one-controller.mixin.js +1 -1
  71. package/src/routes/get-one/get-one-controller.mixin.js.map +1 -1
  72. package/src/routes/get-one/get-one-gateway.mixin.js +6 -3
  73. package/src/routes/get-one/get-one-gateway.mixin.js.map +1 -1
  74. package/src/routes/replace-one/replace-one-controller.mixin.js +1 -1
  75. package/src/routes/replace-one/replace-one-controller.mixin.js.map +1 -1
  76. package/src/routes/replace-one/replace-one-gateway.mixin.js +6 -3
  77. package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -1
  78. package/src/routes/update-many/update-many-controller.mixin.js +1 -1
  79. package/src/routes/update-many/update-many-controller.mixin.js.map +1 -1
  80. package/src/routes/update-many/update-many-gateway.mixin.js +6 -3
  81. package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
  82. package/src/routes/update-one/update-one-controller.mixin.js +1 -1
  83. package/src/routes/update-one/update-one-controller.mixin.js.map +1 -1
  84. package/src/routes/update-one/update-one-gateway.mixin.js +6 -3
  85. package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -1
  86. package/src/services/base/base.service.d.ts +1 -0
  87. package/src/services/base/base.service.js +22 -0
  88. package/src/services/base/base.service.js.map +1 -1
  89. package/src/version.json +1 -1
  90. package/test/dynamic-api-for-feature.e2e-spec.js +1 -27
  91. package/test/dynamic-api-for-feature.e2e-spec.js.map +1 -1
  92. package/tsconfig.tsbuildinfo +1 -1
  93. package/src/mixins/create-policies-guard.mixin.d.ts +0 -6
  94. package/src/mixins/create-policies-guard.mixin.js.map +0 -1
@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AggregateControllerMixin = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const class_transformer_1 = require("class-transformer");
17
18
  const builders_1 = require("../../builders");
18
19
  const helpers_1 = require("../../helpers");
19
20
  const mixins_1 = require("../../mixins");
@@ -41,7 +42,7 @@ function AggregateControllerMixin(entity, controllerOptions, { dTOs, isArrayResp
41
42
  presenter: AggregatePresenter,
42
43
  }, isArrayResponse);
43
44
  const toPipeline = AggregateQuery.toPipeline;
44
- class AggregatePoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate, toPipeline) {
45
+ class AggregatePoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate, toPipeline) {
45
46
  }
46
47
  class BaseAggregateController {
47
48
  constructor(service) {
@@ -53,7 +54,7 @@ function AggregateControllerMixin(entity, controllerOptions, { dTOs, isArrayResp
53
54
  if (!toPipeline) {
54
55
  throw new common_1.BadRequestException('Query DTO must have toPipeline static method');
55
56
  }
56
- const pipelineBuilt = toPipeline(query);
57
+ const pipelineBuilt = toPipeline((0, class_transformer_1.plainToInstance)(AggregateQuery, query));
57
58
  if (!pipelineBuilt.length) {
58
59
  throw new common_1.BadRequestException('Invalid pipeline, no stages found');
59
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/aggregate/aggregate-controller.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/aggregate/aggregate-controller.mixin.ts"],"names":[],"mappings":"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"}
@@ -15,13 +15,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AggregateGatewayMixin = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
17
  const websockets_1 = require("@nestjs/websockets");
18
- const lodash_1 = require("lodash");
18
+ const class_transformer_1 = require("class-transformer");
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");
23
+ const mixins_1 = require("../../mixins");
22
24
  const aggregate_presenter_mixin_1 = require("./aggregate-presenter.mixin");
23
25
  function AggregateGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
24
- const { routeType, displayedName, isPublic, event, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
26
+ const { routeType, displayedName, isPublic, event, abilityPredicate, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
25
27
  if (!dTOs?.query) {
26
28
  throw new websockets_1.WsException('Query DTO is required');
27
29
  }
@@ -39,6 +41,8 @@ function AggregateGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig
39
41
  : `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Response`,
40
42
  writable: false,
41
43
  });
44
+ class AggregatePoliciesGuard extends (0, mixins_1.SocketPoliciesGuardMixin)(entity, routeType, event, version, abilityPredicate, isPublic) {
45
+ }
42
46
  class BaseAggregateGateway extends gateways_1.BaseGateway {
43
47
  constructor(service, jwtService) {
44
48
  super(jwtService);
@@ -46,16 +50,12 @@ function AggregateGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig
46
50
  this.jwtService = jwtService;
47
51
  this.entity = entity;
48
52
  }
49
- async aggregate(socket, body) {
50
- if ((0, lodash_1.isEmpty)(body)) {
51
- throw new websockets_1.WsException('Invalid data');
52
- }
53
+ async aggregate(_socket, data) {
53
54
  const toPipeline = AggregateData.toPipeline;
54
55
  if (!toPipeline) {
55
56
  throw new websockets_1.WsException('Query DTO must have toPipeline static method');
56
57
  }
57
- this.addUserToSocket(socket, isPublic);
58
- const { list, count, totalPage } = await this.service.aggregate(toPipeline(body));
58
+ const { list, count, totalPage } = await this.service.aggregate(toPipeline((0, class_transformer_1.plainToInstance)(AggregateData, data)));
59
59
  const fromAggregate = AggregateResponse.fromAggregate;
60
60
  return {
61
61
  event,
@@ -65,6 +65,7 @@ function AggregateGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig
65
65
  }
66
66
  __decorate([
67
67
  (0, common_1.UseFilters)(new filters_1.DynamicAPIWsExceptionFilter()),
68
+ (0, common_1.UseGuards)(new guards_1.JwtSocketGuard(isPublic), AggregatePoliciesGuard),
68
69
  (0, websockets_1.SubscribeMessage)(event),
69
70
  __param(0, (0, websockets_1.ConnectedSocket)()),
70
71
  __param(1, (0, websockets_1.MessageBody)()),
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/aggregate/aggregate-gateway.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/aggregate/aggregate-gateway.mixin.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ function CreateManyControllerMixin(entity, controllerOptions, { dTOs, ...routeCo
40
40
  body: CreateManyBody,
41
41
  presenter: CreateManyPresenter,
42
42
  });
43
- class CreateManyPoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
43
+ class CreateManyPoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
44
44
  }
45
45
  class BaseCreateManyController {
46
46
  constructor(service) {
@@ -1 +1 @@
1
- {"version":3,"file":"create-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-many/create-many-controller.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-many/create-many-controller.mixin.ts"],"names":[],"mappings":"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"}
@@ -18,11 +18,13 @@ 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");
23
+ const mixins_1 = require("../../mixins");
22
24
  const create_many_body_mixin_1 = require("./create-many-body.mixin");
23
25
  const create_many_presenter_mixin_1 = require("./create-many-presenter.mixin");
24
26
  function CreateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
25
- const { routeType, displayedName, isPublic, event, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
27
+ const { routeType, displayedName, isPublic, event, abilityPredicate, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
26
28
  class CreateManyData extends (0, create_many_body_mixin_1.CreateManyBodyMixin)(entity, dTOs?.body) {
27
29
  }
28
30
  Object.defineProperty(CreateManyData, 'name', {
@@ -37,6 +39,8 @@ function CreateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
37
39
  : `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Response`,
38
40
  writable: false,
39
41
  });
42
+ class CreateManyPoliciesGuard extends (0, mixins_1.SocketPoliciesGuardMixin)(entity, routeType, event, version, abilityPredicate, isPublic) {
43
+ }
40
44
  class BaseCreateManyGateway extends gateways_1.BaseGateway {
41
45
  constructor(service, jwtService) {
42
46
  super(jwtService);
@@ -44,14 +48,13 @@ function CreateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
44
48
  this.jwtService = jwtService;
45
49
  this.entity = entity;
46
50
  }
47
- async createMany(socket, body) {
51
+ async createMany(_socket, body) {
48
52
  if (!('list' in body &&
49
53
  Array.isArray(body.list) &&
50
54
  body.list.length &&
51
55
  body.list.every((e) => !(0, lodash_1.isEmpty)(e)))) {
52
56
  throw new websockets_1.WsException('Invalid request body');
53
57
  }
54
- this.addUserToSocket(socket, isPublic);
55
58
  let toCreateList = body.list;
56
59
  const toEntities = CreateManyData.toEntities;
57
60
  const list = await this.service.createMany(toEntities ? toEntities(body) : toCreateList);
@@ -64,6 +67,7 @@ function CreateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
64
67
  }
65
68
  __decorate([
66
69
  (0, common_1.UseFilters)(new filters_1.DynamicAPIWsExceptionFilter()),
70
+ (0, common_1.UseGuards)(new guards_1.JwtSocketGuard(isPublic), CreateManyPoliciesGuard),
67
71
  (0, websockets_1.SubscribeMessage)(event),
68
72
  __param(0, (0, websockets_1.ConnectedSocket)()),
69
73
  __param(1, (0, websockets_1.MessageBody)()),
@@ -1 +1 @@
1
- {"version":3,"file":"create-many-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-many/create-many-gateway.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-many-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-many/create-many-gateway.mixin.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ function CreateOneControllerMixin(entity, controllerOptions, { dTOs, ...routeCon
37
37
  body: CreateOneBody,
38
38
  presenter: CreateOnePresenter,
39
39
  });
40
- class CreateOnePoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
40
+ class CreateOnePoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
41
41
  }
42
42
  class BaseCreateOneController {
43
43
  constructor(service) {
@@ -1 +1 @@
1
- {"version":3,"file":"create-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-one/create-one-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAuD;AACvD,6CAAwD;AACxD,2CAAmG;AAEnG,yCAA+F;AAK/F,SAAS,wBAAwB,CAC/B,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,aAAc,SAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,IAAA,wBAAe,EAAC,MAAM,CAAC,CAAC;KAAG;IAEtE,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,GAAG,SAAS,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,KAAK;QACpE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,kBAAmB,SAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAAC;KAAG;IAErF,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAChD,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,YAAY,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,WAAW;YAClE,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,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,kBAAkB;KAC9B,CACF,CAAC;IAEF,MAAM,sBAAuB,SAAQ,IAAA,iCAAwB,EAC3D,MAAM,EACN,SAAS,EACT,aAAa,EACb,OAAO,EACP,gBAAgB,CACjB;KAAG;IAEJ,MAAM,uBAAuB;QAG3B,YAA+B,OAAiC;YAAjC,YAAO,GAAP,OAAO,CAA0B;YAF7C,WAAM,GAAG,MAAM,CAAC;QAGnC,CAAC;QAIK,AAAN,KAAK,CAAC,SAAS,CAAS,IAAmB;YACzC,MAAM,QAAQ,GACZ,aACD,CAAC,QAAQ,CAAC;YAEX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAuB,CAAC,CAAC;YAEjG,MAAM,UAAU,GACd,kBACD,CAAC,UAAU,CAAC;YAEb,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAClD,CAAC;KACF;IAbO;QAFL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,sBAAsB,CAAC;QACjB,WAAA,IAAA,aAAI,GAAE,CAAA;;yCAAO,aAAa;;4DAY1C;IAGH,MAAM,CAAC,cAAc,CAAC,uBAAuB,EAAE,MAAM,EAAE;QACrD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;QAC9E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAEQ,4DAAwB"}
1
+ {"version":3,"file":"create-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-one/create-one-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAuD;AACvD,6CAAwD;AACxD,2CAAmG;AAEnG,yCAA8F;AAK9F,SAAS,wBAAwB,CAC/B,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,aAAc,SAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,IAAA,wBAAe,EAAC,MAAM,CAAC,CAAC;KAAG;IAEtE,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,GAAG,SAAS,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,KAAK;QACpE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,kBAAmB,SAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAAC;KAAG;IAErF,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAChD,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,YAAY,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,WAAW;YAClE,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,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,kBAAkB;KAC9B,CACF,CAAC;IAEF,MAAM,sBAAuB,SAAQ,IAAA,gCAAuB,EAC1D,MAAM,EACN,SAAS,EACT,aAAa,EACb,OAAO,EACP,gBAAgB,CACjB;KAAG;IAEJ,MAAM,uBAAuB;QAG3B,YAA+B,OAAiC;YAAjC,YAAO,GAAP,OAAO,CAA0B;YAF7C,WAAM,GAAG,MAAM,CAAC;QAGnC,CAAC;QAIK,AAAN,KAAK,CAAC,SAAS,CAAS,IAAmB;YACzC,MAAM,QAAQ,GACZ,aACD,CAAC,QAAQ,CAAC;YAEX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAuB,CAAC,CAAC;YAEjG,MAAM,UAAU,GACd,kBACD,CAAC,UAAU,CAAC;YAEb,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAClD,CAAC;KACF;IAbO;QAFL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,sBAAsB,CAAC;QACjB,WAAA,IAAA,aAAI,GAAE,CAAA;;yCAAO,aAAa;;4DAY1C;IAGH,MAAM,CAAC,cAAc,CAAC,uBAAuB,EAAE,MAAM,EAAE;QACrD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;QAC9E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAEQ,4DAAwB"}
@@ -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 CreateOneGatewayMixin(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 CreateOneData extends (dTOs?.body ?? (0, mixins_1.EntityBodyMixin)(entity)) {
26
27
  }
27
28
  Object.defineProperty(CreateOneData, 'name', {
@@ -36,6 +37,8 @@ function CreateOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig
36
37
  : `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Response`,
37
38
  writable: false,
38
39
  });
40
+ class CreateOnePoliciesGuard extends (0, mixins_1.SocketPoliciesGuardMixin)(entity, routeType, event, version, abilityPredicate, isPublic) {
41
+ }
39
42
  class BaseCreateOneGateway extends gateways_1.BaseGateway {
40
43
  constructor(service, jwtService) {
41
44
  super(jwtService);
@@ -43,11 +46,10 @@ function CreateOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig
43
46
  this.jwtService = jwtService;
44
47
  this.entity = entity;
45
48
  }
46
- async createOne(socket, body) {
49
+ async createOne(_socket, body) {
47
50
  if ((0, lodash_1.isEmpty)(body)) {
48
51
  throw new websockets_1.WsException('Invalid request body');
49
52
  }
50
- this.addUserToSocket(socket, isPublic);
51
53
  const toEntity = CreateOneData.toEntity;
52
54
  const entity = await this.service.createOne(toEntity ? toEntity(body) : body);
53
55
  const fromEntity = CreateOneResponse.fromEntity;
@@ -59,6 +61,7 @@ function CreateOneGatewayMixin(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), CreateOnePoliciesGuard),
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":"create-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-one/create-one-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkD;AAElD,mDAAiG;AACjG,mCAAiC;AACjC,2CAA4D;AAC5D,6CAA6C;AAC7C,2CAA4E;AAE5E,yCAAqE;AAKrE,SAAS,qBAAqB,CAC5B,MAAoB,EACpB,iBAAsD,EACtD,EAAE,IAAI,EAAE,GAAG,WAAW,EAAiC,EACvD,OAAgB;IAEhB,MAAM,EACJ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,KAAK,GACN,GAAG,IAAA,sBAAY,EACd,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,IAAI,CACL,CAAC;IAEF,MAAM,aAAc,SAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,IAAA,wBAAe,EAAC,MAAM,CAAC,CAAC;KAAG;IAEtE,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,GAAG,SAAS,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,MAAM;QACrE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,iBAAkB,SAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAAC;KAAG;IAEpF,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE;QAC/C,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,YAAY,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;YACjE,CAAC,CAAC,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;QAC1D,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,oBAAqB,SAAQ,sBAAmB;QAGpD,YACqB,OAAiC,EACjC,UAAsB;YAEzC,KAAK,CAAC,UAAU,CAAC,CAAC;YAHC,YAAO,GAAP,OAAO,CAA0B;YACjC,eAAU,GAAV,UAAU,CAAY;YAJxB,WAAM,GAAG,MAAM,CAAC;QAOnC,CAAC;QAIK,AAAN,KAAK,CAAC,SAAS,CACM,MAA8B,EAClC,IAAmB;YAElC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,wBAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEvC,MAAM,QAAQ,GACZ,aACD,CAAC,QAAQ,CAAC;YAEX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAuB,CAAC,CAAC;YAEjG,MAAM,UAAU,GACd,iBACD,CAAC,UAAU,CAAC;YAEb,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAoB,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;aAClE,CAAC;QACJ,CAAC;KACF;IAzBO;QAFL,IAAA,mBAAU,EAAC,IAAI,qCAA2B,EAAE,CAAC;QAC7C,IAAA,6BAAgB,EAAC,KAAK,CAAC;QAErB,WAAA,IAAA,4BAAe,GAAE,CAAA;QACjB,WAAA,IAAA,wBAAW,GAAE,CAAA;;iDAAO,aAAa;;yDAsBnC;IAGH,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE;QAClD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;QACzE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAEQ,sDAAqB"}
1
+ {"version":3,"file":"create-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-one/create-one-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6D;AAE7D,mDAAiG;AACjG,mCAAiC;AACjC,2CAA4D;AAC5D,6CAA6C;AAC7C,yCAA8C;AAC9C,2CAA4E;AAE5E,yCAA+F;AAK/F,SAAS,qBAAqB,CAC5B,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,aAAc,SAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,IAAA,wBAAe,EAAC,MAAM,CAAC,CAAC;KAAG;IAEtE,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,GAAG,SAAS,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,MAAM;QACrE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,iBAAkB,SAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAAC;KAAG;IAEpF,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE;QAC/C,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,YAAY,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;YACjE,CAAC,CAAC,GAAG,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;QAC1D,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,sBAAuB,SAAQ,IAAA,iCAAwB,EAC3D,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,QAAQ,CACT;KAAG;IAEJ,MAAM,oBAAqB,SAAQ,sBAAmB;QAGpD,YACqB,OAAiC,EACjC,UAAsB;YAEzC,KAAK,CAAC,UAAU,CAAC,CAAC;YAHC,YAAO,GAAP,OAAO,CAA0B;YACjC,eAAU,GAAV,UAAU,CAAY;YAJxB,WAAM,GAAG,MAAM,CAAC;QAOnC,CAAC;QAKK,AAAN,KAAK,CAAC,SAAS,CACM,OAA+B,EACnC,IAAmB;YAElC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,wBAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,QAAQ,GACZ,aACD,CAAC,QAAQ,CAAC;YAEX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAuB,CAAC,CAAC;YAEjG,MAAM,UAAU,GACd,iBACD,CAAC,UAAU,CAAC;YAEb,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAoB,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;aAClE,CAAC;QACJ,CAAC;KACF;IAvBO;QAHL,IAAA,mBAAU,EAAC,IAAI,qCAA2B,EAAE,CAAC;QAC7C,IAAA,kBAAS,EAAC,IAAI,uBAAc,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;QAC/D,IAAA,6BAAgB,EAAC,KAAK,CAAC;QAErB,WAAA,IAAA,4BAAe,GAAE,CAAA;QACjB,WAAA,IAAA,wBAAW,GAAE,CAAA;;iDAAO,aAAa;;yDAoBnC;IAGH,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE;QAClD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;QACzE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAEQ,sDAAqB"}
@@ -31,7 +31,7 @@ function DeleteManyControllerMixin(entity, controllerOptions, { dTOs, ...routeCo
31
31
  const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder(routeType, entity, routeConfig.subPath, version, description, isPublic, {
32
32
  presenter: DeleteManyPresenter,
33
33
  });
34
- class DeleteManyPoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
34
+ class DeleteManyPoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
35
35
  }
36
36
  class BaseDeleteManyController {
37
37
  constructor(service) {
@@ -1 +1 @@
1
- {"version":3,"file":"delete-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-many/delete-many-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,6CAAwD;AACxD,qCAA8D;AAC9D,2CAAmG;AAEnG,yCAAwD;AAKxD,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,mBAAoB,SAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,sBAAe,CAAC;KAAG;IAEzE,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,uBAAuB;QAC3B,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,mBAAmB;KAC/B,CACF,CAAC;IAEF,MAAM,uBAAwB,SAAQ,IAAA,iCAAwB,EAC5D,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,CAAU,EAAE,GAAG,EAAmB;YAChD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAExD,MAAM,gBAAgB,GACpB,mBACD,CAAC,gBAAgB,CAAC;YAEnB,OAAO,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAsB,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC/F,CAAC;KACF;IAbO;QAFL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,uBAAuB,CAAC;QACjB,WAAA,IAAA,cAAK,GAAE,CAAA;;yCAAU,sBAAe;;8DAYjD;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"}
1
+ {"version":3,"file":"delete-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-many/delete-many-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,6CAAwD;AACxD,qCAA8D;AAC9D,2CAAmG;AAEnG,yCAAuD;AAKvD,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,mBAAoB,SAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,sBAAe,CAAC;KAAG;IAEzE,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,uBAAuB;QAC3B,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,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,CAAU,EAAE,GAAG,EAAmB;YAChD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAExD,MAAM,gBAAgB,GACpB,mBACD,CAAC,gBAAgB,CAAC;YAEnB,OAAO,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAsB,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC/F,CAAC;KACF;IAbO;QAFL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,uBAAuB,CAAC;QACjB,WAAA,IAAA,cAAK,GAAE,CAAA;;yCAAU,sBAAe;;8DAYjD;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"}
@@ -18,9 +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");
23
+ const mixins_1 = require("../../mixins");
22
24
  function DeleteManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
23
- 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);
24
26
  class DeleteManyResponse extends (dTOs?.presenter ?? dtos_1.DeletePresenter) {
25
27
  }
26
28
  Object.defineProperty(DeleteManyResponse, 'name', {
@@ -29,6 +31,8 @@ function DeleteManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
29
31
  : `DeleteResultResponse`,
30
32
  writable: false,
31
33
  });
34
+ class DeleteManyPoliciesGuard extends (0, mixins_1.SocketPoliciesGuardMixin)(entity, routeType, event, version, abilityPredicate, isPublic) {
35
+ }
32
36
  class BaseDeleteManyGateway extends gateways_1.BaseGateway {
33
37
  constructor(service, jwtService) {
34
38
  super(jwtService);
@@ -36,11 +40,10 @@ function DeleteManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
36
40
  this.jwtService = jwtService;
37
41
  this.entity = entity;
38
42
  }
39
- async deleteMany(socket, body) {
43
+ async deleteMany(_socket, body) {
40
44
  if (!this.isValidManyBody(body)) {
41
45
  throw new websockets_1.WsException('Invalid request body');
42
46
  }
43
- this.addUserToSocket(socket, isPublic);
44
47
  const deleteResult = await this.service.deleteMany(body.ids);
45
48
  const fromDeleteResult = DeleteManyResponse.fromDeleteResult;
46
49
  return {
@@ -51,6 +54,7 @@ function DeleteManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfi
51
54
  }
52
55
  __decorate([
53
56
  (0, common_1.UseFilters)(new filters_1.DynamicAPIWsExceptionFilter()),
57
+ (0, common_1.UseGuards)(new guards_1.JwtSocketGuard(isPublic), DeleteManyPoliciesGuard),
54
58
  (0, websockets_1.SubscribeMessage)(event),
55
59
  __param(0, (0, websockets_1.ConnectedSocket)()),
56
60
  __param(1, (0, websockets_1.MessageBody)()),
@@ -1 +1 @@
1
- {"version":3,"file":"delete-many-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-many/delete-many-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkD;AAElD,mDAAiG;AACjG,qCAA8D;AAC9D,2CAA4D;AAC5D,6CAA6C;AAC7C,2CAA4E;AAM5E,SAAS,sBAAsB,CAC7B,MAAoB,EACpB,iBAAsD,EACtD,EAAE,IAAI,EAAE,GAAG,WAAW,EAAiC,EACvD,OAAgB;IAEhB,MAAM,EACJ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,KAAK,GACN,GAAG,IAAA,sBAAY,EACd,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,IAAI,CACL,CAAC;IAEF,MAAM,kBAAmB,SAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,sBAAe,CAAC;KAAG;IAExE,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAChD,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,aAAa,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;YAClE,CAAC,CAAC,sBAAsB;QAC1B,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,qBAAsB,SAAQ,sBAAmB;QAGrD,YACqB,OAAkC,EAClC,UAAsB;YAEzC,KAAK,CAAC,UAAU,CAAC,CAAC;YAHC,YAAO,GAAP,OAAO,CAA2B;YAClC,eAAU,GAAV,UAAU,CAAY;YAJxB,WAAM,GAAG,MAAM,CAAC;QAOnC,CAAC;QAIK,AAAN,KAAK,CAAC,UAAU,CACK,MAA8B,EAClC,IAAqB;YAEpC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,wBAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEvC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE7D,MAAM,gBAAgB,GACpB,kBACD,CAAC,gBAAgB,CAAC;YAEnB,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAqB,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY;aAC3F,CAAC;QACJ,CAAC;KACF;IArBO;QAFL,IAAA,mBAAU,EAAC,IAAI,qCAA2B,EAAE,CAAC;QAC7C,IAAA,6BAAgB,EAAC,KAAK,CAAC;QAErB,WAAA,IAAA,4BAAe,GAAE,CAAA;QACjB,WAAA,IAAA,wBAAW,GAAE,CAAA;;iDAAO,sBAAe;;2DAkBrC;IAGH,MAAM,CAAC,cAAc,CAAC,qBAAqB,EAAE,MAAM,EAAE;QACnD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;QACzE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAEQ,wDAAsB"}
1
+ {"version":3,"file":"delete-many-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-many/delete-many-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6D;AAE7D,mDAAiG;AACjG,qCAA8D;AAC9D,2CAA4D;AAC5D,6CAA6C;AAC7C,yCAA8C;AAC9C,2CAA4E;AAE5E,yCAAwD;AAKxD,SAAS,sBAAsB,CAC7B,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,kBAAmB,SAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,sBAAe,CAAC;KAAG;IAExE,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAChD,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,aAAa,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;YAClE,CAAC,CAAC,sBAAsB;QAC1B,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,uBAAwB,SAAQ,IAAA,iCAAwB,EAC5D,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,QAAQ,CACT;KAAG;IAEJ,MAAM,qBAAsB,SAAQ,sBAAmB;QAGrD,YACqB,OAAkC,EAClC,UAAsB;YAEzC,KAAK,CAAC,UAAU,CAAC,CAAC;YAHC,YAAO,GAAP,OAAO,CAA2B;YAClC,eAAU,GAAV,UAAU,CAAY;YAJxB,WAAM,GAAG,MAAM,CAAC;QAOnC,CAAC;QAKK,AAAN,KAAK,CAAC,UAAU,CACK,OAA+B,EACnC,IAAqB;YAEpC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,wBAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE7D,MAAM,gBAAgB,GACpB,kBACD,CAAC,gBAAgB,CAAC;YAEnB,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAqB,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY;aAC3F,CAAC;QACJ,CAAC;KACF;IAnBO;QAHL,IAAA,mBAAU,EAAC,IAAI,qCAA2B,EAAE,CAAC;QAC7C,IAAA,kBAAS,EAAC,IAAI,uBAAc,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;QAChE,IAAA,6BAAgB,EAAC,KAAK,CAAC;QAErB,WAAA,IAAA,4BAAe,GAAE,CAAA;QACjB,WAAA,IAAA,wBAAW,GAAE,CAAA;;iDAAO,sBAAe;;2DAgBrC;IAGH,MAAM,CAAC,cAAc,CAAC,qBAAqB,EAAE,MAAM,EAAE;QACnD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;QACzE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAEQ,wDAAsB"}
@@ -32,7 +32,7 @@ function DeleteOneControllerMixin(entity, controllerOptions, { dTOs, ...routeCon
32
32
  param: dtos_1.EntityParam,
33
33
  presenter: DeleteOnePresenter,
34
34
  });
35
- class DeleteOnePoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
35
+ class DeleteOnePoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
36
36
  }
37
37
  class BaseDeleteOneController {
38
38
  constructor(service) {
@@ -1 +1 @@
1
- {"version":3,"file":"delete-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-one/delete-one-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,6CAAwD;AACxD,qCAA0D;AAC1D,2CAAmG;AAEnG,yCAAwD;AAKxD,SAAS,wBAAwB,CAC/B,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,kBAAmB,SAAQ,CAC/B,IAAI,EAAE,SAAS,IAAI,sBAAe,CACnC;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAChD,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,YAAY,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,WAAW;YAClE,CAAC,CAAC,uBAAuB;QAC3B,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,kBAAkB;KAC9B,CACF,CAAC;IAEF,MAAM,sBAAuB,SAAQ,IAAA,iCAAwB,EAC3D,MAAM,EACN,SAAS,EACT,aAAa,EACb,OAAO,EACP,gBAAgB,CACjB;KAAG;IAEJ,MAAM,uBAAuB;QAG3B,YAA+B,OAAiC;YAAjC,YAAO,GAAP,OAAO,CAA0B;YAF7C,WAAM,GAAG,MAAM,CAAC;QAGnC,CAAC;QAIK,AAAN,KAAK,CAAC,SAAS,CAAc,EAAU;YACrC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAEtD,MAAM,gBAAgB,GACpB,kBACD,CAAC,gBAAgB,CAAC;YAEnB,OAAO,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAqB,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9F,CAAC;KACF;IATO;QAFL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,sBAAsB,CAAC;QACjB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;4DAQ3B;IAGH,MAAM,CAAC,cAAc,CAAC,uBAAuB,EAAE,MAAM,EAAE;QACrD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;QAC9E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAEQ,4DAAwB"}
1
+ {"version":3,"file":"delete-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-one/delete-one-controller.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,6CAAwD;AACxD,qCAA0D;AAC1D,2CAAmG;AAEnG,yCAAuD;AAKvD,SAAS,wBAAwB,CAC/B,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,kBAAmB,SAAQ,CAC/B,IAAI,EAAE,SAAS,IAAI,sBAAe,CACnC;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAChD,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,YAAY,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,WAAW;YAClE,CAAC,CAAC,uBAAuB;QAC3B,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,kBAAkB;KAC9B,CACF,CAAC;IAEF,MAAM,sBAAuB,SAAQ,IAAA,gCAAuB,EAC1D,MAAM,EACN,SAAS,EACT,aAAa,EACb,OAAO,EACP,gBAAgB,CACjB;KAAG;IAEJ,MAAM,uBAAuB;QAG3B,YAA+B,OAAiC;YAAjC,YAAO,GAAP,OAAO,CAA0B;YAF7C,WAAM,GAAG,MAAM,CAAC;QAGnC,CAAC;QAIK,AAAN,KAAK,CAAC,SAAS,CAAc,EAAU;YACrC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAEtD,MAAM,gBAAgB,GACpB,kBACD,CAAC,gBAAgB,CAAC;YAEnB,OAAO,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAqB,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9F,CAAC;KACF;IATO;QAFL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,sBAAsB,CAAC;QACjB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;4DAQ3B;IAGH,MAAM,CAAC,cAAc,CAAC,uBAAuB,EAAE,MAAM,EAAE;QACrD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;QAC9E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAEQ,4DAAwB"}
@@ -18,9 +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");
23
+ const mixins_1 = require("../../mixins");
22
24
  function DeleteOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
23
- 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);
24
26
  class DeleteOneResponse extends (dTOs?.presenter ?? dtos_1.DeletePresenter) {
25
27
  }
26
28
  Object.defineProperty(DeleteOneResponse, 'name', {
@@ -29,6 +31,8 @@ function DeleteOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig
29
31
  : `DeleteResultResponse`,
30
32
  writable: false,
31
33
  });
34
+ class DeleteOnePoliciesGuard extends (0, mixins_1.SocketPoliciesGuardMixin)(entity, routeType, event, version, abilityPredicate, isPublic) {
35
+ }
32
36
  class BaseDeleteOneGateway extends gateways_1.BaseGateway {
33
37
  constructor(service, jwtService) {
34
38
  super(jwtService);
@@ -36,11 +40,10 @@ function DeleteOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig
36
40
  this.jwtService = jwtService;
37
41
  this.entity = entity;
38
42
  }
39
- async deleteOne(socket, body) {
43
+ async deleteOne(_socket, body) {
40
44
  if (!body?.id) {
41
45
  throw new websockets_1.WsException('Invalid request body');
42
46
  }
43
- this.addUserToSocket(socket, isPublic);
44
47
  const deleteResult = await this.service.deleteOne(body.id);
45
48
  const fromDeleteResult = DeleteOneResponse.fromDeleteResult;
46
49
  return {
@@ -51,6 +54,7 @@ function DeleteOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig
51
54
  }
52
55
  __decorate([
53
56
  (0, common_1.UseFilters)(new filters_1.DynamicAPIWsExceptionFilter()),
57
+ (0, common_1.UseGuards)(new guards_1.JwtSocketGuard(isPublic), DeleteOnePoliciesGuard),
54
58
  (0, websockets_1.SubscribeMessage)(event),
55
59
  __param(0, (0, websockets_1.ConnectedSocket)()),
56
60
  __param(1, (0, websockets_1.MessageBody)()),
@@ -1 +1 @@
1
- {"version":3,"file":"delete-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-one/delete-one-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkD;AAElD,mDAAiG;AACjG,qCAA0D;AAC1D,2CAA4D;AAC5D,6CAA6C;AAC7C,2CAA4E;AAM5E,SAAS,qBAAqB,CAC5B,MAAoB,EACpB,iBAAsD,EACtD,EAAE,IAAI,EAAE,GAAG,WAAW,EAAiC,EACvD,OAAgB;IAEhB,MAAM,EACJ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,KAAK,GACN,GAAG,IAAA,sBAAY,EACd,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,IAAI,CACL,CAAC;IAEF,MAAM,iBAAkB,SAAQ,CAC9B,IAAI,EAAE,SAAS,IAAI,sBAAe,CACnC;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE;QAC/C,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,YAAY,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;YACjE,CAAC,CAAC,sBAAsB;QAC1B,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,oBAAqB,SAAQ,sBAAmB;QAGpD,YACqB,OAAiC,EACjC,UAAsB;YAEzC,KAAK,CAAC,UAAU,CAAC,CAAC;YAHC,YAAO,GAAP,OAAO,CAA0B;YACjC,eAAU,GAAV,UAAU,CAAY;YAJxB,WAAM,GAAG,MAAM,CAAC;QAOnC,CAAC;QAIK,AAAN,KAAK,CAAC,SAAS,CACM,MAA8B,EAClC,IAAiB;YAEhC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;gBACd,MAAM,IAAI,wBAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEvC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE3D,MAAM,gBAAgB,GACpB,iBACD,CAAC,gBAAgB,CAAC;YAEnB,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAoB,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY;aAC1F,CAAC;QACJ,CAAC;KACF;IArBO;QAFL,IAAA,mBAAU,EAAC,IAAI,qCAA2B,EAAE,CAAC;QAC7C,IAAA,6BAAgB,EAAC,KAAK,CAAC;QAErB,WAAA,IAAA,4BAAe,GAAE,CAAA;QACjB,WAAA,IAAA,wBAAW,GAAE,CAAA;;iDAAO,kBAAW;;yDAkBjC;IAGH,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE;QAClD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;QACzE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAEQ,sDAAqB"}
1
+ {"version":3,"file":"delete-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-one/delete-one-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6D;AAE7D,mDAAiG;AACjG,qCAA0D;AAC1D,2CAA4D;AAC5D,6CAA6C;AAC7C,yCAA8C;AAC9C,2CAA4E;AAE5E,yCAAwD;AAKxD,SAAS,qBAAqB,CAC5B,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,iBAAkB,SAAQ,CAC9B,IAAI,EAAE,SAAS,IAAI,sBAAe,CACnC;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE;QAC/C,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,YAAY,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,UAAU;YACjE,CAAC,CAAC,sBAAsB;QAC1B,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,sBAAuB,SAAQ,IAAA,iCAAwB,EAC3D,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,QAAQ,CACT;KAAG;IAEJ,MAAM,oBAAqB,SAAQ,sBAAmB;QAGpD,YACqB,OAAiC,EACjC,UAAsB;YAEzC,KAAK,CAAC,UAAU,CAAC,CAAC;YAHC,YAAO,GAAP,OAAO,CAA0B;YACjC,eAAU,GAAV,UAAU,CAAY;YAJxB,WAAM,GAAG,MAAM,CAAC;QAOnC,CAAC;QAKK,AAAN,KAAK,CAAC,SAAS,CACM,OAA+B,EACnC,IAAiB;YAEhC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;gBACd,MAAM,IAAI,wBAAW,CAAC,sBAAsB,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE3D,MAAM,gBAAgB,GACpB,iBACD,CAAC,gBAAgB,CAAC;YAEnB,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAoB,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY;aAC1F,CAAC;QACJ,CAAC;KACF;IAnBO;QAHL,IAAA,mBAAU,EAAC,IAAI,qCAA2B,EAAE,CAAC;QAC7C,IAAA,kBAAS,EAAC,IAAI,uBAAc,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;QAC/D,IAAA,6BAAgB,EAAC,KAAK,CAAC;QAErB,WAAA,IAAA,4BAAe,GAAE,CAAA;QACjB,WAAA,IAAA,wBAAW,GAAE,CAAA;;iDAAO,kBAAW;;yDAgBjC;IAGH,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE;QAClD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;QACzE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAEQ,sDAAqB"}
@@ -38,7 +38,7 @@ function DuplicateManyControllerMixin(entity, controllerOptions, { dTOs, ...rout
38
38
  body: DuplicateManyBody,
39
39
  presenter: DuplicateManyPresenter,
40
40
  });
41
- class DuplicateManyPoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
41
+ class DuplicateManyPoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
42
42
  }
43
43
  class BaseDuplicateManyController {
44
44
  constructor(service) {
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-many/duplicate-many-controller.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duplicate-many-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-many/duplicate-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 DuplicateManyGatewayMixin(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 DuplicateManyData extends (dTOs?.body ?? (0, mixins_1.EntityBodyMixin)(entity, true)) {
26
27
  }
27
28
  Object.defineProperty(DuplicateManyData, 'name', {
@@ -36,6 +37,8 @@ function DuplicateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeCo
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 BaseDuplicateManyGateway extends gateways_1.BaseGateway {
40
43
  constructor(service, jwtService) {
41
44
  super(jwtService);
@@ -43,11 +46,10 @@ function DuplicateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeCo
43
46
  this.jwtService = jwtService;
44
47
  this.entity = entity;
45
48
  }
46
- async duplicateMany(socket, body) {
49
+ async duplicateMany(_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
  const toEntity = DuplicateManyData.toEntity;
53
55
  const list = await this.service.duplicateMany(ids, !(0, lodash_1.isEmpty)(data) && toEntity ? toEntity(data) : data);
@@ -60,6 +62,7 @@ function DuplicateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeCo
60
62
  }
61
63
  __decorate([
62
64
  (0, common_1.UseFilters)(new filters_1.DynamicAPIWsExceptionFilter()),
65
+ (0, common_1.UseGuards)(new guards_1.JwtSocketGuard(isPublic), GetManyPoliciesGuard),
63
66
  (0, websockets_1.SubscribeMessage)(event),
64
67
  __param(0, (0, websockets_1.ConnectedSocket)()),
65
68
  __param(1, (0, websockets_1.MessageBody)()),
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-many-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-many/duplicate-many-gateway.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duplicate-many-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-many/duplicate-many-gateway.mixin.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ function DuplicateOneControllerMixin(entity, controllerOptions, { dTOs, ...route
40
40
  body: DuplicateOneBody,
41
41
  presenter: DuplicateOnePresenter,
42
42
  });
43
- class DuplicateOnePoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
43
+ class DuplicateOnePoliciesGuard extends (0, mixins_1.RoutePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
44
44
  }
45
45
  class BaseDuplicateOneController {
46
46
  constructor(service) {
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-one/duplicate-one-controller.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duplicate-one-controller.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-one/duplicate-one-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 DuplicateOneGatewayMixin(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 DuplicateOneData extends (dTOs?.body ?? (0, mixins_1.EntityBodyMixin)(entity, true)) {
26
27
  }
27
28
  Object.defineProperty(DuplicateOneData, 'name', {
@@ -36,6 +37,8 @@ function DuplicateOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeCon
36
37
  : `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Response`,
37
38
  writable: false,
38
39
  });
40
+ class DuplicateOnePoliciesGuard extends (0, mixins_1.SocketPoliciesGuardMixin)(entity, routeType, event, version, abilityPredicate, isPublic) {
41
+ }
39
42
  class BaseDuplicateOneGateway extends gateways_1.BaseGateway {
40
43
  constructor(service, jwtService) {
41
44
  super(jwtService);
@@ -43,11 +46,10 @@ function DuplicateOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeCon
43
46
  this.jwtService = jwtService;
44
47
  this.entity = entity;
45
48
  }
46
- async duplicateOne(socket, body) {
49
+ async duplicateOne(_socket, body) {
47
50
  if (!body?.id) {
48
51
  throw new websockets_1.WsException('Invalid request body');
49
52
  }
50
- this.addUserToSocket(socket, isPublic);
51
53
  const { id, ...data } = body;
52
54
  const toEntity = DuplicateOneData.toEntity;
53
55
  const entity = await this.service.duplicateOne(id, !(0, lodash_1.isEmpty)(data) && toEntity ? toEntity(data) : data);
@@ -60,6 +62,7 @@ function DuplicateOneGatewayMixin(entity, controllerOptions, { dTOs, ...routeCon
60
62
  }
61
63
  __decorate([
62
64
  (0, common_1.UseFilters)(new filters_1.DynamicAPIWsExceptionFilter()),
65
+ (0, common_1.UseGuards)(new guards_1.JwtSocketGuard(isPublic), DuplicateOnePoliciesGuard),
63
66
  (0, websockets_1.SubscribeMessage)(event),
64
67
  __param(0, (0, websockets_1.ConnectedSocket)()),
65
68
  __param(1, (0, websockets_1.MessageBody)()),
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-one/duplicate-one-gateway.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duplicate-one-gateway.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-one/duplicate-one-gateway.mixin.ts"],"names":[],"mappings":"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"}