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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  Changelog
2
2
 
3
+ ## [2.7.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.6.0...v2.7.0) (2024-08-29)
4
+
5
+
6
+ ### api
7
+
8
+ * **api:** add mapping from / to entity, update related ([2af5ad3](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/2af5ad373e83b9161bf4ac8f3b4a910aa3801aef))
9
+
10
+ ## [2.6.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.5.1...v2.6.0) (2024-08-24)
11
+
12
+
13
+ ### api
14
+
15
+ * **api:** handle route with sub path ([1b57ff0](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/1b57ff09a3ad8e524a50de466d0bfa6b34bcfe9b))
16
+
3
17
  ## [2.5.1](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.5.0...v2.5.1) (2024-08-20)
4
18
 
5
19
  ## [2.5.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.4.5...v2.5.0) (2024-08-20)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb-dynamic-api",
3
- "version": "2.5.1",
3
+ "version": "2.7.0",
4
4
  "description": "Auto generated CRUD API for MongoDB using NestJS",
5
5
  "readmeFilename": "README.md",
6
6
  "main": "index.js",
@@ -52,7 +52,6 @@
52
52
  "@nestjs/websockets": "^10.3.8",
53
53
  "@types/lodash": "^4.14.202",
54
54
  "bcrypt": "^5.1.1",
55
- "builder-pattern": "^2.2.0",
56
55
  "cache-manager": "^5.4.0",
57
56
  "class-transformer": "^0.5.1",
58
57
  "class-validator": "^0.14.1",
