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.
- package/CHANGELOG.md +14 -0
- package/package.json +1 -2
- package/src/builders/route-decorators/route-decorators.builder.d.ts +2 -1
- package/src/builders/route-decorators/route-decorators.builder.js +24 -14
- package/src/builders/route-decorators/route-decorators.builder.js.map +1 -1
- package/src/dynamic-api.module.js +4 -3
- package/src/dynamic-api.module.js.map +1 -1
- package/src/helpers/format.helper.d.ts +3 -3
- package/src/helpers/format.helper.js +8 -8
- package/src/helpers/format.helper.js.map +1 -1
- package/src/helpers/index.d.ts +1 -1
- package/src/helpers/index.js +1 -1
- package/src/helpers/index.js.map +1 -1
- package/src/helpers/mixin-data.helper.d.ts +12 -0
- package/src/helpers/mixin-data.helper.js +30 -0
- package/src/helpers/mixin-data.helper.js.map +1 -0
- package/src/interfaces/dynamic-api-route-config.interface.d.ts +1 -0
- package/src/interfaces/dynamic-api-route-dtos-bundle.type.d.ts +9 -1
- package/src/mixins/create-policies-guard.mixin.d.ts +1 -1
- package/src/mixins/create-policies-guard.mixin.js +2 -2
- package/src/mixins/create-policies-guard.mixin.js.map +1 -1
- package/src/mixins/entity-body.mixin.d.ts +1 -1
- package/src/mixins/entity-body.mixin.js +2 -2
- package/src/mixins/entity-body.mixin.js.map +1 -1
- package/src/routes/create-many/create-many-body.mixin.d.ts +17 -0
- package/src/routes/create-many/{create-many-body-dto.mixin.js → create-many-body.mixin.js} +15 -10
- package/src/routes/create-many/create-many-body.mixin.js.map +1 -0
- package/src/routes/create-many/create-many-controller.interface.d.ts +2 -2
- package/src/routes/create-many/create-many-controller.mixin.d.ts +1 -1
- package/src/routes/create-many/create-many-controller.mixin.js +36 -10
- package/src/routes/create-many/create-many-controller.mixin.js.map +1 -1
- package/src/routes/create-many/create-many-gateway.interface.d.ts +2 -2
- package/src/routes/create-many/create-many-gateway.mixin.d.ts +1 -1
- package/src/routes/create-many/create-many-gateway.mixin.js +30 -9
- package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
- package/src/routes/create-many/create-many-presenter.mixin.d.ts +17 -0
- package/src/routes/create-many/create-many-presenter.mixin.js +11 -0
- package/src/routes/create-many/create-many-presenter.mixin.js.map +1 -0
- package/src/routes/create-many/create-many.helper.d.ts +3 -3
- package/src/routes/create-many/create-many.helper.js +12 -8
- package/src/routes/create-many/create-many.helper.js.map +1 -1
- package/src/routes/create-many/create-many.module.js +4 -3
- package/src/routes/create-many/create-many.module.js.map +1 -1
- package/src/routes/create-many/index.d.ts +2 -1
- package/src/routes/create-many/index.js +2 -1
- package/src/routes/create-many/index.js.map +1 -1
- package/src/routes/create-one/create-one-controller.interface.d.ts +2 -2
- package/src/routes/create-one/create-one-controller.mixin.d.ts +1 -1
- package/src/routes/create-one/create-one-controller.mixin.js +26 -10
- package/src/routes/create-one/create-one-controller.mixin.js.map +1 -1
- package/src/routes/create-one/create-one-gateway.interface.d.ts +2 -2
- package/src/routes/create-one/create-one-gateway.mixin.d.ts +1 -1
- package/src/routes/create-one/create-one-gateway.mixin.js +23 -8
- package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
- package/src/routes/create-one/create-one.helper.d.ts +3 -3
- package/src/routes/create-one/create-one.helper.js +12 -8
- package/src/routes/create-one/create-one.helper.js.map +1 -1
- package/src/routes/create-one/create-one.module.js +4 -3
- package/src/routes/create-one/create-one.module.js.map +1 -1
- package/src/routes/delete-many/base-delete-many.service.js +3 -3
- package/src/routes/delete-many/base-delete-many.service.js.map +1 -1
- package/src/routes/delete-many/delete-many-controller.interface.d.ts +4 -3
- package/src/routes/delete-many/delete-many-controller.mixin.d.ts +1 -1
- package/src/routes/delete-many/delete-many-controller.mixin.js +17 -9
- package/src/routes/delete-many/delete-many-controller.mixin.js.map +1 -1
- package/src/routes/delete-many/delete-many-gateway.interface.d.ts +4 -4
- package/src/routes/delete-many/delete-many-gateway.mixin.d.ts +1 -1
- package/src/routes/delete-many/delete-many-gateway.mixin.js +14 -6
- package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -1
- package/src/routes/delete-many/delete-many.helper.d.ts +3 -3
- package/src/routes/delete-many/delete-many.helper.js +12 -8
- package/src/routes/delete-many/delete-many.helper.js.map +1 -1
- package/src/routes/delete-many/delete-many.module.js +4 -3
- package/src/routes/delete-many/delete-many.module.js.map +1 -1
- package/src/routes/delete-one/base-delete-one.service.js +3 -3
- package/src/routes/delete-one/base-delete-one.service.js.map +1 -1
- package/src/routes/delete-one/delete-one-controller.interface.d.ts +3 -3
- package/src/routes/delete-one/delete-one-controller.mixin.d.ts +1 -1
- package/src/routes/delete-one/delete-one-controller.mixin.js +18 -10
- package/src/routes/delete-one/delete-one-controller.mixin.js.map +1 -1
- package/src/routes/delete-one/delete-one-gateway.interface.d.ts +4 -4
- package/src/routes/delete-one/delete-one-gateway.mixin.d.ts +1 -1
- package/src/routes/delete-one/delete-one-gateway.mixin.js +14 -6
- package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -1
- package/src/routes/delete-one/delete-one.helper.d.ts +3 -3
- package/src/routes/delete-one/delete-one.helper.js +12 -8
- package/src/routes/delete-one/delete-one.helper.js.map +1 -1
- package/src/routes/delete-one/delete-one.module.js +4 -3
- package/src/routes/delete-one/delete-one.module.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-controller.interface.d.ts +2 -2
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.d.ts +1 -1
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +27 -10
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-gateway.interface.d.ts +2 -2
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.d.ts +1 -1
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +23 -6
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-service.interface.d.ts +2 -2
- package/src/routes/duplicate-many/duplicate-many.helper.d.ts +3 -3
- package/src/routes/duplicate-many/duplicate-many.helper.js +12 -8
- package/src/routes/duplicate-many/duplicate-many.helper.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many.module.js +4 -3
- package/src/routes/duplicate-many/duplicate-many.module.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one-controller.interface.d.ts +2 -2
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.d.ts +1 -1
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +27 -10
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one-gateway.interface.d.ts +2 -2
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.d.ts +1 -1
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +23 -6
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one.helper.d.ts +3 -3
- package/src/routes/duplicate-one/duplicate-one.helper.js +12 -8
- package/src/routes/duplicate-one/duplicate-one.helper.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one.module.js +4 -3
- package/src/routes/duplicate-one/duplicate-one.module.js.map +1 -1
- package/src/routes/get-many/get-many-controller.interface.d.ts +2 -2
- package/src/routes/get-many/get-many-controller.mixin.d.ts +1 -1
- package/src/routes/get-many/get-many-controller.mixin.js +25 -11
- package/src/routes/get-many/get-many-controller.mixin.js.map +1 -1
- package/src/routes/get-many/get-many-gateway.interface.d.ts +2 -2
- package/src/routes/get-many/get-many-gateway.mixin.d.ts +1 -1
- package/src/routes/get-many/get-many-gateway.mixin.js +23 -7
- package/src/routes/get-many/get-many-gateway.mixin.js.map +1 -1
- package/src/routes/get-many/get-many.helper.d.ts +3 -3
- package/src/routes/get-many/get-many.helper.js +12 -8
- package/src/routes/get-many/get-many.helper.js.map +1 -1
- package/src/routes/get-many/get-many.module.js +4 -3
- package/src/routes/get-many/get-many.module.js.map +1 -1
- package/src/routes/get-one/get-one-controller.interface.d.ts +2 -2
- package/src/routes/get-one/get-one-controller.mixin.d.ts +1 -1
- package/src/routes/get-one/get-one-controller.mixin.js +17 -7
- package/src/routes/get-one/get-one-controller.mixin.js.map +1 -1
- package/src/routes/get-one/get-one-gateway.interface.d.ts +2 -2
- package/src/routes/get-one/get-one-gateway.mixin.d.ts +1 -1
- package/src/routes/get-one/get-one-gateway.mixin.js +15 -6
- package/src/routes/get-one/get-one-gateway.mixin.js.map +1 -1
- package/src/routes/get-one/get-one.helper.d.ts +3 -3
- package/src/routes/get-one/get-one.helper.js +12 -8
- package/src/routes/get-one/get-one.helper.js.map +1 -1
- package/src/routes/get-one/get-one.module.js +4 -3
- package/src/routes/get-one/get-one.module.js.map +1 -1
- package/src/routes/replace-one/replace-one-controller.interface.d.ts +2 -2
- package/src/routes/replace-one/replace-one-controller.mixin.d.ts +1 -1
- package/src/routes/replace-one/replace-one-controller.mixin.js +28 -11
- package/src/routes/replace-one/replace-one-controller.mixin.js.map +1 -1
- package/src/routes/replace-one/replace-one-gateway.interface.d.ts +2 -2
- package/src/routes/replace-one/replace-one-gateway.mixin.d.ts +1 -1
- package/src/routes/replace-one/replace-one-gateway.mixin.js +23 -7
- package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -1
- package/src/routes/replace-one/replace-one.helper.d.ts +3 -3
- package/src/routes/replace-one/replace-one.helper.js +12 -8
- package/src/routes/replace-one/replace-one.helper.js.map +1 -1
- package/src/routes/replace-one/replace-one.module.js +4 -3
- package/src/routes/replace-one/replace-one.module.js.map +1 -1
- package/src/routes/update-many/update-many-controller.interface.d.ts +2 -2
- package/src/routes/update-many/update-many-controller.mixin.d.ts +1 -1
- package/src/routes/update-many/update-many-controller.mixin.js +30 -10
- package/src/routes/update-many/update-many-controller.mixin.js.map +1 -1
- package/src/routes/update-many/update-many-gateway.interface.d.ts +2 -2
- package/src/routes/update-many/update-many-gateway.mixin.d.ts +1 -1
- package/src/routes/update-many/update-many-gateway.mixin.js +24 -7
- package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
- package/src/routes/update-many/update-many.helper.d.ts +3 -3
- package/src/routes/update-many/update-many.helper.js +12 -8
- package/src/routes/update-many/update-many.helper.js.map +1 -1
- package/src/routes/update-many/update-many.module.js +4 -3
- package/src/routes/update-many/update-many.module.js.map +1 -1
- package/src/routes/update-one/update-one-controller.interface.d.ts +2 -2
- package/src/routes/update-one/update-one-controller.mixin.d.ts +1 -1
- package/src/routes/update-one/update-one-controller.mixin.js +32 -11
- package/src/routes/update-one/update-one-controller.mixin.js.map +1 -1
- package/src/routes/update-one/update-one-gateway.interface.d.ts +2 -2
- package/src/routes/update-one/update-one-gateway.mixin.d.ts +1 -1
- package/src/routes/update-one/update-one-gateway.mixin.js +23 -7
- package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -1
- package/src/routes/update-one/update-one.helper.d.ts +3 -3
- package/src/routes/update-one/update-one.helper.js +12 -8
- package/src/routes/update-one/update-one.helper.js.map +1 -1
- package/src/routes/update-one/update-one.module.js +4 -3
- package/src/routes/update-one/update-one.module.js.map +1 -1
- package/src/services/base/base.service.js +5 -4
- package/src/services/base/base.service.js.map +1 -1
- package/src/version.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/src/helpers/controller-mixin.helper.d.ts +0 -42
- package/src/helpers/controller-mixin.helper.js +0 -132
- package/src/helpers/controller-mixin.helper.js.map +0 -1
- package/src/routes/create-many/create-many-body-dto.mixin.d.ts +0 -7
- 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.
|
|
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)(
|
|
57
|
+
routeDecorators.push((0, common_1.Get)(`${addSubPath()}:${paramKey}`));
|
|
49
58
|
break;
|
|
50
59
|
case 'CreateMany':
|
|
51
|
-
routeDecorators.push((0, common_1.Post)(
|
|
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)(
|
|
69
|
+
routeDecorators.push((0, common_1.Patch)(`${addSubPath()}:${paramKey}`));
|
|
61
70
|
break;
|
|
62
71
|
case 'ReplaceOne':
|
|
63
|
-
routeDecorators.push((0, common_1.Put)(
|
|
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)(
|
|
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)}${
|
|
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)(
|
|
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":";;;AAAA,2CAAqE;AACrE,6CAA8F;AAC9F,mCAAiE;AACjE,iDAA0C;AAC1C,iEAA4D;
|
|
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
|
-
|
|
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
|
-
})
|
|
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
|
|
5
|
-
declare function provideName(routeType: RouteType,
|
|
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,
|
|
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.
|
|
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,
|
|
7
|
-
return `${routeType}${
|
|
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
|
|
18
|
-
return pascalCase(apiTag
|
|
17
|
+
function getDisplayedName(apiTag, entityName, subPath) {
|
|
18
|
+
return pascalCase(`${subPath ? subPath + '-' : ''}${apiTag ?? entityName}`);
|
|
19
19
|
}
|
|
20
|
-
exports.
|
|
21
|
-
function provideName(routeType,
|
|
22
|
-
return `${getNamePrefix(routeType,
|
|
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,
|
|
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"}
|
package/src/helpers/index.d.ts
CHANGED
|
@@ -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';
|
package/src/helpers/index.js
CHANGED
|
@@ -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);
|
package/src/helpers/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,
|
|
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,
|
|
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,
|
|
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>,
|
|
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,
|
|
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
|
|
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,
|
|
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.
|
|
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
|
-
|
|
17
|
-
|
|
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: [
|
|
23
|
+
(0, swagger_1.ApiProperty)({ type: [ToCreate] }),
|
|
21
24
|
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
22
|
-
(0, class_validator_1.IsInstance)(
|
|
25
|
+
(0, class_validator_1.IsInstance)(ToCreate, { each: true }),
|
|
23
26
|
(0, class_validator_1.ArrayMinSize)(1),
|
|
24
|
-
(0, class_transformer_1.
|
|
27
|
+
(0, class_transformer_1.Transform)(({ value }) => value?.map((e) => (0, class_transformer_1.plainToInstance)(ToCreate, e))),
|
|
25
28
|
__metadata("design:type", Array)
|
|
26
|
-
],
|
|
27
|
-
|
|
29
|
+
], CreateManyDefaultDto.prototype, "list", void 0);
|
|
30
|
+
class CreateManyDto extends (CreateManyCustomBody ?? CreateManyDefaultDto) {
|
|
31
|
+
}
|
|
32
|
+
return CreateManyDto;
|
|
28
33
|
}
|
|
29
|
-
exports.
|
|
30
|
-
//# sourceMappingURL=create-many-body
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
|
|
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", [
|
|
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',
|
|
73
|
+
value: `Base${(0, helpers_1.provideName)('CreateMany', displayedName, version, 'Controller')}`,
|
|
48
74
|
writable: false,
|
|
49
75
|
});
|
|
50
76
|
return BaseCreateManyController;
|