mongodb-dynamic-api 2.5.1 → 2.7.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 (190) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.json +1 -2
  3. package/src/builders/route-decorators/route-decorators.builder.d.ts +2 -1
  4. package/src/builders/route-decorators/route-decorators.builder.js +24 -14
  5. package/src/builders/route-decorators/route-decorators.builder.js.map +1 -1
  6. package/src/dynamic-api.module.js +4 -3
  7. package/src/dynamic-api.module.js.map +1 -1
  8. package/src/helpers/format.helper.d.ts +3 -3
  9. package/src/helpers/format.helper.js +8 -8
  10. package/src/helpers/format.helper.js.map +1 -1
  11. package/src/helpers/index.d.ts +1 -1
  12. package/src/helpers/index.js +1 -1
  13. package/src/helpers/index.js.map +1 -1
  14. package/src/helpers/mixin-data.helper.d.ts +12 -0
  15. package/src/helpers/mixin-data.helper.js +30 -0
  16. package/src/helpers/mixin-data.helper.js.map +1 -0
  17. package/src/interfaces/dynamic-api-route-config.interface.d.ts +1 -0
  18. package/src/interfaces/dynamic-api-route-dtos-bundle.type.d.ts +9 -1
  19. package/src/mixins/create-policies-guard.mixin.d.ts +1 -1
  20. package/src/mixins/create-policies-guard.mixin.js +2 -2
  21. package/src/mixins/create-policies-guard.mixin.js.map +1 -1
  22. package/src/mixins/entity-body.mixin.d.ts +1 -1
  23. package/src/mixins/entity-body.mixin.js +2 -2
  24. package/src/mixins/entity-body.mixin.js.map +1 -1
  25. package/src/routes/create-many/create-many-body.mixin.d.ts +17 -0
  26. package/src/routes/create-many/{create-many-body-dto.mixin.js → create-many-body.mixin.js} +15 -10
  27. package/src/routes/create-many/create-many-body.mixin.js.map +1 -0
  28. package/src/routes/create-many/create-many-controller.interface.d.ts +2 -2
  29. package/src/routes/create-many/create-many-controller.mixin.d.ts +1 -1
  30. package/src/routes/create-many/create-many-controller.mixin.js +36 -10
  31. package/src/routes/create-many/create-many-controller.mixin.js.map +1 -1
  32. package/src/routes/create-many/create-many-gateway.interface.d.ts +2 -2
  33. package/src/routes/create-many/create-many-gateway.mixin.d.ts +1 -1
  34. package/src/routes/create-many/create-many-gateway.mixin.js +30 -9
  35. package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
  36. package/src/routes/create-many/create-many-presenter.mixin.d.ts +17 -0
  37. package/src/routes/create-many/create-many-presenter.mixin.js +11 -0
  38. package/src/routes/create-many/create-many-presenter.mixin.js.map +1 -0
  39. package/src/routes/create-many/create-many.helper.d.ts +3 -3
  40. package/src/routes/create-many/create-many.helper.js +12 -8
  41. package/src/routes/create-many/create-many.helper.js.map +1 -1
  42. package/src/routes/create-many/create-many.module.js +4 -3
  43. package/src/routes/create-many/create-many.module.js.map +1 -1
  44. package/src/routes/create-many/index.d.ts +2 -1
  45. package/src/routes/create-many/index.js +2 -1
  46. package/src/routes/create-many/index.js.map +1 -1
  47. package/src/routes/create-one/create-one-controller.interface.d.ts +2 -2
  48. package/src/routes/create-one/create-one-controller.mixin.d.ts +1 -1
  49. package/src/routes/create-one/create-one-controller.mixin.js +26 -10
  50. package/src/routes/create-one/create-one-controller.mixin.js.map +1 -1
  51. package/src/routes/create-one/create-one-gateway.interface.d.ts +2 -2
  52. package/src/routes/create-one/create-one-gateway.mixin.d.ts +1 -1
  53. package/src/routes/create-one/create-one-gateway.mixin.js +23 -8
  54. package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
  55. package/src/routes/create-one/create-one.helper.d.ts +3 -3
  56. package/src/routes/create-one/create-one.helper.js +12 -8
  57. package/src/routes/create-one/create-one.helper.js.map +1 -1
  58. package/src/routes/create-one/create-one.module.js +4 -3
  59. package/src/routes/create-one/create-one.module.js.map +1 -1
  60. package/src/routes/delete-many/base-delete-many.service.js +3 -3
  61. package/src/routes/delete-many/base-delete-many.service.js.map +1 -1
  62. package/src/routes/delete-many/delete-many-controller.interface.d.ts +4 -3
  63. package/src/routes/delete-many/delete-many-controller.mixin.d.ts +1 -1
  64. package/src/routes/delete-many/delete-many-controller.mixin.js +17 -9
  65. package/src/routes/delete-many/delete-many-controller.mixin.js.map +1 -1
  66. package/src/routes/delete-many/delete-many-gateway.interface.d.ts +4 -4
  67. package/src/routes/delete-many/delete-many-gateway.mixin.d.ts +1 -1
  68. package/src/routes/delete-many/delete-many-gateway.mixin.js +14 -6
  69. package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -1
  70. package/src/routes/delete-many/delete-many.helper.d.ts +3 -3
  71. package/src/routes/delete-many/delete-many.helper.js +12 -8
  72. package/src/routes/delete-many/delete-many.helper.js.map +1 -1
  73. package/src/routes/delete-many/delete-many.module.js +4 -3
  74. package/src/routes/delete-many/delete-many.module.js.map +1 -1
  75. package/src/routes/delete-one/base-delete-one.service.js +3 -3
  76. package/src/routes/delete-one/base-delete-one.service.js.map +1 -1
  77. package/src/routes/delete-one/delete-one-controller.interface.d.ts +3 -3
  78. package/src/routes/delete-one/delete-one-controller.mixin.d.ts +1 -1
  79. package/src/routes/delete-one/delete-one-controller.mixin.js +18 -10
  80. package/src/routes/delete-one/delete-one-controller.mixin.js.map +1 -1
  81. package/src/routes/delete-one/delete-one-gateway.interface.d.ts +4 -4
  82. package/src/routes/delete-one/delete-one-gateway.mixin.d.ts +1 -1
  83. package/src/routes/delete-one/delete-one-gateway.mixin.js +14 -6
  84. package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -1
  85. package/src/routes/delete-one/delete-one.helper.d.ts +3 -3
  86. package/src/routes/delete-one/delete-one.helper.js +12 -8
  87. package/src/routes/delete-one/delete-one.helper.js.map +1 -1
  88. package/src/routes/delete-one/delete-one.module.js +4 -3
  89. package/src/routes/delete-one/delete-one.module.js.map +1 -1
  90. package/src/routes/duplicate-many/duplicate-many-controller.interface.d.ts +2 -2
  91. package/src/routes/duplicate-many/duplicate-many-controller.mixin.d.ts +1 -1
  92. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +27 -10
  93. package/src/routes/duplicate-many/duplicate-many-controller.mixin.js.map +1 -1
  94. package/src/routes/duplicate-many/duplicate-many-gateway.interface.d.ts +2 -2
  95. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.d.ts +1 -1
  96. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +23 -6
  97. package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -1
  98. package/src/routes/duplicate-many/duplicate-many-service.interface.d.ts +2 -2
  99. package/src/routes/duplicate-many/duplicate-many.helper.d.ts +3 -3
  100. package/src/routes/duplicate-many/duplicate-many.helper.js +12 -8
  101. package/src/routes/duplicate-many/duplicate-many.helper.js.map +1 -1
  102. package/src/routes/duplicate-many/duplicate-many.module.js +4 -3
  103. package/src/routes/duplicate-many/duplicate-many.module.js.map +1 -1
  104. package/src/routes/duplicate-one/duplicate-one-controller.interface.d.ts +2 -2
  105. package/src/routes/duplicate-one/duplicate-one-controller.mixin.d.ts +1 -1
  106. package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +27 -10
  107. package/src/routes/duplicate-one/duplicate-one-controller.mixin.js.map +1 -1
  108. package/src/routes/duplicate-one/duplicate-one-gateway.interface.d.ts +2 -2
  109. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.d.ts +1 -1
  110. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +23 -6
  111. package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -1
  112. package/src/routes/duplicate-one/duplicate-one.helper.d.ts +3 -3
  113. package/src/routes/duplicate-one/duplicate-one.helper.js +12 -8
  114. package/src/routes/duplicate-one/duplicate-one.helper.js.map +1 -1
  115. package/src/routes/duplicate-one/duplicate-one.module.js +4 -3
  116. package/src/routes/duplicate-one/duplicate-one.module.js.map +1 -1
  117. package/src/routes/get-many/get-many-controller.interface.d.ts +2 -2
  118. package/src/routes/get-many/get-many-controller.mixin.d.ts +1 -1
  119. package/src/routes/get-many/get-many-controller.mixin.js +25 -11
  120. package/src/routes/get-many/get-many-controller.mixin.js.map +1 -1
  121. package/src/routes/get-many/get-many-gateway.interface.d.ts +2 -2
  122. package/src/routes/get-many/get-many-gateway.mixin.d.ts +1 -1
  123. package/src/routes/get-many/get-many-gateway.mixin.js +23 -7
  124. package/src/routes/get-many/get-many-gateway.mixin.js.map +1 -1
  125. package/src/routes/get-many/get-many.helper.d.ts +3 -3
  126. package/src/routes/get-many/get-many.helper.js +12 -8
  127. package/src/routes/get-many/get-many.helper.js.map +1 -1
  128. package/src/routes/get-many/get-many.module.js +4 -3
  129. package/src/routes/get-many/get-many.module.js.map +1 -1
  130. package/src/routes/get-one/get-one-controller.interface.d.ts +2 -2
  131. package/src/routes/get-one/get-one-controller.mixin.d.ts +1 -1
  132. package/src/routes/get-one/get-one-controller.mixin.js +17 -7
  133. package/src/routes/get-one/get-one-controller.mixin.js.map +1 -1
  134. package/src/routes/get-one/get-one-gateway.interface.d.ts +2 -2
  135. package/src/routes/get-one/get-one-gateway.mixin.d.ts +1 -1
  136. package/src/routes/get-one/get-one-gateway.mixin.js +15 -6
  137. package/src/routes/get-one/get-one-gateway.mixin.js.map +1 -1
  138. package/src/routes/get-one/get-one.helper.d.ts +3 -3
  139. package/src/routes/get-one/get-one.helper.js +12 -8
  140. package/src/routes/get-one/get-one.helper.js.map +1 -1
  141. package/src/routes/get-one/get-one.module.js +4 -3
  142. package/src/routes/get-one/get-one.module.js.map +1 -1
  143. package/src/routes/replace-one/replace-one-controller.interface.d.ts +2 -2
  144. package/src/routes/replace-one/replace-one-controller.mixin.d.ts +1 -1
  145. package/src/routes/replace-one/replace-one-controller.mixin.js +28 -11
  146. package/src/routes/replace-one/replace-one-controller.mixin.js.map +1 -1
  147. package/src/routes/replace-one/replace-one-gateway.interface.d.ts +2 -2
  148. package/src/routes/replace-one/replace-one-gateway.mixin.d.ts +1 -1
  149. package/src/routes/replace-one/replace-one-gateway.mixin.js +23 -7
  150. package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -1
  151. package/src/routes/replace-one/replace-one.helper.d.ts +3 -3
  152. package/src/routes/replace-one/replace-one.helper.js +12 -8
  153. package/src/routes/replace-one/replace-one.helper.js.map +1 -1
  154. package/src/routes/replace-one/replace-one.module.js +4 -3
  155. package/src/routes/replace-one/replace-one.module.js.map +1 -1
  156. package/src/routes/update-many/update-many-controller.interface.d.ts +2 -2
  157. package/src/routes/update-many/update-many-controller.mixin.d.ts +1 -1
  158. package/src/routes/update-many/update-many-controller.mixin.js +30 -10
  159. package/src/routes/update-many/update-many-controller.mixin.js.map +1 -1
  160. package/src/routes/update-many/update-many-gateway.interface.d.ts +2 -2
  161. package/src/routes/update-many/update-many-gateway.mixin.d.ts +1 -1
  162. package/src/routes/update-many/update-many-gateway.mixin.js +24 -7
  163. package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
  164. package/src/routes/update-many/update-many.helper.d.ts +3 -3
  165. package/src/routes/update-many/update-many.helper.js +12 -8
  166. package/src/routes/update-many/update-many.helper.js.map +1 -1
  167. package/src/routes/update-many/update-many.module.js +4 -3
  168. package/src/routes/update-many/update-many.module.js.map +1 -1
  169. package/src/routes/update-one/update-one-controller.interface.d.ts +2 -2
  170. package/src/routes/update-one/update-one-controller.mixin.d.ts +1 -1
  171. package/src/routes/update-one/update-one-controller.mixin.js +32 -11
  172. package/src/routes/update-one/update-one-controller.mixin.js.map +1 -1
  173. package/src/routes/update-one/update-one-gateway.interface.d.ts +2 -2
  174. package/src/routes/update-one/update-one-gateway.mixin.d.ts +1 -1
  175. package/src/routes/update-one/update-one-gateway.mixin.js +23 -7
  176. package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -1
  177. package/src/routes/update-one/update-one.helper.d.ts +3 -3
  178. package/src/routes/update-one/update-one.helper.js +12 -8
  179. package/src/routes/update-one/update-one.helper.js.map +1 -1
  180. package/src/routes/update-one/update-one.module.js +4 -3
  181. package/src/routes/update-one/update-one.module.js.map +1 -1
  182. package/src/services/base/base.service.js +5 -4
  183. package/src/services/base/base.service.js.map +1 -1
  184. package/src/version.json +1 -1
  185. package/tsconfig.tsbuildinfo +1 -1
  186. package/src/helpers/controller-mixin.helper.d.ts +0 -42
  187. package/src/helpers/controller-mixin.helper.js +0 -132
  188. package/src/helpers/controller-mixin.helper.js.map +0 -1
  189. package/src/routes/create-many/create-many-body-dto.mixin.d.ts +0 -7
  190. package/src/routes/create-many/create-many-body-dto.mixin.js.map +0 -1