@@ -4,13 +4,14 @@ import { BaseEntity } from '../../models';
4
4
  declare class RouteDecoratorsBuilder<Entity extends BaseEntity> implements DynamicApiDecoratorBuilder<Entity> {
5
5
  private readonly routeType;
6
6
  private readonly entity;
7
+ private readonly subPath;
7
8
  private readonly version;
8
9
  private readonly description;
9
10
  private readonly isPublic;
10
11
  private readonly dTOs;
11
12
  private readonly responseRouteTypeIsArray;
12
13
  private readonly bodyRouteTypeIsOptional;
13
- constructor(routeType: RouteType, entity: Type<Entity>, version: string | undefined, description: string | undefined, isPublic: boolean | undefined, dTOs?: {
14
+ constructor(routeType: RouteType, entity: Type<Entity>, subPath: string | undefined, version: string | undefined, description: string | undefined, isPublic: boolean | undefined, dTOs?: {
14
15
  param?: Type;
15
16
  body?: Type;
16
17
  presenter?: Type;
@@ -6,10 +6,12 @@ const swagger_1 = require("@nestjs/swagger");
6
6
  const lodash_1 = require("lodash");
7
7
  const decorators_1 = require("../../decorators");
8
8
  const dynamic_api_module_1 = require("../../dynamic-api.module");
9
+ const helpers_1 = require("../../helpers");
9
10
  class RouteDecoratorsBuilder {
10
- constructor(routeType, entity, version, description, isPublic, dTOs = {}) {
11
+ constructor(routeType, entity, subPath, version, description, isPublic, dTOs = {}) {
11
12
  this.routeType = routeType;
12
13
  this.entity = entity;
14
+ this.subPath = subPath;
13
15
  this.version = version;
14
16
  this.description = description;
15
17
  this.isPublic = isPublic;
@@ -40,39 +42,46 @@ class RouteDecoratorsBuilder {
40
42
  else if (isAuthEnabled) {
41
43
  routeDecorators.push((0, swagger_1.ApiBearerAuth)());
42
44
  }
45
+ const subPath = this.subPath ?? '';
46
+ const addSubPath = (before = true) => {
47
+ if (!this.subPath) {
48
+ return '';
49
+ }
50
+ return before ? this.subPath + '/' : '/' + this.subPath;
51
+ };
43
52
  switch (this.routeType) {
44
53
  case 'GetMany':
45
- routeDecorators.push((0, common_1.Get)());
54
+ routeDecorators.push((0, common_1.Get)(subPath));
46
55
  break;
47
56
  case 'GetOne':
48
- routeDecorators.push((0, common_1.Get)(`:${paramKey}`));
57
+ routeDecorators.push((0, common_1.Get)(`${addSubPath()}:${paramKey}`));
49
58
  break;
50
59
  case 'CreateMany':
51
- routeDecorators.push((0, common_1.Post)('many'));
60
+ routeDecorators.push((0, common_1.Post)(`many${addSubPath(false)}`));
52
61
  break;
53
62
  case 'CreateOne':
54
- routeDecorators.push((0, common_1.Post)());
63
+ routeDecorators.push((0, common_1.Post)(subPath));
55
64
  break;
56
65
  case 'UpdateMany':
57
- routeDecorators.push((0, common_1.Patch)());
66
+ routeDecorators.push((0, common_1.Patch)(subPath));
58
67
  break;
59
68
  case 'UpdateOne':
60
- routeDecorators.push((0, common_1.Patch)(`:${paramKey}`));
69
+ routeDecorators.push((0, common_1.Patch)(`${addSubPath()}:${paramKey}`));
61
70
  break;
62
71
  case 'ReplaceOne':
63
- routeDecorators.push((0, common_1.Put)(`:${paramKey}`));
72
+ routeDecorators.push((0, common_1.Put)(`${addSubPath()}:${paramKey}`));
64
73
  break;
65
74
  case 'DuplicateMany':
66
- routeDecorators.push((0, common_1.Post)(`duplicate`));
75
+ routeDecorators.push((0, common_1.Post)(`duplicate${addSubPath(false)}`));
67
76
  break;
68
77
  case 'DuplicateOne':
69
- routeDecorators.push((0, common_1.Post)(`duplicate/:${paramKey}`));
78
+ routeDecorators.push((0, common_1.Post)(`duplicate${addSubPath(false)}/:${paramKey}`));
70
79
  break;
71
80
  case 'DeleteMany':
72
- routeDecorators.push((0, common_1.Delete)());
81
+ routeDecorators.push((0, common_1.Delete)(subPath));
73
82
  break;
74
83
  case 'DeleteOne':
75
- routeDecorators.push((0, common_1.Delete)(`:${paramKey}`));
84
+ routeDecorators.push((0, common_1.Delete)(`${addSubPath()}:${paramKey}`));
76
85
  break;
77
86
  default:
78
87
  throw new Error(`Unexpected route type! Cannot build route decorators. Received: ${this.routeType}`);
@@ -80,11 +89,12 @@ class RouteDecoratorsBuilder {
80
89
  return routeDecorators;
81
90
  }
82
91
  getApiDecorators(paramKey) {
92
+ const feature = this.subPath ? `${(0, helpers_1.pascalCase)(this.subPath)}-${this.entity.name}` : this.entity.name;
83
93
  return [
84
94
  (0, swagger_1.ApiOperation)({
85
- operationId: `${(0, lodash_1.lowerFirst)(this.routeType)}${this.entity.name}${this.version ? 'V' + this.version : ''}`,
95
+ operationId: `${(0, lodash_1.lowerFirst)(this.routeType)}${feature}${this.version ? 'V' + this.version : ''}`,
86
96
  summary: this.description ??
87
- `${(0, lodash_1.upperFirst)((0, lodash_1.lowerCase)(this.routeType))} ${(0, lodash_1.lowerCase)(this.entity.name)}`,
97
+ `${(0, lodash_1.upperFirst)((0, lodash_1.lowerCase)(this.routeType))} ${(0, lodash_1.lowerCase)(feature)}`,
88
98
  }),
89
99
  (0, swagger_1.ApiResponse)({
90
100
  type: this.dTOs.presenter ?? this.entity,
@@ -1 +1 @@
1
- {"version":3,"file":"route-decorators.builder.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/builders/route-decorators/route-decorators.builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-decorators.builder.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/builders/route-decorators/route-decorators.builder.ts"],"names":[],"mappings":"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"}
@@ -141,11 +141,12 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
141
141
  static setDefaultRoutes(stateRoutesConfig, controllerRoutesConfig = {}, routes = []) {
142
142
  const defaults = controllerRoutesConfig.defaults ?? stateRoutesConfig.defaults;
143
143
  const excluded = controllerRoutesConfig.excluded ?? stateRoutesConfig.excluded;
144
- return defaults.filter((type) => !excluded.includes(type))
144
+ const routesWithSubPath = routes.filter((route) => route.subPath);
145
+ return routesWithSubPath.concat(defaults.filter((type) => !excluded.includes(type))
145
146
  .map((type) => {
146
- const configuredRoute = routes.find((route) => route.type === type);
147
+ const configuredRoute = routes.find((route) => route.type === type && !route.subPath);
147
148
  return configuredRoute ?? { type };
148
- }).concat(routes.filter((route) => !defaults.includes(route.type)));
149
+ }));
149
150
  }
150
151
  };
151
152
  exports.DynamicApiModule = DynamicApiModule;
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-api.module.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/dynamic-api.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-api.module.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/dynamic-api.module.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { RouteType } from '../interfaces';
2
2
  declare function pascalCase(str?: string): string;
3
3
  declare function isValidVersion(version: string): boolean;
4
- declare function getFormattedApiTag(apiTag: string | undefined, entityName: string): string;
5
- declare function provideName(routeType: RouteType, entityName: string, version: string | undefined, suffix: 'Service' | 'Controller' | 'PoliciesGuard' | 'Gateway'): string;
4
+ declare function getDisplayedName(apiTag: string | undefined, entityName: string, subPath: string | undefined): string;
5
+ declare function provideName(routeType: RouteType, displayedName: string, version: string | undefined, suffix: 'Service' | 'Controller' | 'PoliciesGuard' | 'Gateway'): string;
6
6
  declare function isEmptyObject(obj?: unknown): boolean;
7
7
  declare function isNotEmptyObject(obj?: unknown): boolean;
8
- export { pascalCase, isValidVersion, getFormattedApiTag, provideName, isEmptyObject, isNotEmptyObject, };
8
+ export { pascalCase, isValidVersion, getDisplayedName, provideName, isEmptyObject, isNotEmptyObject, };
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isNotEmptyObject = exports.isEmptyObject = exports.provideName = exports.getFormattedApiTag = exports.isValidVersion = exports.pascalCase = void 0;
3
+ exports.isNotEmptyObject = exports.isEmptyObject = exports.provideName = exports.getDisplayedName = exports.isValidVersion = exports.pascalCase = void 0;
4
4
  const lodash_1 = require("lodash");
5
5
  const versioning_config_helper_1 = require("./versioning-config.helper");
6
- function getNamePrefix(routeType, entityName, version) {
7
- return `${routeType}${entityName}${(0, versioning_config_helper_1.addVersionSuffix)(version)}`;
6
+ function getNamePrefix(routeType, displayedName, version) {
7
+ return `${routeType}${displayedName}${(0, versioning_config_helper_1.addVersionSuffix)(version)}`;
8
8
  }
9
9
  function pascalCase(str) {
10
10
  return str ? (0, lodash_1.upperFirst)((0, lodash_1.camelCase)(str)) : undefined;
@@ -14,12 +14,12 @@ function isValidVersion(version) {
14
14
  return /^\d+$/.test(version);
15
15
  }
16
16
  exports.isValidVersion = isValidVersion;
17
- function getFormattedApiTag(apiTag, entityName) {
18
- return pascalCase(apiTag) ?? entityName;
17
+ function getDisplayedName(apiTag, entityName, subPath) {
18
+ return pascalCase(`${subPath ? subPath + '-' : ''}${apiTag ?? entityName}`);
19
19
  }
20
- exports.getFormattedApiTag = getFormattedApiTag;
21
- function provideName(routeType, entityName, version, suffix) {
22
- return `${getNamePrefix(routeType, entityName, version)}${suffix}`;
20
+ exports.getDisplayedName = getDisplayedName;
21
+ function provideName(routeType, displayedName, version, suffix) {
22
+ return `${getNamePrefix(routeType, displayedName, version)}${suffix}`;
23
23
  }
24
24
  exports.provideName = provideName;
25
25
  function isEmptyObject(obj) {
@@ -1 +1 @@
1
- {"version":3,"file":"format.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/format.helper.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,yEAA8D;AAE9D,SAAS,aAAa,CAAC,SAAoB,EAAE,UAAkB,EAAE,OAA2B;IAC1F,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,IAAA,2CAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAU,EAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AA4BC,gCAAU;AA1BZ,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAyBC,wCAAc;AAvBhB,SAAS,kBAAkB,CAAC,MAA0B,EAAE,UAAkB;IACxE,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC;AAC1C,CAAC;AAsBC,gDAAkB;AApBpB,SAAS,WAAW,CAClB,SAAoB,EACpB,UAAkB,EAClB,OAA2B,EAC3B,MAA8D;IAE9D,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;AACrE,CAAC;AAcC,kCAAW;AAZb,SAAS,aAAa,CAAC,GAAa;IAClC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC;AAWC,sCAAa;AATf,SAAS,gBAAgB,CAAC,GAAa;IACrC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAQC,4CAAgB"}
1
+ {"version":3,"file":"format.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/format.helper.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,yEAA8D;AAE9D,SAAS,aAAa,CAAC,SAAoB,EAAE,aAAqB,EAAE,OAA2B;IAC7F,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,IAAA,2CAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAU,EAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AA4BC,gCAAU;AA1BZ,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAyBC,wCAAc;AAvBhB,SAAS,gBAAgB,CAAC,MAA0B,EAAE,UAAkB,EAAE,OAA2B;IACnG,OAAO,UAAU,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;AAC9E,CAAC;AAsBC,4CAAgB;AApBlB,SAAS,WAAW,CAClB,SAAoB,EACpB,aAAqB,EACrB,OAA2B,EAC3B,MAA8D;IAE9D,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;AACxE,CAAC;AAcC,kCAAW;AAZb,SAAS,aAAa,CAAC,GAAa;IAClC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC;AAWC,sCAAa;AATf,SAAS,gBAAgB,CAAC,GAAa;IACrC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAQC,4CAAgB"}
@@ -1,6 +1,6 @@
1
1
  export * from './controller-ability-predicates.helper';
2
- export * from './controller-mixin.helper';
3
2
  export * from './format.helper';
3
+ export * from './mixin-data.helper';
4
4
  export * from './route-decorators.helper';
5
5
  export * from './route-description.helper';
6
6
  export * from './schema.helper';
@@ -15,8 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./controller-ability-predicates.helper"), exports);
18
- __exportStar(require("./controller-mixin.helper"), exports);
19
18
  __exportStar(require("./format.helper"), exports);
19
+ __exportStar(require("./mixin-data.helper"), exports);
20
20
  __exportStar(require("./route-decorators.helper"), exports);
21
21
  __exportStar(require("./route-description.helper"), exports);
22
22
  __exportStar(require("./schema.helper"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,4DAA0C;AAC1C,kDAAgC;AAChC,4DAA0C;AAC1C,6DAA2C;AAC3C,kDAAgC;AAChC,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAC3C,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,kDAAgC;AAChC,sDAAoC;AACpC,4DAA0C;AAC1C,6DAA2C;AAC3C,kDAAgC;AAChC,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAC3C,6DAA2C"}
@@ -0,0 +1,12 @@
1
+ import { Type } from '@nestjs/common';
2
+ import { AbilityPredicate, DynamicApiControllerOptions, DynamicAPIRouteConfig, RouteType } from '../interfaces';
3
+ import { BaseEntity } from '../models';
4
+ declare function getMixinData<Entity extends BaseEntity>(entity: Type<Entity>, { apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }: DynamicApiControllerOptions<Entity>, { type: routeType, subPath, description, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, eventName, }: DynamicAPIRouteConfig<Entity>, isGateway?: boolean): {
5
+ routeType: RouteType;
6
+ displayedName: string;
7
+ description: string;
8
+ isPublic: boolean;
9
+ abilityPredicate: AbilityPredicate<Entity>;
10
+ event?: string;
11
+ };
12
+ export { getMixinData };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMixinData = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const controller_ability_predicates_helper_1 = require("./controller-ability-predicates.helper");
6
+ const format_helper_1 = require("./format.helper");
7
+ function getMixinData(entity, { apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }, { type: routeType, subPath, description, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, eventName, }, isGateway = false) {
8
+ const displayedName = (0, format_helper_1.getDisplayedName)(apiTag, entity.name, subPath);
9
+ let isPublic;
10
+ if (typeof isPublicRoute === 'boolean') {
11
+ isPublic = isPublicRoute;
12
+ }
13
+ else if (typeof isPublicController === 'boolean') {
14
+ isPublic = isPublicController;
15
+ }
16
+ else {
17
+ isPublic = false;
18
+ }
19
+ const abilityPredicate = routeAbilityPredicate ?? (0, controller_ability_predicates_helper_1.getPredicateFromControllerAbilityPredicates)(controllerAbilityPredicates, routeType);
20
+ return {
21
+ routeType,
22
+ displayedName,
23
+ description,
24
+ isPublic,
25
+ abilityPredicate,
26
+ ...(isGateway && { event: eventName ?? (0, lodash_1.kebabCase)(`${routeType}/${displayedName}`) }),
27
+ };
28
+ }
29
+ exports.getMixinData = getMixinData;
30
+ //# sourceMappingURL=mixin-data.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin-data.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/mixin-data.helper.ts"],"names":[],"mappings":";;;AACA,mCAAmC;AAQnC,iGAAqG;AACrG,mDAAmD;AAEnD,SAAS,YAAY,CACnB,MAAoB,EACpB,EACE,MAAM,EACN,QAAQ,EAAE,kBAAkB,EAC5B,iBAAiB,EAAE,2BAA2B,GACV,EACtC,EACE,IAAI,EAAE,SAAS,EACf,OAAO,EACP,WAAW,EACX,QAAQ,EAAE,aAAa,EACvB,gBAAgB,EAAE,qBAAqB,EACvC,SAAS,GACqB,EAChC,SAAS,GAAG,KAAK;IASjB,MAAM,aAAa,GAAG,IAAA,gCAAgB,EAAC,MAAM,EAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEtE,IAAI,QAAiB,CAAC;IACtB,IAAI,OAAO,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,QAAQ,GAAG,aAAa,CAAC;IAC3B,CAAC;SAAM,IAAI,OAAO,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACnD,QAAQ,GAAG,kBAAkB,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,qBAAqB,IAAI,IAAA,kFAA2C,EAC3F,2BAA2B,EAC3B,SAAS,CACV,CAAC;IAEF,OAAO;QACL,SAAS;QACT,aAAa;QACb,WAAW;QACX,QAAQ;QACR,gBAAgB;QAChB,GAAG,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,SAAS,IAAI,IAAA,kBAAS,EAAC,GAAG,SAAS,IAAI,aAAa,EAAE,CAAC,EAAE,CAAC;KACrF,CAAC;AACJ,CAAC;AAEQ,oCAAY"}
@@ -10,6 +10,7 @@ interface DynamicAPIRouteConfig<Entity extends BaseEntity> {
10
10
  isPublic?: boolean;
11
11
  description?: string;
12
12
  version?: string;
13
+ subPath?: string;
13
14
  dTOs?: DTOsBundle;
14
15
  validationPipeOptions?: ValidationPipeOptions;
15
16
  abilityPredicate?: AbilityPredicate<Entity>;
@@ -1,8 +1,16 @@
1
1
  import { Type } from '@nestjs/common';
2
+ import { DeleteResult } from './dynamic-api-route-response.type';
3
+ interface Mappable<Entity> {
4
+ toEntity?: <DTO = any>(body: DTO) => Partial<Entity>;
5
+ toEntities?: <DTO = any>(body: DTO) => Partial<Entity>[];
6
+ fromDeleteResult?: <Presenter = any>(result: DeleteResult) => Presenter;
7
+ fromEntity?: <Presenter = any>(entity: Entity) => Presenter;
8
+ fromEntities?: <Presenter = any>(entities: Entity[]) => Presenter[];
9
+ }
2
10
  type DTOsBundle = {
3
11
  query?: Type;
4
12
  param?: Type;
5
13
  body?: Type;
6
14
  presenter?: Type;
7
15
  };
8
- export { DTOsBundle };
16
+ export { DTOsBundle, Mappable };
@@ -1,5 +1,5 @@
1
1
  import { Type } from '@nestjs/common';
2
2
  import { AbilityPredicate, PoliciesGuardConstructor, RouteType } from '../interfaces';
3
3
  import { BaseEntity } from '../models';
4
- declare function CreatePoliciesGuardMixin<Entity extends BaseEntity>(entity: Type<Entity>, routeType: RouteType, version: string | undefined, abilityPredicate: AbilityPredicate<Entity> | undefined): PoliciesGuardConstructor<Entity>;
4
+ declare function CreatePoliciesGuardMixin<Entity extends BaseEntity>(entity: Type<Entity>, routeType: RouteType, displayedName: string, version: string | undefined, abilityPredicate: AbilityPredicate<Entity> | undefined): PoliciesGuardConstructor<Entity>;
5
5
  export { CreatePoliciesGuardMixin };
@@ -19,7 +19,7 @@ const mongoose_2 = require("mongoose");
19
19
  const dynamic_api_module_1 = require("../dynamic-api.module");
20
20
  const guards_1 = require("../guards");
21
21
  const helpers_1 = require("../helpers");
22
- function CreatePoliciesGuardMixin(entity, routeType, version, abilityPredicate) {
22
+ function CreatePoliciesGuardMixin(entity, routeType, displayedName, version, abilityPredicate) {
23
23
  let RoutePoliciesGuard = class RoutePoliciesGuard extends guards_1.BasePoliciesGuard {
24
24
  constructor(model) {
25
25
  super(model);
@@ -35,7 +35,7 @@ function CreatePoliciesGuardMixin(entity, routeType, version, abilityPredicate)
35
35
  __metadata("design:paramtypes", [mongoose_2.Model])
36
36
  ], RoutePoliciesGuard);
37
37
  Object.defineProperty(RoutePoliciesGuard, 'name', {
38
- value: `${(0, helpers_1.provideName)(routeType, entity.name, version, 'PoliciesGuard')}`,
38
+ value: `${(0, helpers_1.provideName)(routeType, displayedName, version, 'PoliciesGuard')}`,
39
39
  writable: false,
40
40
  });
41
41
  return RoutePoliciesGuard;
@@ -1 +1 @@
1
- {"version":3,"file":"create-policies-guard.mixin.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/mixins/create-policies-guard.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,+CAA+C;AAC/C,uCAAiC;AACjC,8DAAyD;AACzD,sCAA8C;AAC9C,wCAAyC;AASzC,SAAS,wBAAwB,CAC/B,MAAoB,EACpB,SAAoB,EACpB,OAA2B,EAC3B,gBAAsD;IAEtD,IACM,kBAAkB,GADxB,MACM,kBAAmB,SAAQ,0BAAyB;QAKxD,YAKE,KAAuC;YAEvC,KAAK,CAAC,KAAK,CAAC,CAAC;YAFM,UAAK,GAAL,KAAK,CAAe;YAT/B,cAAS,GAAG,SAAS,CAAC;YACtB,WAAM,GAAG,MAAM,CAAC;YAChB,qBAAgB,GAAyC,gBAAgB,CAAC;QAUpF,CAAC;KACF,CAAA;IAdK,kBAAkB;QADvB,IAAA,mBAAU,GAAE;QAOR,WAAA,IAAA,sBAAW,EACV,MAAM,CAAC,IAAI,EACX,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAC7C,CAAA;yCACyB,gBAAK;OAV7B,kBAAkB,CAcvB;IAED,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAChD,KAAK,EAAE,GAAG,IAAA,qBAAW,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE;QACzE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAEQ,4DAAwB"}
1
+ {"version":3,"file":"create-policies-guard.mixin.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/mixins/create-policies-guard.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkD;AAClD,+CAA+C;AAC/C,uCAAiC;AACjC,8DAAyD;AACzD,sCAA8C;AAC9C,wCAAyC;AASzC,SAAS,wBAAwB,CAC/B,MAAoB,EACpB,SAAoB,EACpB,aAAqB,EACrB,OAA2B,EAC3B,gBAAsD;IAEtD,IACM,kBAAkB,GADxB,MACM,kBAAmB,SAAQ,0BAAyB;QAKxD,YAKE,KAAuC;YAEvC,KAAK,CAAC,KAAK,CAAC,CAAC;YAFM,UAAK,GAAL,KAAK,CAAe;YAT/B,cAAS,GAAG,SAAS,CAAC;YACtB,WAAM,GAAG,MAAM,CAAC;YAChB,qBAAgB,GAAyC,gBAAgB,CAAC;QAUpF,CAAC;KACF,CAAA;IAdK,kBAAkB;QADvB,IAAA,mBAAU,GAAE;QAOR,WAAA,IAAA,sBAAW,EACV,MAAM,CAAC,IAAI,EACX,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAC7C,CAAA;yCACyB,gBAAK;OAV7B,kBAAkB,CAcvB;IAED,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAChD,KAAK,EAAE,GAAG,IAAA,qBAAW,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE;QAC3E,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAEQ,4DAAwB"}
@@ -1,7 +1,7 @@
1
1
  import { Type } from '@nestjs/common';
2
2
  import { BaseEntity } from '../models';
3
3
  declare const baseEntityKeysToExclude: <Entity extends BaseEntity>() => (keyof Entity)[];
4
- declare function EntityBodyMixin<Entity extends BaseEntity>(entity: Type<Entity>, update?: boolean, additionalKeysToExclude?: (keyof Entity)[]): {
4
+ declare function EntityBodyMixin<Entity extends BaseEntity>(entity: Type<Entity>, optional?: boolean, additionalKeysToExclude?: (keyof Entity)[]): {
5
5
  new (...args: any[]): {};
6
6
  apply(this: Function, thisArg: any, argArray?: any): any;
7
7
  call(this: Function, thisArg: any, ...argArray: any[]): any;
@@ -12,14 +12,14 @@ const baseEntityKeysToExclude = () => [
12
12
  '__v',
13
13
  ];
14
14
  exports.baseEntityKeysToExclude = baseEntityKeysToExclude;
15
- function EntityBodyMixin(entity, update = false, additionalKeysToExclude) {
15
+ function EntityBodyMixin(entity, optional = false, additionalKeysToExclude) {
16
16
  const keysToExclude = [
17
17
  ...baseEntityKeysToExclude(),
18
18
  ...(additionalKeysToExclude ?? []),
19
19
  ];
20
20
  class EntityBody extends (0, swagger_1.OmitType)(entity, keysToExclude) {
21
21
  }
22
- return update ? (0, swagger_1.PartialType)(EntityBody) : EntityBody;
22
+ return optional ? (0, swagger_1.PartialType)(EntityBody) : EntityBody;
23
23
  }
24
24
  exports.EntityBodyMixin = EntityBodyMixin;
25
25
  //# sourceMappingURL=entity-body.mixin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-body.mixin.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/mixins/entity-body.mixin.ts"],"names":[],"mappings":";;;AACA,6CAAwD;AAGxD,MAAM,uBAAuB,GAAG,GAA8B,EAAE,CAC9D;IACE,IAAI;IACJ,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,KAAK;IACL,KAAK;CACc,CAAC;AAkBf,0DAAuB;AAhBhC,SAAS,eAAe,CACtB,MAAoB,EACpB,MAAM,GAAG,KAAK,EACd,uBAA0C;IAE1C,MAAM,aAAa,GAAG;QACpB,GAAG,uBAAuB,EAAU;QACpC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC;KACnC,CAAC;IAGF,MAAM,UAAW,SAAQ,IAAA,kBAAQ,EAAC,MAAM,EAAE,aAAa,CAAC;KAAG;IAE3D,OAAO,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAW,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AACvD,CAAC;AAEiC,0CAAe"}
1
+ {"version":3,"file":"entity-body.mixin.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/mixins/entity-body.mixin.ts"],"names":[],"mappings":";;;AACA,6CAAwD;AAGxD,MAAM,uBAAuB,GAAG,GAA8B,EAAE,CAC9D;IACE,IAAI;IACJ,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,KAAK;IACL,KAAK;CACc,CAAC;AAkBf,0DAAuB;AAhBhC,SAAS,eAAe,CACtB,MAAoB,EACpB,QAAQ,GAAG,KAAK,EAChB,uBAA0C;IAE1C,MAAM,aAAa,GAAG;QACpB,GAAG,uBAAuB,EAAU;QACpC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC;KACnC,CAAC;IAGF,MAAM,UAAW,SAAQ,IAAA,kBAAQ,EAAC,MAAM,EAAE,aAAa,CAAC;KAAG;IAE3D,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAA,qBAAW,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AACzD,CAAC;AAEiC,0CAAe"}
@@ -0,0 +1,17 @@
1
+ import { Type } from '@nestjs/common';
2
+ import { BaseEntity } from '../../models';
3
+ declare function CreateManyBodyMixin<Entity extends BaseEntity>(entity: Type<Entity>, CreateManyCustomBody?: Type): {
4
+ new (...args: any[]): {
5
+ [x: string]: any;
6
+ };
7
+ apply(this: Function, thisArg: any, argArray?: any): any;
8
+ call(this: Function, thisArg: any, ...argArray: any[]): any;
9
+ bind(this: Function, thisArg: any, ...argArray: any[]): any;
10
+ toString(): string;
11
+ readonly length: number;
12
+ arguments: any;
13
+ caller: Function;
14
+ readonly name: string;
15
+ [Symbol.hasInstance](value: any): boolean;
16
+ };
17
+ export { CreateManyBodyMixin };
@@ -9,22 +9,27 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CreateManyBodyDtoMixin = void 0;
12
+ exports.CreateManyBodyMixin = void 0;
13
13
  const swagger_1 = require("@nestjs/swagger");
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const class_validator_1 = require("class-validator");
16
- function CreateManyBodyDtoMixin(DtoBody) {
17
- class CreateManyBodyDto {
16
+ const mixins_1 = require("../../mixins");
17
+ function CreateManyBodyMixin(entity, CreateManyCustomBody) {
18
+ class ToCreate extends (0, mixins_1.EntityBodyMixin)(entity) {
19
+ }
20
+ class CreateManyDefaultDto {
18
21
  }
19
22
  __decorate([
20
- (0, swagger_1.ApiProperty)({ type: [DtoBody] }),
23
+ (0, swagger_1.ApiProperty)({ type: [ToCreate] }),
21
24
  (0, class_validator_1.ValidateNested)({ each: true }),
22
- (0, class_validator_1.IsInstance)(DtoBody, { each: true }),
25
+ (0, class_validator_1.IsInstance)(ToCreate, { each: true }),
23
26
  (0, class_validator_1.ArrayMinSize)(1),
24
- (0, class_transformer_1.Type)(() => DtoBody),
27
+ (0, class_transformer_1.Transform)(({ value }) => value?.map((e) => (0, class_transformer_1.plainToInstance)(ToCreate, e))),
25
28
  __metadata("design:type", Array)
26
- ], CreateManyBodyDto.prototype, "list", void 0);
27
- return CreateManyBodyDto;
29
+ ], CreateManyDefaultDto.prototype, "list", void 0);
30
+ class CreateManyDto extends (CreateManyCustomBody ?? CreateManyDefaultDto) {
31
+ }
32
+ return CreateManyDto;
28
33
  }
29
- exports.CreateManyBodyDtoMixin = CreateManyBodyDtoMixin;
30
- //# sourceMappingURL=create-many-body-dto.mixin.js.map
34
+ exports.CreateManyBodyMixin = CreateManyBodyMixin;
35
+ //# sourceMappingURL=create-many-body.mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-many-body.mixin.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/routes/create-many/create-many-body.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6CAA8C;AAC9C,yDAA+D;AAC/D,qDAA2E;AAC3E,yCAA+C;AAG/C,SAAS,mBAAmB,CAA4B,MAAoB,EAAE,oBAA2B;IACvG,MAAM,QAAS,SAAQ,IAAA,wBAAe,EAAC,MAAM,CAAC;KAAG;IAEjD,MAAM,oBAAoB;KAOzB;IADC;QALC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAA,4BAAU,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACpC,IAAA,8BAAY,EAAC,CAAC,CAAC;QACf,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAA,mCAAe,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;;sDACjE;IAGnB,MAAM,aAAc,SAAQ,CAC1B,oBAAoB,IAAI,oBAAoB,CAC7C;KAAG;IAEJ,OAAO,aAAa,CAAC;AACvB,CAAC;AAEQ,kDAAmB"}
@@ -3,8 +3,8 @@ import { CreateManyService } from './create-many-service.interface';
3
3
  type CreateManyBody<T = any> = {
4
4
  list: Partial<T>[];
5
5
  };
6
- interface CreateManyController<Entity extends BaseEntity> {
7
- createMany(body: CreateManyBody<Entity>): Promise<Entity[]>;
6
+ interface CreateManyController<Entity extends BaseEntity, Response = any> {
7
+ createMany(body: CreateManyBody<Entity>): Promise<(Entity | Response)[]>;
8
8
  }
9
9
  type CreateManyControllerConstructor<Entity extends BaseEntity> = new (service: CreateManyService<Entity>) => CreateManyController<Entity>;
10
10
  export type { CreateManyBody, CreateManyController, CreateManyControllerConstructor };
@@ -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 { CreateManyControllerConstructor } from './create-many-controller.interface';
5
- declare function CreateManyControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, routeConfig: DynamicAPIRouteConfig<Entity>, version?: string): CreateManyControllerConstructor<Entity>;
5
+ declare function CreateManyControllerMixin<Entity extends BaseEntity>(entity: Type<Entity>, controllerOptions: DynamicApiControllerOptions<Entity>, { dTOs, ...routeConfig }: DynamicAPIRouteConfig<Entity>, version?: string): CreateManyControllerConstructor<Entity>;
6
6
  export { CreateManyControllerMixin };
@@ -14,17 +14,33 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.CreateManyControllerMixin = 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 CreateManyControllerMixin(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
+ const create_many_body_mixin_1 = require("./create-many-body.mixin");
22
+ const create_many_presenter_mixin_1 = require("./create-many-presenter.mixin");
23
+ function CreateManyControllerMixin(entity, controllerOptions, { dTOs, ...routeConfig }, version) {
24
+ const { routeType, displayedName, description, isPublic, abilityPredicate, } = (0, helpers_1.getMixinData)(entity, controllerOptions, routeConfig);
25
+ class CreateManyBody extends (0, create_many_body_mixin_1.CreateManyBodyMixin)(entity, dTOs?.body) {
26
+ }
27
+ Object.defineProperty(CreateManyBody, 'name', {
28
+ value: `${routeType}${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Dto`,
29
+ writable: false,
30
+ });
31
+ class CreateManyPresenter extends (0, create_many_presenter_mixin_1.CreateManyPresenterMixin)(entity, dTOs?.presenter) {
32
+ }
33
+ Object.defineProperty(CreateManyPresenter, 'name', {
34
+ value: dTOs?.presenter
35
+ ? `${routeType}${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`
36
+ : `${displayedName}${(0, helpers_1.addVersionSuffix)(version)}Presenter`,
37
+ writable: false,
38
+ });
39
+ const routeDecoratorsBuilder = new builders_1.RouteDecoratorsBuilder(routeType, entity, routeConfig.subPath, version, description, isPublic, {
40
+ body: CreateManyBody,
41
+ presenter: CreateManyPresenter,
26
42
  });
27
- class CreateManyPoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, version, abilityPredicate) {
43
+ class CreateManyPoliciesGuard extends (0, mixins_1.CreatePoliciesGuardMixin)(entity, routeType, displayedName, version, abilityPredicate) {
28
44
  }
29
45
  class BaseCreateManyController {
30
46
  constructor(service) {
@@ -32,7 +48,17 @@ function CreateManyControllerMixin(entity, controllerOptions, routeConfig, versi
32
48
  this.entity = entity;
33
49
  }
34
50
  async createMany(body) {
35
- return this.service.createMany(body.list);
51
+ if (!('list' in body &&
52
+ Array.isArray(body.list) &&
53
+ body.list.length &&
54
+ body.list.every((e) => !(0, lodash_1.isEmpty)(e)))) {
55
+ throw new common_1.BadRequestException('Invalid request body');
56
+ }
57
+ let toCreateList = body.list;
58
+ const toEntities = CreateManyBody.toEntities;
59
+ const list = await this.service.createMany(toEntities ? toEntities(body) : toCreateList);
60
+ const fromEntities = CreateManyPresenter.fromEntities;
61
+ return fromEntities ? fromEntities(list) : list;
36
62
  }
37
63
  }
38
64
  __decorate([
@@ -40,11 +66,11 @@ function CreateManyControllerMixin(entity, controllerOptions, routeConfig, versi
40
66
  (0, common_1.UseGuards)(CreateManyPoliciesGuard),
41
67
  __param(0, (0, common_1.Body)()),
42
68
  __metadata("design:type", Function),
43
- __metadata("design:paramtypes", [typeof (_a = typeof RouteBody !== "undefined" && RouteBody) === "function" ? _a : Object]),
69
+ __metadata("design:paramtypes", [CreateManyBody]),
44
70
  __metadata("design:returntype", Promise)
45
71
  ], BaseCreateManyController.prototype, "createMany", null);
46
72
  Object.defineProperty(BaseCreateManyController, 'name', {
47
- value: `Base${(0, helpers_1.provideName)('CreateMany', entity.name, version, 'Controller')}`,
73
+ value: `Base${(0, helpers_1.provideName)('CreateMany', displayedName, version, 'Controller')}`,
48
74
  writable: false,
49
75
  });
50
76
  return BaseCreateManyController;