@@ -25,7 +25,7 @@ const helpers_1 = require("../../helpers");
25
25
  const base_delete_one_service_1 = require("./base-delete-one.service");
26
26
  const delete_one_controller_mixin_1 = require("./delete-one-controller.mixin");
27
27
  const delete_one_gateway_mixin_1 = require("./delete-one-gateway.mixin");
28
- function createDeleteOneServiceProvider(entity, version) {
28
+ function createDeleteOneServiceProvider(entity, displayedName, version) {
29
29
  let DeleteOneService = class DeleteOneService extends base_delete_one_service_1.BaseDeleteOneService {
30
30
  constructor(model) {
31
31
  super(model);
@@ -38,16 +38,16 @@ function createDeleteOneServiceProvider(entity, version) {
38
38
  __metadata("design:paramtypes", [mongoose_2.Model])
39
39
  ], DeleteOneService);
40
40
  Object.defineProperty(DeleteOneService, 'name', {
41
- value: (0, helpers_1.provideName)('DeleteOne', entity.name, version, 'Service'),
41
+ value: (0, helpers_1.provideName)('DeleteOne', displayedName, version, 'Service'),
42
42
  writable: false,
43
43
  });
44
44
  return {
45
- provide: (0, helpers_1.provideName)('DeleteOne', entity.name, version, 'Service'),
45
+ provide: (0, helpers_1.provideName)('DeleteOne', displayedName, version, 'Service'),
46
46
  useClass: DeleteOneService,
47
47
  };
48
48
  }
49
49
  exports.createDeleteOneServiceProvider = createDeleteOneServiceProvider;
50
- function createDeleteOneController(entity, controllerOptions, routeConfig, version, validationPipeOptions) {
50
+ function createDeleteOneController(entity, displayedName, controllerOptions, routeConfig, version, validationPipeOptions) {
51
51
  const { path, apiTag } = controllerOptions;
52
52
  let DeleteOneController = class DeleteOneController extends (0, delete_one_controller_mixin_1.DeleteOneControllerMixin)(entity, controllerOptions, routeConfig, version) {
53
53
  constructor(service) {
@@ -60,17 +60,17 @@ function createDeleteOneController(entity, controllerOptions, routeConfig, versi
60
60
  (0, swagger_1.ApiTags)(apiTag || entity.name),
61
61
  (0, decorators_1.ValidatorPipe)(validationPipeOptions),
62
62
  (0, common_1.UseInterceptors)(common_1.ClassSerializerInterceptor),
63
- __param(0, (0, common_1.Inject)((0, helpers_1.provideName)('DeleteOne', entity.name, version, 'Service'))),
63
+ __param(0, (0, common_1.Inject)((0, helpers_1.provideName)('DeleteOne', displayedName, version, 'Service'))),
64
64
  __metadata("design:paramtypes", [Object])
65
65
  ], DeleteOneController);
66
66
  Object.defineProperty(DeleteOneController, 'name', {
67
- value: `${(0, helpers_1.provideName)('DeleteOne', entity.name, version, 'Controller')}`,
67
+ value: `${(0, helpers_1.provideName)('DeleteOne', displayedName, version, 'Controller')}`,
68
68
  writable: false,
69
69
  });
70
70
  return DeleteOneController;
71
71
  }
72
72
  exports.createDeleteOneController = createDeleteOneController;
73
- function createDeleteOneGateway(entity, controllerOptions, routeConfig, version, validationPipeOptions, gatewayOptions = {}) {
73
+ function createDeleteOneGateway(entity, displayedName, controllerOptions, routeConfig, version, validationPipeOptions, gatewayOptions = {}) {
74
74
  let DeleteOneGateway = class DeleteOneGateway extends (0, delete_one_gateway_mixin_1.DeleteOneGatewayMixin)(entity, controllerOptions, routeConfig, version) {
75
75
  constructor(service, jwtService) {
76
76
  super(service, jwtService);
@@ -81,9 +81,13 @@ function createDeleteOneGateway(entity, controllerOptions, routeConfig, version,
81
81
  DeleteOneGateway = __decorate([
82
82
  (0, websockets_1.WebSocketGateway)(gatewayOptions),
83
83
  (0, decorators_1.ValidatorPipe)(validationPipeOptions),
84
- __param(0, (0, common_1.Inject)((0, helpers_1.provideName)(routeConfig.type, entity.name, version, 'Service'))),
84
+ __param(0, (0, common_1.Inject)((0, helpers_1.provideName)(routeConfig.type, displayedName, version, 'Service'))),
85
85
  __metadata("design:paramtypes", [Object, jwt_1.JwtService])
86
86
  ], DeleteOneGateway);
87
+ Object.defineProperty(DeleteOneGateway, 'name', {
88
+ value: `${(0, helpers_1.provideName)(routeConfig.type, displayedName, version, 'Gateway')}`,
89
+ writable: false,
90
+ });
87
91
  return DeleteOneGateway;
88
92
  }
89
93
  exports.createDeleteOneGateway = createDeleteOneGateway;
@@ -1 +1 @@
1
- {"version":3,"file":"delete-one.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-one/delete-one.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete-one.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-one/delete-one.helper.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,9 @@ const helpers_1 = require("../../helpers");
14
14
  const delete_one_helper_1 = require("./delete-one.helper");
15
15
  let DeleteOneModule = DeleteOneModule_1 = class DeleteOneModule {
16
16
  static forFeature(databaseModule, entity, controllerOptions, routeConfig, version, validationPipeOptions, webSocket) {
17
- const controller = (0, delete_one_helper_1.createDeleteOneController)(entity, controllerOptions, routeConfig, version, validationPipeOptions);
18
- const ServiceProvider = (0, delete_one_helper_1.createDeleteOneServiceProvider)(entity, version);
17
+ const displayedName = (0, helpers_1.getDisplayedName)(controllerOptions.apiTag, entity.name, routeConfig.subPath);
18
+ const controller = (0, delete_one_helper_1.createDeleteOneController)(entity, displayedName, controllerOptions, routeConfig, version, validationPipeOptions);
19
+ const ServiceProvider = (0, delete_one_helper_1.createDeleteOneServiceProvider)(entity, displayedName, version);
19
20
  const gatewayOptions = webSocket
20
21
  ? (0, helpers_1.initializeConfigFromOptions)(webSocket)
21
22
  : dynamic_api_module_1.DynamicApiModule.state.get('gatewayOptions');
@@ -26,7 +27,7 @@ let DeleteOneModule = DeleteOneModule_1 = class DeleteOneModule {
26
27
  providers: [
27
28
  ServiceProvider,
28
29
  ...(gatewayOptions ? [
29
- (0, delete_one_helper_1.createDeleteOneGateway)(entity, controllerOptions, routeConfig, version, validationPipeOptions, gatewayOptions),
30
+ (0, delete_one_helper_1.createDeleteOneGateway)(entity, displayedName, controllerOptions, routeConfig, version, validationPipeOptions, gatewayOptions),
30
31
  ] : []),
31
32
  ],
32
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"delete-one.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-one/delete-one.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoF;AAEpF,iEAA4D;AAC5D,2CAA4D;AAG5D,2DAI6B;AAGtB,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC1B,MAAM,CAAC,UAAU,CACf,cAA6B,EAC7B,MAAoB,EACpB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB,EAChB,qBAA6C,EAC7C,SAAsC;QAEtC,MAAM,UAAU,GAAG,IAAA,6CAAyB,EAC1C,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,CACtB,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,kDAA8B,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAExE,MAAM,cAAc,GAAG,SAAS;YAC9B,CAAC,CAAC,IAAA,qCAA2B,EAAC,SAAS,CAAC;YACxC,CAAC,CAAC,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAkB,gBAAgB,CAAC,CAAC;QAElE,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,OAAO,EAAE,CAAC,cAAc,CAAC;YACzB,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,SAAS,EAAE;gBACT,eAAe;gBACf,GAAG,CACD,cAAc,CAAC,CAAC,CAAC;oBACf,IAAA,0CAAsB,EACpB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,cAAc,CACf;iBACF,CAAC,CAAC,CAAC,EAAE,CACP;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AA5CY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,eAAe,CA4C3B"}
1
+ {"version":3,"file":"delete-one.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/delete-one/delete-one.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoF;AAEpF,iEAA4D;AAC5D,2CAA8E;AAG9E,2DAI6B;AAGtB,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC1B,MAAM,CAAC,UAAU,CACf,cAA6B,EAC7B,MAAoB,EACpB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB,EAChB,qBAA6C,EAC7C,SAAsC;QAEtC,MAAM,aAAa,GAAG,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnG,MAAM,UAAU,GAAG,IAAA,6CAAyB,EAC1C,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,CACtB,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,kDAA8B,EAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAEvF,MAAM,cAAc,GAAG,SAAS;YAC9B,CAAC,CAAC,IAAA,qCAA2B,EAAC,SAAS,CAAC;YACxC,CAAC,CAAC,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAkB,gBAAgB,CAAC,CAAC;QAElE,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,OAAO,EAAE,CAAC,cAAc,CAAC;YACzB,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,SAAS,EAAE;gBACT,eAAe;gBACf,GAAG,CACD,cAAc,CAAC,CAAC,CAAC;oBACf,IAAA,0CAAsB,EACpB,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,cAAc,CACf;iBACF,CAAC,CAAC,CAAC,EAAE,CACP;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAhDY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,eAAe,CAgD3B"}
@@ -1,7 +1,7 @@
1
1
  import { BaseEntity } from '../../models';
2
2
  import { DuplicateManyService } from './duplicate-many-service.interface';
3
- interface DuplicateManyController<Entity extends BaseEntity> {
4
- duplicateMany(ids: string[], body?: Partial<Entity>): Promise<Entity[]>;
3
+ interface DuplicateManyController<Entity extends BaseEntity, Response = any> {
4
+ duplicateMany(ids: string[], body?: Partial<Entity>): Promise<(Entity | Response)[]>;
5
5
  }
6
6
  type DuplicateManyControllerConstructor<Entity extends BaseEntity> = new (service: DuplicateManyService<Entity>) => DuplicateManyController<Entity>;
7
7
  export type { DuplicateManyController, DuplicateManyControllerConstructor };
@@ -2,5 +2,5 @@ import { Type } from '@nestjs/common';
2
2
  import { DynamicApiControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
3
3
  import { BaseEntity } from '../../models';
4
4
  import { DuplicateManyControllerConstructor } from './duplicate-many-controller.interface';
5
- declare function DuplicateManyControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string): DuplicateManyControllerConstructor<Entity>;
5
+ declare function DuplicateManyControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, { dTOs, ...routeConfig }: DynamicAPIRouteConfig<Entity>, version?: string): DuplicateManyControllerConstructor<Entity>;
6
6
  export { DuplicateManyControllerMixin };
@@ -14,17 +14,31 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.DuplicateManyControllerMixin = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const lodash_1 = require("lodash");
17
18
  const builders_1 = require("../../builders");
18
19
  const helpers_1 = require("../../helpers");
19
20
  const mixins_1 = require("../../mixins");
20
- function DuplicateManyControllerMixin(entity, controllerOptions, routeConfig, version) {
21
- var _a;
22
- const { routeType, description, isPublic, RouteBody, RoutePresenter, abilityPredicate, } = (0, helpers_1.getControllerMixinData)(entity, controllerOptions, routeConfig, version);
23
- const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder(routeType, entity, version, description, isPublic, {
24
- body: RouteBody,
25
- presenter: RoutePresenter,
21
+ function DuplicateManyControllerMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
22
+ const { routeType, displayedName, description, isPublic, abilityPredicate, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig);
23
+ class DuplicateManyBody extends (dTOs?.body ?? (0, mixins_1.EntityBodyMixin)(entity, true)) {
24
+ }
25
+ Object.defineProperty(DuplicateManyBody, 'name', {
26
+ value: `${routeType}${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Dto`,
27
+ writable: false,
28
+ });
29
+ class DuplicateManyPresenter extends (dTOs?.presenter ?? (0, mixins_1.EntityPresenterMixin)(entity)) {
30
+ }
31
+ Object.defineProperty(DuplicateManyPresenter, 'name', {
32
+ value: dTOs?.presenter
33
+ ? `${routeType}${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`
34
+ : `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`,
35
+ writable: false,
36
+ });
37
+ const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder(routeType, entity, routeConfig.subPath, version, description, isPublic, {
38
+ body: DuplicateManyBody,
39
+ presenter: DuplicateManyPresenter,
26
40
  });
27
- class DuplicateManyPoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, version, abilityPredicate) {
41
+ class DuplicateManyPoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
28
42
  }
29
43
  class BaseDuplicateManyController {
30
44
  constructor(service) {
@@ -32,7 +46,10 @@ function DuplicateManyControllerMixin(entity, controllerOptions, routeConfig, ve
32
46
  this.entity = entity;
33
47
  }
34
48
  async duplicateMany(ids, body) {
35
- return this.service.duplicateMany(ids, body);
49
+ const toEntity = DuplicateManyBody.toEntity;
50
+ const list = await this.service.duplicateMany(ids, !(0, lodash_1.isEmpty)(body) && toEntity ? toEntity(body) : body);
51
+ const fromEntities = DuplicateManyPresenter.fromEntities;
52
+ return fromEntities ? fromEntities(list) : list;
36
53
  }
37
54
  }
38
55
  __decorate([
@@ -41,11 +58,11 @@ function DuplicateManyControllerMixin(entity, controllerOptions, routeConfig, ve
41
58
  __param(0, (0, common_1.Query)('ids')),
42
59
  __param(1, (0, common_1.Body)()),
43
60
  __metadata("design:type", Function),
44
- __metadata("design:paramtypes", [Array, typeof (_a = typeof RouteBody !== "undefined" && RouteBody) === "function" ? _a : Object]),
61
+ __metadata("design:paramtypes", [Array, DuplicateManyBody]),
45
62
  __metadata("design:returntype", Promise)
46
63
  ], BaseDuplicateManyController.prototype, "duplicateMany", null);
47
64
  Object.defineProperty(BaseDuplicateManyController, 'name', {
48
- value: `Base${(0, helpers_1.provideName)('DuplicateMany', entity.name, version, 'Controller')}`,
65
+ value: `Base${(0, helpers_1.provideName)('DuplicateMany', displayedName, version, 'Controller')}`,
49
66
  writable: false,
50
67
  });
51
68
  return BaseDuplicateManyController;
@@ -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":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,6CAAwD;AACxD,2CAA2F;AAE3F,yCAAwD;AAKxD,SAAS,4BAA4B,CACnC,MAAoB,EACpB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB;;IAEhB,MAAM,EACJ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,cAAc,EACd,gBAAgB,GACjB,GAAG,IAAA,gCAAsB,EACxB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,OAAO,CACR,CAAC;IAEF,MAAM,sBAAsB,GAAG,IAAI,iCAAsB,CACvD,SAAS,EACT,MAAM,EACN,OAAO,EACP,WAAW,EACX,QAAQ,EACR;QACE,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,cAAc;KAC1B,CACF,CAAC;IAEF,MAAM,0BAA2B,SAAQ,IAAA,iCAAwB,EAC/D,MAAM,EACN,SAAS,EACT,OAAO,EACP,gBAAgB,CACjB;KAAG;IAEJ,MAAM,2BAA2B;QAG/B,YAA+B,OAAqC;YAArC,YAAO,GAAP,OAAO,CAA8B;YAFjD,WAAM,GAAG,MAAM,CAAC;QAGnC,CAAC;QAKK,AAAN,KAAK,CAAC,aAAa,CAAe,GAAa,EAAU,IAAgB;YACvE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,IAAW,CAAC,CAAC;QACtD,CAAC;KACF;IAHO;QAHL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,0BAA0B,CAAC;QAEjB,WAAA,IAAA,cAAK,EAAC,KAAK,CAAC,CAAA;QAAiB,WAAA,IAAA,aAAI,GAAE,CAAA;;oEAAQ,SAAS,oBAAT,SAAS;;oEAExE;IAGH,MAAM,CAAC,cAAc,CAAC,2BAA2B,EAAE,MAAM,EAAE;QACzD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;QAChF,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAEQ,oEAA4B"}
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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"}
@@ -3,8 +3,8 @@ import { ManyEntityQuery } from '../../dtos';
3
3
  import { ExtendedSocket, GatewayResponse } from '../../interfaces';
4
4
  import { BaseEntity } from '../../models';
5
5
  import { DuplicateManyService } from './duplicate-many-service.interface';
6
- interface DuplicateManyGateway<Entity extends BaseEntity> {
7
- duplicateMany(socket: ExtendedSocket, body: ManyEntityQuery & Partial<Entity>): GatewayResponse<Entity[]>;
6
+ interface DuplicateManyGateway<Entity extends BaseEntity, Response = any> {
7
+ duplicateMany(socket: ExtendedSocket, body: ManyEntityQuery & Partial<Entity>): GatewayResponse<(Entity | Response)[]>;
8
8
  }
9
9
  type DuplicateManyGatewayConstructor<Entity extends BaseEntity> = new (service: DuplicateManyService<Entity>, jwtService: JwtService) => DuplicateManyGateway<Entity>;
10
10
  export type { DuplicateManyGateway, DuplicateManyGatewayConstructor };
@@ -2,5 +2,5 @@ import { Type } from '@nestjs/common';
2
2
  import { DynamicApiControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
3
3
  import { BaseEntity } from '../../models';
4
4
  import { DuplicateManyGatewayConstructor } from './duplicate-many-gateway.interface';
5
- declare function DuplicateManyGatewayMixin<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string): DuplicateManyGatewayConstructor<Entity>;
5
+ declare function DuplicateManyGatewayMixin<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, { dTOs, ...routeConfig }: DynamicAPIRouteConfig<Entity>, version?: string): DuplicateManyGatewayConstructor<Entity>;
6
6
  export { DuplicateManyGatewayMixin };
@@ -19,9 +19,23 @@ const lodash_1 = require("lodash");
19
19
  const dynamic_api_ws_exception_filter_1 = require("../../filters/ws-exception/dynamic-api-ws-exception.filter");
20
20
  const gateways_1 = require("../../gateways");
21
21
  const helpers_1 = require("../../helpers");
22
- function DuplicateManyGatewayMixin(entity, controllerOptions, routeConfig, version) {
23
- const { routeType, isPublic, } = (0, helpers_1.getControllerMixinData)(entity, controllerOptions, routeConfig, version);
24
- const event = routeConfig.eventName ?? (0, lodash_1.kebabCase)(`${controllerOptions.path}/${routeType}`);
22
+ const mixins_1 = require("../../mixins");
23
+ function DuplicateManyGatewayMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
24
+ const { routeType, displayedName, isPublic, event, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig, true);
25
+ class DuplicateManyData extends (dTOs?.body ?? (0, mixins_1.EntityBodyMixin)(entity, true)) {
26
+ }
27
+ Object.defineProperty(DuplicateManyData, 'name', {
28
+ value: `DuplicateMany${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Data`,
29
+ writable: false,
30
+ });
31
+ class DuplicateManyResponse extends (dTOs?.presenter ?? (0, mixins_1.EntityPresenterMixin)(entity)) {
32
+ }
33
+ Object.defineProperty(DuplicateManyResponse, 'name', {
34
+ value: dTOs?.presenter
35
+ ? `DuplicateMany${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Response`
36
+ : `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Response`,
37
+ writable: false,
38
+ });
25
39
  class BaseDuplicateManyGateway extends gateways_1.BaseGateway {
26
40
  constructor(service, jwtService) {
27
41
  super(jwtService);
@@ -34,10 +48,13 @@ function DuplicateManyGatewayMixin(entity, controllerOptions, routeConfig, versi
34
48
  throw new websockets_1.WsException('Invalid request body');
35
49
  }
36
50
  this.addUserToSocket(socket, isPublic);
37
- const { ids, ...partialEntity } = body;
51
+ const { ids, ...data } = body;
52
+ const toEntity = DuplicateManyData.toEntity;
53
+ const list = await this.service.duplicateMany(ids, !(0, lodash_1.isEmpty)(data) && toEntity ? toEntity(data) : data);
54
+ const fromEntities = DuplicateManyResponse.fromEntities;
38
55
  return {
39
56
  event,
40
- data: await this.service.duplicateMany(ids, partialEntity),
57
+ data: fromEntities ? fromEntities(list) : list,
41
58
  };
42
59
  }
43
60
  }
@@ -51,7 +68,7 @@ function DuplicateManyGatewayMixin(entity, controllerOptions, routeConfig, versi
51
68
  __metadata("design:returntype", Promise)
52
69
  ], BaseDuplicateManyGateway.prototype, "duplicateMany", null);
53
70
  Object.defineProperty(BaseDuplicateManyGateway, 'name', {
54
- value: `Base${(0, helpers_1.provideName)(routeType, entity.name, version, 'Gateway')}`,
71
+ value: `Base${(0, helpers_1.provideName)(routeType, displayedName, version, 'Gateway')}`,
55
72
  writable: false,
56
73
  });
57
74
  return BaseDuplicateManyGateway;
@@ -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":";;;;;;;;;;;;;;;AAAA,2CAAkD;AAElD,mDAAiG;AACjG,mCAAmC;AAEnC,gHAAyG;AACzG,6CAA6C;AAC7C,2CAAoE;AAMpE,SAAS,yBAAyB,CAChC,MAAoB,EACpB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB;IAEhB,MAAM,EACJ,SAAS,EACT,QAAQ,GACT,GAAG,IAAA,gCAAsB,EACxB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,OAAO,CACR,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,IAAI,IAAA,kBAAS,EAAC,GAAG,iBAAiB,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;IAE3F,MAAM,wBAAyB,SAAQ,sBAAmB;QAGxD,YACqB,OAAqC,EACrC,UAAsB;YAEzC,KAAK,CAAC,UAAU,CAAC,CAAC;YAHC,YAAO,GAAP,OAAO,CAA8B;YACrC,eAAU,GAAV,UAAU,CAAY;YAJxB,WAAM,GAAG,MAAM,CAAC;QAOnC,CAAC;QAIK,AAAN,KAAK,CAAC,aAAa,CACE,MAA8B,EAClC,IAAuC;YAEtD,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,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC;YAEvC,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,aAA2C,CAAC;aACzF,CAAC;QACJ,CAAC;KACF;IAjBO;QAFL,IAAA,mBAAU,EAAC,IAAI,6DAA2B,EAAE,CAAC;QAC7C,IAAA,6BAAgB,EAAC,KAAK,CAAC;QAErB,WAAA,IAAA,4BAAe,GAAE,CAAA;QACjB,WAAA,IAAA,wBAAW,GAAE,CAAA;;;;iEAcf;IAGH,MAAM,CAAC,cAAc,CAAC,wBAAwB,EAAE,MAAM,EAAE;QACtD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;QACvE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAEQ,8DAAyB"}
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,5 +1,5 @@
1
1
  import { BaseEntity } from '../../models';
2
- interface DuplicateManyService<Entity extends BaseEntity> {
3
- duplicateMany(ids: string[], partial: Partial<Entity> | undefined): Promise<Entity[]>;
2
+ interface DuplicateManyService<Entity extends BaseEntity, Response = any> {
3
+ duplicateMany(ids: string[], partial?: Partial<Entity>): Promise<(Entity | Response)[]>;
4
4
  }
5
5
  export type { DuplicateManyService };
@@ -3,7 +3,7 @@ import { DynamicApiControllerOptions, DynamicAPIRouteConfig, DynamicApiServiceCa
3
3
  import { BaseEntity } from '../../models';
4
4
  import { DuplicateManyControllerConstructor } from './duplicate-many-controller.interface';
5
5
  import { DuplicateManyGatewayConstructor } from './duplicate-many-gateway.interface';
6
- declare function createDuplicateManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, version: string | undefined, callback: DynamicApiServiceCallback<Entity> | undefined): DynamicAPIServiceProvider;
7
- declare function createDuplicateManyController<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DuplicateManyControllerConstructor<Entity>;
8
- declare function createDuplicateManyGateway<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions, gatewayOptions?: GatewayOptions): DuplicateManyGatewayConstructor<Entity>;
6
+ declare function createDuplicateManyServiceProvider<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, version: string | undefined, callback: DynamicApiServiceCallback<Entity> | undefined): DynamicAPIServiceProvider;
7
+ declare function createDuplicateManyController<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, controllerOptions: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions): DuplicateManyControllerConstructor<Entity>;
8
+ declare function createDuplicateManyGateway<Entity extends BaseEntity>(entity: Type<Entity>, displayedName: string, controllerOptions: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string, validationPipeOptions?: ValidationPipeOptions, gatewayOptions?: GatewayOptions): DuplicateManyGatewayConstructor<Entity>;
9
9
  export { createDuplicateManyController, createDuplicateManyGateway, createDuplicateManyServiceProvider };
@@ -25,7 +25,7 @@ const helpers_1 = require("../../helpers");
25
25
  const base_duplicate_many_service_1 = require("./base-duplicate-many.service");
26
26
  const duplicate_many_controller_mixin_1 = require("./duplicate-many-controller.mixin");
27
27
  const duplicate_many_gateway_mixin_1 = require("./duplicate-many-gateway.mixin");
28
- function createDuplicateManyServiceProvider(entity, version, callback) {
28
+ function createDuplicateManyServiceProvider(entity, displayedName, version, callback) {
29
29
  let DuplicateManyService = class DuplicateManyService extends base_duplicate_many_service_1.BaseDuplicateManyService {
30
30
  constructor(model) {
31
31
  super(model);
@@ -39,16 +39,16 @@ function createDuplicateManyServiceProvider(entity, version, callback) {
39
39
  __metadata("design:paramtypes", [mongoose_2.Model])
40
40
  ], DuplicateManyService);
41
41
  Object.defineProperty(DuplicateManyService, 'name', {
42
- value: (0, helpers_1.provideName)('DuplicateMany', entity.name, version, 'Service'),
42
+ value: (0, helpers_1.provideName)('DuplicateMany', displayedName, version, 'Service'),
43
43
  writable: false,
44
44
  });
45
45
  return {
46
- provide: (0, helpers_1.provideName)('DuplicateMany', entity.name, version, 'Service'),
46
+ provide: (0, helpers_1.provideName)('DuplicateMany', displayedName, version, 'Service'),
47
47
  useClass: DuplicateManyService,
48
48
  };
49
49
  }
50
50
  exports.createDuplicateManyServiceProvider = createDuplicateManyServiceProvider;
51
- function createDuplicateManyController(entity, controllerOptions, routeConfig, version, validationPipeOptions) {
51
+ function createDuplicateManyController(entity, displayedName, controllerOptions, routeConfig, version, validationPipeOptions) {
52
52
  const { path, apiTag } = controllerOptions;
53
53
  let DuplicateManyController = class DuplicateManyController extends (0, duplicate_many_controller_mixin_1.DuplicateManyControllerMixin)(entity, controllerOptions, routeConfig, version) {
54
54
  constructor(service) {
@@ -61,17 +61,17 @@ function createDuplicateManyController(entity, controllerOptions, routeConfig, v
61
61
  (0, swagger_1.ApiTags)(apiTag || entity.name),
62
62
  (0, decorators_1.ValidatorPipe)(validationPipeOptions),
63
63
  (0, common_1.UseInterceptors)(common_1.ClassSerializerInterceptor),
64
- __param(0, (0, common_1.Inject)((0, helpers_1.provideName)('DuplicateMany', entity.name, version, 'Service'))),
64
+ __param(0, (0, common_1.Inject)((0, helpers_1.provideName)('DuplicateMany', displayedName, version, 'Service'))),
65
65
  __metadata("design:paramtypes", [Object])
66
66
  ], DuplicateManyController);
67
67
  Object.defineProperty(DuplicateManyController, 'name', {
68
- value: `${(0, helpers_1.provideName)('DuplicateMany', entity.name, version, 'Controller')}`,
68
+ value: `${(0, helpers_1.provideName)('DuplicateMany', displayedName, version, 'Controller')}`,
69
69
  writable: false,
70
70
  });
71
71
  return DuplicateManyController;
72
72
  }
73
73
  exports.createDuplicateManyController = createDuplicateManyController;
74
- function createDuplicateManyGateway(entity, controllerOptions, routeConfig, version, validationPipeOptions, gatewayOptions = {}) {
74
+ function createDuplicateManyGateway(entity, displayedName, controllerOptions, routeConfig, version, validationPipeOptions, gatewayOptions = {}) {
75
75
  let DuplicateManyGateway = class DuplicateManyGateway extends (0, duplicate_many_gateway_mixin_1.DuplicateManyGatewayMixin)(entity, controllerOptions, routeConfig, version) {
76
76
  constructor(service, jwtService) {
77
77
  super(service, jwtService);
@@ -82,9 +82,13 @@ function createDuplicateManyGateway(entity, controllerOptions, routeConfig, vers
82
82
  DuplicateManyGateway = __decorate([
83
83
  (0, websockets_1.WebSocketGateway)(gatewayOptions),
84
84
  (0, decorators_1.ValidatorPipe)(validationPipeOptions),
85
- __param(0, (0, common_1.Inject)((0, helpers_1.provideName)(routeConfig.type, entity.name, version, 'Service'))),
85
+ __param(0, (0, common_1.Inject)((0, helpers_1.provideName)(routeConfig.type, displayedName, version, 'Service'))),
86
86
  __metadata("design:paramtypes", [Object, jwt_1.JwtService])
87
87
  ], DuplicateManyGateway);
88
+ Object.defineProperty(DuplicateManyGateway, 'name', {
89
+ value: `${(0, helpers_1.provideName)(routeConfig.type, displayedName, version, 'Gateway')}`,
90
+ writable: false,
91
+ });
88
92
  return DuplicateManyGateway;
89
93
  }
90
94
  exports.createDuplicateManyGateway = createDuplicateManyGateway;
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-many.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-many/duplicate-many.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duplicate-many.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-many/duplicate-many.helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAOwB;AACxB,qCAAyC;AACzC,+CAA+C;AAC/C,6CAA0C;AAC1C,mDAAsD;AACtD,uCAAiC;AACjC,iDAAiD;AACjD,iEAA4D;AAC5D,2CAA4C;AAS5C,+EAAyE;AAEzE,uFAAiF;AAEjF,iFAA2E;AAG3E,SAAS,kCAAkC,CACzC,MAAoB,EACpB,aAAqB,EACrB,OAA2B,EAC3B,QAAuD;IAEvD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,sDAAgC;QAIjE,YAKE,KAAuC;YAEvC,KAAK,CAAC,KAAK,CAAC,CAAC;YAFM,UAAK,GAAL,KAAK,CAAe;YARtB,WAAM,GAAG,MAAM,CAAC;YAChB,aAAQ,GAAG,QAAQ,CAAC;QAUvC,CAAC;KACF,CAAA;IAbK,oBAAoB;QAKrB,WAAA,IAAA,sBAAW,EACV,MAAM,CAAC,IAAI,EACX,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAC7C,CAAA;yCACyB,gBAAK;OAT7B,oBAAoB,CAazB;IAED,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE;QAClD,KAAK,EAAE,IAAA,qBAAW,EAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC;QACtE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,IAAA,qBAAW,EAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC;QACxE,QAAQ,EAAE,oBAAoB;KAC/B,CAAC;AACJ,CAAC;AAwEmE,gFAAkC;AAtEtG,SAAS,6BAA6B,CACpC,MAAoB,EACpB,aAAqB,EACrB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB,EAChB,qBAA6C;IAE7C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC;IAE3C,IAIM,uBAAuB,GAJ7B,MAIM,uBAAwB,SAAQ,IAAA,8DAA4B,EAChE,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,OAAO,CACR;QACC,YAEqB,OAAqC;YAExD,KAAK,CAAC,OAAO,CAAC,CAAC;YAFI,YAAO,GAAP,OAAO,CAA8B;QAG1D,CAAC;KACF,CAAA;IAZK,uBAAuB;QAJ5B,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC7B,IAAA,iBAAO,EAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC;QAC9B,IAAA,0BAAa,EAAC,qBAAqB,CAAC;QACpC,IAAA,wBAAe,EAAC,mCAA0B,CAAC;QAQvC,WAAA,IAAA,eAAM,EAAC,IAAA,qBAAW,EAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;;OAPtE,uBAAuB,CAY5B;IAED,MAAM,CAAC,cAAc,CAAC,uBAAuB,EAAE,MAAM,EAAE;QACrD,KAAK,EAAE,GAAG,IAAA,qBAAW,EAAC,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;QAC9E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAoCQ,sEAA6B;AAlCtC,SAAS,0BAA0B,CACjC,MAAoB,EACpB,aAAqB,EACrB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB,EAChB,qBAA6C,EAC7C,iBAAiC,EAAE;IAEnC,IAEM,oBAAoB,GAF1B,MAEM,oBAAqB,SAAQ,IAAA,wDAAyB,EAC1D,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,OAAO,CACR;QACC,YAEqB,OAAqC,EACrC,UAAsB;YAEzC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAHR,YAAO,GAAP,OAAO,CAA8B;YACrC,eAAU,GAAV,UAAU,CAAY;QAG3C,CAAC;KACF,CAAA;IAbK,oBAAoB;QAFzB,IAAA,6BAAgB,EAAC,cAAc,CAAC;QAChC,IAAA,0BAAa,EAAC,qBAAqB,CAAC;QAQhC,WAAA,IAAA,eAAM,EAAC,IAAA,qBAAW,EAAC,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;iDAE1C,gBAAU;OATvC,oBAAoB,CAazB;IAED,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE;QAClD,KAAK,EAAE,GAAG,IAAA,qBAAW,EAAC,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;QAC5E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAEuC,gEAA0B"}
@@ -14,8 +14,9 @@ const helpers_1 = require("../../helpers");
14
14
  const duplicate_many_helper_1 = require("./duplicate-many.helper");
15
15
  let DuplicateManyModule = DuplicateManyModule_1 = class DuplicateManyModule {
16
16
  static forFeature(databaseModule, entity, controllerOptions, routeConfig, version, validationPipeOptions, webSocket) {
17
- const controller = (0, duplicate_many_helper_1.createDuplicateManyController)(entity, controllerOptions, routeConfig, version, validationPipeOptions);
18
- const ServiceProvider = (0, duplicate_many_helper_1.createDuplicateManyServiceProvider)(entity, version, routeConfig.callback);
17
+ const displayedName = (0, helpers_1.getDisplayedName)(controllerOptions.apiTag, entity.name, routeConfig.subPath);
18
+ const controller = (0, duplicate_many_helper_1.createDuplicateManyController)(entity, displayedName, controllerOptions, routeConfig, version, validationPipeOptions);
19
+ const ServiceProvider = (0, duplicate_many_helper_1.createDuplicateManyServiceProvider)(entity, displayedName, version, routeConfig.callback);
19
20
  const gatewayOptions = webSocket
20
21
  ? (0, helpers_1.initializeConfigFromOptions)(webSocket)
21
22
  : dynamic_api_module_1.DynamicApiModule.state.get('gatewayOptions');
@@ -26,7 +27,7 @@ let DuplicateManyModule = DuplicateManyModule_1 = class DuplicateManyModule {
26
27
  providers: [
27
28
  ServiceProvider,
28
29
  ...(gatewayOptions ? [
29
- (0, duplicate_many_helper_1.createDuplicateManyGateway)(entity, controllerOptions, routeConfig, version, validationPipeOptions, gatewayOptions)
30
+ (0, duplicate_many_helper_1.createDuplicateManyGateway)(entity, displayedName, controllerOptions, routeConfig, version, validationPipeOptions, gatewayOptions)
30
31
  ] : []),
31
32
  ],
32
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-many.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-many/duplicate-many.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoF;AAEpF,iEAA4D;AAC5D,2CAA4D;AAG5D,mEAIiC;AAG1B,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAC9B,MAAM,CAAC,UAAU,CACf,cAA6B,EAC7B,MAAoB,EACpB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB,EAChB,qBAA6C,EAC7C,SAAsC;QAEtC,MAAM,UAAU,GAAG,IAAA,qDAA6B,EAC9C,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,CACtB,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,0DAAkC,EAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAElG,MAAM,cAAc,GAAG,SAAS;YAC9B,CAAC,CAAC,IAAA,qCAA2B,EAAC,SAAS,CAAC;YACxC,CAAC,CAAC,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAkB,gBAAgB,CAAC,CAAC;QAElE,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,OAAO,EAAE,CAAC,cAAc,CAAC;YACzB,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,SAAS,EAAE;gBACT,eAAe;gBACf,GAAG,CACD,cAAc,CAAC,CAAC,CAAC;oBACf,IAAA,kDAA0B,EACxB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,cAAc,CACf;iBACF,CAAC,CAAC,CAAC,EAAE,CACP;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AA5CY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,mBAAmB,CA4C/B"}
1
+ {"version":3,"file":"duplicate-many.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/duplicate-many/duplicate-many.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoF;AAEpF,iEAA4D;AAC5D,2CAA8E;AAG9E,mEAIiC;AAG1B,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAC9B,MAAM,CAAC,UAAU,CACf,cAA6B,EAC7B,MAAoB,EACpB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB,EAChB,qBAA6C,EAC7C,SAAsC;QAEtC,MAAM,aAAa,GAAG,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnG,MAAM,UAAU,GAAG,IAAA,qDAA6B,EAC9C,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,CACtB,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,0DAAkC,EAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEjH,MAAM,cAAc,GAAG,SAAS;YAC9B,CAAC,CAAC,IAAA,qCAA2B,EAAC,SAAS,CAAC;YACxC,CAAC,CAAC,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAkB,gBAAgB,CAAC,CAAC;QAElE,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,OAAO,EAAE,CAAC,cAAc,CAAC;YACzB,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,SAAS,EAAE;gBACT,eAAe;gBACf,GAAG,CACD,cAAc,CAAC,CAAC,CAAC;oBACf,IAAA,kDAA0B,EACxB,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,cAAc,CACf;iBACF,CAAC,CAAC,CAAC,EAAE,CACP;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAhDY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,mBAAmB,CAgD/B"}
@@ -1,7 +1,7 @@
1
1
  import { BaseEntity } from '../../models';
2
2
  import { DuplicateOneService } from './duplicate-one-service.interface';
3
- interface DuplicateOneController<Entity extends BaseEntity> {
4
- duplicateOne(id: string, body?: Partial<Entity>): Promise<Entity>;
3
+ interface DuplicateOneController<Entity extends BaseEntity, Response = any> {
4
+ duplicateOne(id: string, body?: Partial<Entity>): Promise<Entity | Response>;
5
5
  }
6
6
  type DuplicateOneControllerConstructor<Entity extends BaseEntity> = new (service: DuplicateOneService<Entity>) => DuplicateOneController<Entity>;
7
7
  export type { DuplicateOneController, DuplicateOneControllerConstructor };
@@ -2,5 +2,5 @@ import { Type } from '@nestjs/common';
2
2
  import { DynamicApiControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
3
3
  import { BaseEntity } from '../../models';
4
4
  import { DuplicateOneControllerConstructor } from './duplicate-one-controller.interface';
5
- declare function DuplicateOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string): DuplicateOneControllerConstructor<Entity>;
5
+ declare function DuplicateOneControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, { dTOs, ...routeConfig }: DynamicAPIRouteConfig<Entity>, version?: string): DuplicateOneControllerConstructor<Entity>;
6
6
  export { DuplicateOneControllerMixin };
@@ -14,19 +14,33 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.DuplicateOneControllerMixin = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const lodash_1 = require("lodash");
17
18
  const builders_1 = require("../../builders");
18
19
  const dtos_1 = require("../../dtos");
19
20
  const helpers_1 = require("../../helpers");
20
21
  const mixins_1 = require("../../mixins");
21
- function DuplicateOneControllerMixin(entity, controllerOptions, routeConfig, version) {
22
- var _a;
23
- const { routeType, description, isPublic, RouteBody, RoutePresenter, abilityPredicate, } = (0, helpers_1.getControllerMixinData)(entity, controllerOptions, routeConfig, version);
24
- const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DuplicateOne', entity, version, description, isPublic, {
22
+ function DuplicateOneControllerMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
23
+ const { routeType, displayedName, description, isPublic, abilityPredicate, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig);
24
+ class DuplicateOneBody extends (dTOs?.body ?? (0, mixins_1.EntityBodyMixin)(entity, true)) {
25
+ }
26
+ Object.defineProperty(DuplicateOneBody, 'name', {
27
+ value: `DuplicateOne${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Dto`,
28
+ writable: false,
29
+ });
30
+ class DuplicateOnePresenter extends (dTOs?.presenter ?? (0, mixins_1.EntityPresenterMixin)(entity)) {
31
+ }
32
+ Object.defineProperty(DuplicateOnePresenter, 'name', {
33
+ value: dTOs?.presenter
34
+ ? `DuplicateOne${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`
35
+ : `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`,
36
+ writable: false,
37
+ });
38
+ const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder('DuplicateOne', entity, routeConfig.subPath, version, description, isPublic, {
25
39
  param: dtos_1.EntityParam,
26
- body: RouteBody,
27
- presenter: RoutePresenter,
40
+ body: DuplicateOneBody,
41
+ presenter: DuplicateOnePresenter,
28
42
  });
29
- class DuplicateOnePoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, version, abilityPredicate) {
43
+ class DuplicateOnePoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
30
44
  }
31
45
  class BaseDuplicateOneController {
32
46
  constructor(service) {
@@ -34,7 +48,10 @@ function DuplicateOneControllerMixin(entity, controllerOptions, routeConfig, ver
34
48
  this.entity = entity;
35
49
  }
36
50
  async duplicateOne(id, body) {
37
- return this.service.duplicateOne(id, body);
51
+ const toEntity = DuplicateOneBody.toEntity;
52
+ const entity = await this.service.duplicateOne(id, !(0, lodash_1.isEmpty)(body) && toEntity ? toEntity(body) : body);
53
+ const fromEntity = DuplicateOnePresenter.fromEntity;
54
+ return fromEntity ? fromEntity(entity) : entity;
38
55
  }
39
56
  }
40
57
  __decorate([
@@ -43,11 +60,11 @@ function DuplicateOneControllerMixin(entity, controllerOptions, routeConfig, ver
43
60
  __param(0, (0, common_1.Param)('id')),
44
61
  __param(1, (0, common_1.Body)()),
45
62
  __metadata("design:type", Function),
46
- __metadata("design:paramtypes", [String, typeof (_a = typeof RouteBody !== "undefined" && RouteBody) === "function" ? _a : Object]),
63
+ __metadata("design:paramtypes", [String, DuplicateOneBody]),
47
64
  __metadata("design:returntype", Promise)
48
65
  ], BaseDuplicateOneController.prototype, "duplicateOne", null);
49
66
  Object.defineProperty(BaseDuplicateOneController, 'name', {
50
- value: `Base${(0, helpers_1.provideName)('DuplicateOne', entity.name, version, 'Controller')}`,
67
+ value: `Base${(0, helpers_1.provideName)('DuplicateOne', displayedName, version, 'Controller')}`,
51
68
  writable: false,
52
69
  });
53
70
  return BaseDuplicateOneController;
@@ -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":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,6CAAwD;AACxD,qCAAyC;AACzC,2CAA2F;AAE3F,yCAAwD;AAKxD,SAAS,2BAA2B,CAClC,MAAoB,EACpB,iBAAsD,EACtD,WAA0C,EAC1C,OAAgB;;IAEhB,MAAM,EACJ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,cAAc,EACd,gBAAgB,GACjB,GAAG,IAAA,gCAAsB,EACxB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,OAAO,CACR,CAAC;IAEF,MAAM,sBAAsB,GAAG,IAAI,iCAAsB,CACvD,cAAc,EACd,MAAM,EACN,OAAO,EACP,WAAW,EACX,QAAQ,EACR;QACE,KAAK,EAAE,kBAAW;QAClB,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,cAAc;KAC1B,CACF,CAAC;IAEF,MAAM,yBAA0B,SAAQ,IAAA,iCAAwB,EAC9D,MAAM,EACN,SAAS,EACT,OAAO,EACP,gBAAgB,CACjB;KAAG;IAEJ,MAAM,0BAA0B;QAG9B,YAA+B,OAAoC;YAApC,YAAO,GAAP,OAAO,CAA6B;YAFhD,WAAM,GAAG,MAAM,CAAC;QAGnC,CAAC;QAKK,AAAN,KAAK,CAAC,YAAY,CAAc,EAAU,EAAU,IAAgB;YAClE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,IAAW,CAAC,CAAC;QACpD,CAAC;KACF;IAHO;QAHL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,yBAAyB,CAAC;QAEjB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;QAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;qEAAQ,SAAS,oBAAT,SAAS;;kEAEnE;IAGH,MAAM,CAAC,cAAc,CAAC,0BAA0B,EAAE,MAAM,EAAE;QACxD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;QAC/E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAEQ,kEAA2B"}
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":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,mCAAiC;AACjC,6CAAwD;AACxD,qCAAyC;AACzC,2CAAmG;AAEnG,yCAA+F;AAK/F,SAAS,2BAA2B,CAClC,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,gBAAiB,SAAQ,CAC7B,IAAI,EAAE,IAAI,IAAI,IAAA,wBAAe,EAAC,MAAM,EAAE,IAAI,CAAC,CAC5C;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE;QAC9C,KAAK,EAAE,eAAe,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,KAAK;QACpE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,qBAAsB,SAAQ,CAClC,IAAI,EAAE,SAAS,IAAI,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAChD;KAAG;IAEJ,MAAM,CAAC,cAAc,CAAC,qBAAqB,EAAE,MAAM,EAAE;QACnD,KAAK,EAAE,IAAI,EAAE,SAAS;YACpB,CAAC,CAAC,eAAe,aAAa,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,WAAW;YACrE,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,cAAc,EACd,MAAM,EACN,WAAW,CAAC,OAAO,EACnB,OAAO,EACP,WAAW,EACX,QAAQ,EACR;QACE,KAAK,EAAE,kBAAW;QAClB,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,qBAAqB;KACjC,CACF,CAAC;IAEF,MAAM,yBAA0B,SAAQ,IAAA,iCAAwB,EAC9D,MAAM,EACN,SAAS,EACT,aAAa,EACb,OAAO,EACP,gBAAgB,CACjB;KAAG;IAEJ,MAAM,0BAA0B;QAG9B,YAA+B,OAAoC;YAApC,YAAO,GAAP,OAAO,CAA6B;YAFhD,WAAM,GAAG,MAAM,CAAC;QAGnC,CAAC;QAIK,AAAN,KAAK,CAAC,YAAY,CAAc,EAAU,EAAU,IAAuB;YACzE,MAAM,QAAQ,GACZ,gBACD,CAAC,QAAQ,CAAC;YAEX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAC5C,EAAE,EACF,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAuB,CACtE,CAAC;YAEF,MAAM,UAAU,GACd,qBACD,CAAC,UAAU,CAAC;YAEb,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAClD,CAAC;KACF;IAhBO;QAFL,IAAA,+BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,kBAAS,EAAC,yBAAyB,CAAC;QACjB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;QAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;iDAAQ,gBAAgB;;kEAe1E;IAGH,MAAM,CAAC,cAAc,CAAC,0BAA0B,EAAE,MAAM,EAAE;QACxD,KAAK,EAAE,OAAO,IAAA,qBAAW,EAAC,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;QACjF,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAEQ,kEAA2B"}
@@ -3,8 +3,8 @@ import { EntityParam } from '../../dtos';
3
3
  import { ExtendedSocket, GatewayResponse } from '../../interfaces';
4
4
  import { BaseEntity } from '../../models';
5
5
  import { DuplicateOneService } from './duplicate-one-service.interface';
6
- interface DuplicateOneGateway<Entity extends BaseEntity> {
7
- duplicateOne(socket: ExtendedSocket, body: EntityParam & Partial<Entity>): GatewayResponse<Entity>;
6
+ interface DuplicateOneGateway<Entity extends BaseEntity, Body = any, Response = any> {
7
+ duplicateOne(socket: ExtendedSocket, body: EntityParam & Body): GatewayResponse<Entity | Response>;
8
8
  }
9
9
  type DuplicateOneGatewayConstructor<Entity extends BaseEntity> = new (service: DuplicateOneService<Entity>, jwtService: JwtService) => DuplicateOneGateway<Entity>;
10
10
  export type { DuplicateOneGateway, DuplicateOneGatewayConstructor };
@@ -2,5 +2,5 @@ import { Type } from '@nestjs/common';
2
2
  import { DynamicApiControllerOptions, DynamicAPIRouteConfig } from '../../interfaces';
3
3
  import { BaseEntity } from '../../models';
4
4
  import { DuplicateOneGatewayConstructor } from './duplicate-one-gateway.interface';
5
- declare function DuplicateOneGatewayMixin<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string): DuplicateOneGatewayConstructor<Entity>;
5
+ declare function DuplicateOneGatewayMixin<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, { dTOs, ...routeConfig }: DynamicAPIRouteConfig<Entity>, version?: string): DuplicateOneGatewayConstructor<Entity>;
6
6
  export { DuplicateOneGatewayMixin };