mongodb-dynamic-api 4.3.0 → 4.5.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 +24 -0
- package/package.json +2 -3
- package/src/builders/route-decorators/route-decorators.builder.js +3 -4
- package/src/builders/route-decorators/route-decorators.builder.js.map +1 -1
- package/src/gateways/base.gateway.js +1 -2
- package/src/gateways/base.gateway.js.map +1 -1
- package/src/guards/jwt-socket.guard.js +2 -2
- package/src/guards/jwt-socket.guard.js.map +1 -1
- package/src/helpers/format.helper.js +2 -2
- package/src/helpers/format.helper.js.map +1 -1
- package/src/helpers/index.d.ts +1 -0
- package/src/helpers/index.js +1 -0
- package/src/helpers/index.js.map +1 -1
- package/src/helpers/lodash.helper.d.ts +9 -0
- package/src/helpers/lodash.helper.js +85 -0
- package/src/helpers/lodash.helper.js.map +1 -0
- package/src/helpers/mixin-data.helper.js +2 -2
- package/src/helpers/mixin-data.helper.js.map +1 -1
- package/src/helpers/route-description.helper.js +2 -2
- package/src/helpers/route-description.helper.js.map +1 -1
- package/src/interfaces/dynamic-api-route-config.interface.d.ts +4 -4
- package/src/interfaces/dynamic-api-service-before-save-callback.interface.d.ts +47 -5
- package/src/interfaces/dynamic-api-service-callback.interface.d.ts +5 -3
- package/src/modules/auth/auth-broadcast.helper.js +2 -2
- package/src/modules/auth/auth-broadcast.helper.js.map +1 -1
- package/src/modules/auth/auth.helper.d.ts +2 -2
- package/src/modules/auth/auth.helper.js.map +1 -1
- package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js +2 -2
- package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js.map +1 -1
- package/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.js +2 -2
- package/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.js.map +1 -1
- package/src/modules/auth/interfaces/auth-options.interface.d.ts +9 -9
- package/src/modules/auth/mixins/auth-gateway.mixin.js +2 -3
- package/src/modules/auth/mixins/auth-gateway.mixin.js.map +1 -1
- package/src/modules/auth/services/base-auth.service.d.ts +7 -7
- package/src/routes/aggregate/aggregate.helper.d.ts +2 -2
- package/src/routes/aggregate/aggregate.helper.js.map +1 -1
- package/src/routes/aggregate/base-aggregate.service.d.ts +2 -2
- package/src/routes/create-many/base-create-many.service.d.ts +3 -2
- package/src/routes/create-many/base-create-many.service.js +5 -1
- package/src/routes/create-many/base-create-many.service.js.map +1 -1
- package/src/routes/create-many/create-many-controller.mixin.js +1 -2
- package/src/routes/create-many/create-many-controller.mixin.js.map +1 -1
- package/src/routes/create-many/create-many-gateway.mixin.js +1 -2
- package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
- package/src/routes/create-many/create-many.helper.d.ts +2 -2
- package/src/routes/create-many/create-many.helper.js +2 -1
- package/src/routes/create-many/create-many.helper.js.map +1 -1
- package/src/routes/create-many/create-many.module.js +1 -1
- package/src/routes/create-many/create-many.module.js.map +1 -1
- package/src/routes/create-one/base-create-one.service.d.ts +3 -3
- package/src/routes/create-one/base-create-one.service.js +2 -2
- package/src/routes/create-one/base-create-one.service.js.map +1 -1
- package/src/routes/create-one/create-one-gateway.mixin.js +1 -2
- package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
- package/src/routes/create-one/create-one.helper.d.ts +2 -2
- package/src/routes/create-one/create-one.helper.js.map +1 -1
- package/src/routes/create-one/create-one.module.js.map +1 -1
- package/src/routes/delete-many/base-delete-many.service.d.ts +3 -0
- package/src/routes/delete-many/base-delete-many.service.js +13 -0
- package/src/routes/delete-many/base-delete-many.service.js.map +1 -1
- package/src/routes/delete-many/delete-many.helper.d.ts +2 -2
- package/src/routes/delete-many/delete-many.helper.js +3 -1
- package/src/routes/delete-many/delete-many.helper.js.map +1 -1
- package/src/routes/delete-many/delete-many.module.js +1 -1
- package/src/routes/delete-many/delete-many.module.js.map +1 -1
- package/src/routes/delete-one/base-delete-one.service.d.ts +3 -0
- package/src/routes/delete-one/base-delete-one.service.js +13 -0
- package/src/routes/delete-one/base-delete-one.service.js.map +1 -1
- package/src/routes/delete-one/delete-one.helper.d.ts +2 -2
- package/src/routes/delete-one/delete-one.helper.js +3 -1
- package/src/routes/delete-one/delete-one.helper.js.map +1 -1
- package/src/routes/delete-one/delete-one.module.js +1 -1
- package/src/routes/delete-one/delete-one.module.js.map +1 -1
- package/src/routes/duplicate-many/base-duplicate-many.service.d.ts +3 -2
- package/src/routes/duplicate-many/base-duplicate-many.service.js +7 -2
- package/src/routes/duplicate-many/base-duplicate-many.service.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +1 -2
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +1 -2
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many.helper.d.ts +2 -2
- package/src/routes/duplicate-many/duplicate-many.helper.js +2 -1
- package/src/routes/duplicate-many/duplicate-many.helper.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many.module.js +1 -1
- package/src/routes/duplicate-many/duplicate-many.module.js.map +1 -1
- package/src/routes/duplicate-one/base-duplicate-one.service.d.ts +3 -2
- package/src/routes/duplicate-one/base-duplicate-one.service.js +7 -2
- package/src/routes/duplicate-one/base-duplicate-one.service.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +1 -2
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +1 -2
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one.helper.d.ts +2 -2
- package/src/routes/duplicate-one/duplicate-one.helper.js +2 -1
- package/src/routes/duplicate-one/duplicate-one.helper.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one.module.js +1 -1
- package/src/routes/duplicate-one/duplicate-one.module.js.map +1 -1
- package/src/routes/get-many/base-get-many.service.d.ts +2 -2
- package/src/routes/get-many/get-many.helper.d.ts +2 -2
- package/src/routes/get-many/get-many.helper.js.map +1 -1
- package/src/routes/get-one/base-get-one.service.d.ts +2 -2
- package/src/routes/get-one/get-one.helper.d.ts +2 -2
- package/src/routes/get-one/get-one.helper.js.map +1 -1
- package/src/routes/replace-one/base-replace-one.service.d.ts +3 -2
- package/src/routes/replace-one/base-replace-one.service.js +14 -3
- package/src/routes/replace-one/base-replace-one.service.js.map +1 -1
- package/src/routes/replace-one/replace-one.helper.d.ts +2 -2
- package/src/routes/replace-one/replace-one.helper.js +2 -1
- package/src/routes/replace-one/replace-one.helper.js.map +1 -1
- package/src/routes/replace-one/replace-one.module.js +1 -1
- package/src/routes/replace-one/replace-one.module.js.map +1 -1
- package/src/routes/update-many/base-update-many.service.d.ts +3 -2
- package/src/routes/update-many/base-update-many.service.js +17 -7
- package/src/routes/update-many/base-update-many.service.js.map +1 -1
- package/src/routes/update-many/update-many-controller.mixin.js +1 -2
- package/src/routes/update-many/update-many-controller.mixin.js.map +1 -1
- package/src/routes/update-many/update-many-gateway.mixin.js +1 -2
- package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
- package/src/routes/update-many/update-many.helper.d.ts +2 -2
- package/src/routes/update-many/update-many.helper.js +2 -1
- package/src/routes/update-many/update-many.helper.js.map +1 -1
- package/src/routes/update-many/update-many.module.js +1 -1
- package/src/routes/update-many/update-many.module.js.map +1 -1
- package/src/routes/update-one/base-update-one.service.d.ts +3 -3
- package/src/routes/update-one/base-update-one.service.js +2 -2
- package/src/routes/update-one/base-update-one.service.js.map +1 -1
- package/src/routes/update-one/update-one-controller.mixin.js +1 -2
- package/src/routes/update-one/update-one-controller.mixin.js.map +1 -1
- package/src/routes/update-one/update-one.helper.d.ts +2 -2
- package/src/routes/update-one/update-one.helper.js.map +1 -1
- package/src/routes/update-one/update-one.module.js.map +1 -1
- package/src/version.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
|
|
3
|
+
## [4.5.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.4.0...v4.5.0) (2026-03-18)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### helpers
|
|
7
|
+
|
|
8
|
+
* **helpers:** add native lodash replacement helper with tests ([2964ad2](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/2964ad2b88ae990fcbf48851168c28ac69ddf9b7))
|
|
9
|
+
|
|
10
|
+
## [4.4.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.3.0...v4.4.0) (2026-03-18)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
* pass existing entities to BeforeSaveListCallback in DuplicateMany and UpdateMany ([77b6872](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/77b6872e6852eb3199bae0f313f6ef20f101d815))
|
|
14
|
+
* update BeforeSaveListCallback to receive entities list and add AnyBeforeSaveCallback union type ([8b422b2](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/8b422b2821a660d6ce1dde01bfe470d6e3ce5275))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### interfaces
|
|
18
|
+
|
|
19
|
+
* **interfaces:** add BeforeSaveDeleteManyCallback type for delete-many route ([ce1d707](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/ce1d7076b23c63de74e4b6e7ae44044e63d917a8))
|
|
20
|
+
* **interfaces:** add short aliases for callback types and deprecate verbose names ([aa6467f](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/aa6467f839a753770e40ebeaf0c742b11b67e3da))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### routes
|
|
24
|
+
|
|
25
|
+
* **routes:** pass beforeSaveCallback from routeConfig to service providers ([3d4ee6d](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/3d4ee6dd0103c9f9b797dc616da516f949e61eae))
|
|
26
|
+
|
|
3
27
|
## [4.3.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.2.1...v4.3.0) (2026-03-17)
|
|
4
28
|
|
|
5
29
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mongodb-dynamic-api",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.0",
|
|
4
4
|
"description": "Auto generated CRUD API for MongoDB using NestJS",
|
|
5
5
|
"readmeFilename": "README.md",
|
|
6
6
|
"main": "index.js",
|
|
@@ -57,9 +57,8 @@
|
|
|
57
57
|
"class-validator": "^0.14.1",
|
|
58
58
|
"cookie-parser": "^1.4.7",
|
|
59
59
|
"dotenv": "^16.4.5",
|
|
60
|
-
"lodash": "4.17.23",
|
|
61
60
|
"mongodb-pipeline-builder": "^4.0.2",
|
|
62
|
-
"mongoose": "8.9.5",
|
|
61
|
+
"mongoose": "^8.9.5",
|
|
63
62
|
"passport": "^0.7.0",
|
|
64
63
|
"passport-jwt": "^4.0.1",
|
|
65
64
|
"passport-local": "^1.0.0",
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RouteDecoratorsBuilder = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
5
|
const swagger_1 = require("@nestjs/swagger");
|
|
6
|
-
const lodash_1 = require("lodash");
|
|
7
6
|
const decorators_1 = require("../../decorators");
|
|
8
7
|
const dynamic_api_module_1 = require("../../dynamic-api.module");
|
|
9
8
|
const helpers_1 = require("../../helpers");
|
|
@@ -28,7 +27,7 @@ class RouteDecoratorsBuilder {
|
|
|
28
27
|
];
|
|
29
28
|
}
|
|
30
29
|
build() {
|
|
31
|
-
const [paramKey] = this.dTOs.param ?
|
|
30
|
+
const [paramKey] = this.dTOs.param ? Object.keys(new this.dTOs.param()) : [];
|
|
32
31
|
return [
|
|
33
32
|
...this.getRouteDecorators(paramKey),
|
|
34
33
|
...this.getApiDecorators(paramKey),
|
|
@@ -96,9 +95,9 @@ class RouteDecoratorsBuilder {
|
|
|
96
95
|
const feature = this.subPath ? `${(0, helpers_1.pascalCase)(this.subPath)}-${this.entity.name}` : this.entity.name;
|
|
97
96
|
return [
|
|
98
97
|
(0, swagger_1.ApiOperation)({
|
|
99
|
-
operationId: `${(0,
|
|
98
|
+
operationId: `${(0, helpers_1.lowerFirst)(this.routeType)}${feature}${this.version ? 'V' + this.version : ''}`,
|
|
100
99
|
summary: this.description ??
|
|
101
|
-
`${(0,
|
|
100
|
+
`${(0, helpers_1.upperFirst)((0, helpers_1.lowerCase)(this.routeType))} ${(0, helpers_1.lowerCase)(feature)}`,
|
|
102
101
|
}),
|
|
103
102
|
(0, swagger_1.ApiResponse)({
|
|
104
103
|
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,
|
|
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,iDAA0C;AAC1C,iEAA4D;AAC5D,2CAA8E;AAK9E,MAAM,sBAAsB;IAY1B,YACmB,SAAoB,EACpB,MAAoB,EACpB,OAA2B,EAC3B,OAA2B,EAC3B,WAA+B,EAC/B,QAA6B,EAC7B,OAIb,EAAE,EACW,kBAA2B,KAAK;QAXhC,cAAS,GAAT,SAAS,CAAW;QACpB,WAAM,GAAN,MAAM,CAAc;QACpB,YAAO,GAAP,OAAO,CAAoB;QAC3B,YAAO,GAAP,OAAO,CAAoB;QAC3B,gBAAW,GAAX,WAAW,CAAoB;QAC/B,aAAQ,GAAR,QAAQ,CAAqB;QAC7B,SAAI,GAAJ,IAAI,CAIf;QACW,oBAAe,GAAf,eAAe,CAAiB;QAvBlC,6BAAwB,GAAgB;YACvD,SAAS;YACT,YAAY;YACZ,eAAe;SAChB,CAAC;QAEe,4BAAuB,GAAgB;YACtD,cAAc;YACd,eAAe;SAChB,CAAC;IAeC,CAAC;IAEG,KAAK;QACV,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7E,OAAO;YACL,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YACpC,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;SACnC,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,QAAiB;QAC1C,IAAI,eAAe,GAAyC,EAAE,CAAC;QAC/D,MAAM,aAAa,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,eAAe,CAAC,IAAI,CAAC,IAAA,mBAAM,GAAE,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,eAAe,CAAC,IAAI,CAAC,IAAA,uBAAa,GAAE,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAEnC,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,IAAI,EAAU,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1D,CAAC,CAAC;QAEF,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,KAAK,SAAS;gBACZ,eAAe,CAAC,IAAI,CAAC,IAAA,YAAG,EAAC,OAAO,CAAC,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,QAAQ;gBACX,eAAe,CAAC,IAAI,CAAC,IAAA,YAAG,EAAC,GAAG,UAAU,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,YAAY;gBACf,eAAe,CAAC,IAAI,CAAC,IAAA,aAAI,EAAC,OAAO,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,WAAW;gBACd,eAAe,CAAC,IAAI,CAAC,IAAA,aAAI,EAAC,OAAO,CAAC,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,YAAY;gBACf,eAAe,CAAC,IAAI,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,WAAW;gBACd,eAAe,CAAC,IAAI,CAAC,IAAA,cAAK,EAAC,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChE,MAAM;YACR,KAAK,YAAY;gBACf,eAAe,CAAC,IAAI,CAAC,IAAA,YAAG,EAAC,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,eAAe;gBAClB,eAAe,CAAC,IAAI,CAAC,IAAA,aAAI,EAAC,YAAY,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5D,MAAM;YACR,KAAK,cAAc;gBACjB,eAAe,CAAC,IAAI,CAAC,IAAA,aAAI,EAAC,cAAc,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzE,MAAM;YACR,KAAK,YAAY;gBACf,eAAe,CAAC,IAAI,CAAC,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,WAAW;gBACd,eAAe,CAAC,IAAI,CAAC,IAAA,eAAM,EAAC,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjE,MAAM;YACR,KAAK,WAAW;gBACd,eAAe,CAAC,IAAI,CAAC,IAAA,YAAG,EAAC,OAAO,CAAC,CAAC,CAAC;gBACnC,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CACb,mEAAmE,IAAI,CAAC,SAAS,EAAE,CACpF,CAAC;QACN,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,gBAAgB,CAAC,QAAiB;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAEpG,OAAO;YACL,IAAA,sBAAY,EAAC;gBACX,WAAW,EAAE,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/F,OAAO,EACL,IAAI,CAAC,WAAW;oBAChB,GAAG,IAAA,oBAAU,EAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAA,mBAAS,EAAC,OAAO,CAAC,EAAE;aACnE,CAAC;YACF,IAAA,qBAAW,EAAC;gBACV,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM;gBACxC,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,eAAe;aACxF,CAAC;YACF,GAAG,CACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACf,IAAA,iBAAO,EAAC;oBACN,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;oBACpB,QAAQ,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;iBACjE,CAAC;aACH,CAAC,CAAC,CAAC,EAAE,CACP;YACD,GAAG,CACD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ;gBACzB,CAAC,CAAC;oBACA,IAAA,kBAAQ,EAAC;wBACP,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC;wBAC5C,IAAI,EAAE,QAAQ;qBACf,CAAC;iBACH;gBACD,CAAC,CAAC,EAAE,CACP;SACF,CAAC;IACJ,CAAC;CACF;AAEQ,wDAAsB"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseGateway = void 0;
|
|
4
4
|
const websockets_1 = require("@nestjs/websockets");
|
|
5
|
-
const lodash_1 = require("lodash");
|
|
6
5
|
const dynamic_api_module_1 = require("../dynamic-api.module");
|
|
7
6
|
const helpers_1 = require("../helpers");
|
|
8
7
|
const ws_config_store_1 = require("../helpers/ws-config.store");
|
|
@@ -31,7 +30,7 @@ class BaseGateway {
|
|
|
31
30
|
this.logger.error(e.message, e.stack);
|
|
32
31
|
}
|
|
33
32
|
const { iat, exp, ...user } = verified ?? {};
|
|
34
|
-
socket.user = !(0,
|
|
33
|
+
socket.user = !(0, helpers_1.isEmpty)(user) ? user : undefined;
|
|
35
34
|
}
|
|
36
35
|
if (socket.user?.id && verified?.exp > Date.now() / 1000) {
|
|
37
36
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.gateway.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/base.gateway.ts"],"names":[],"mappings":";;;AACA,mDAAiD;
|
|
1
|
+
{"version":3,"file":"base.gateway.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/base.gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.JwtSocketGuard = void 0;
|
|
4
4
|
const jwt_1 = require("@nestjs/jwt");
|
|
5
5
|
const websockets_1 = require("@nestjs/websockets");
|
|
6
|
-
const
|
|
6
|
+
const helpers_1 = require("../helpers");
|
|
7
7
|
const dynamic_api_module_1 = require("../dynamic-api.module");
|
|
8
8
|
const logger_1 = require("../logger");
|
|
9
9
|
class JwtSocketGuard {
|
|
@@ -31,7 +31,7 @@ class JwtSocketGuard {
|
|
|
31
31
|
if (!this.isPublic) {
|
|
32
32
|
this.logger.debug('Checking user from socket query');
|
|
33
33
|
const user = await this.getUserFromSocket(socket);
|
|
34
|
-
if ((0,
|
|
34
|
+
if ((0, helpers_1.isEmpty)(user)) {
|
|
35
35
|
this.logger.warn('No user data');
|
|
36
36
|
throw new websockets_1.WsException('Unauthorized');
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-socket.guard.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/guards/jwt-socket.guard.ts"],"names":[],"mappings":";;;AACA,qCAAyC;AACzC,mDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"jwt-socket.guard.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/guards/jwt-socket.guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,13 @@ exports.getDisplayedName = getDisplayedName;
|
|
|
6
6
|
exports.provideName = provideName;
|
|
7
7
|
exports.isEmptyObject = isEmptyObject;
|
|
8
8
|
exports.isNotEmptyObject = isNotEmptyObject;
|
|
9
|
-
const
|
|
9
|
+
const lodash_helper_1 = require("./lodash.helper");
|
|
10
10
|
const versioning_config_helper_1 = require("./versioning-config.helper");
|
|
11
11
|
function getNamePrefix(routeType, displayedName, version) {
|
|
12
12
|
return `${routeType}${displayedName}${version ? (0, versioning_config_helper_1.addVersionSuffix)(version) : ''}`;
|
|
13
13
|
}
|
|
14
14
|
function pascalCase(str) {
|
|
15
|
-
return str ? (0,
|
|
15
|
+
return str ? (0, lodash_helper_1.upperFirst)((0, lodash_helper_1.camelCase)(str)) : undefined;
|
|
16
16
|
}
|
|
17
17
|
function isValidVersion(version) {
|
|
18
18
|
return /^\d+$/.test(version);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/format.helper.ts"],"names":[],"mappings":";;AA6CE,gCAAU;AACV,wCAAc;AACd,4CAAgB;AAChB,kCAAW;AACX,sCAAa;AACb,4CAAgB;AAlDlB,
|
|
1
|
+
{"version":3,"file":"format.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/format.helper.ts"],"names":[],"mappings":";;AA6CE,gCAAU;AACV,wCAAc;AACd,4CAAgB;AAChB,kCAAW;AACX,sCAAa;AACb,4CAAgB;AAlDlB,mDAAwD;AAExD,yEAA8D;AAG9D,SAAS,aAAa,CAAC,SAAoB,EAAE,aAAqB,EAAE,OAA2B;IAC7F,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,IAAA,2CAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnF,CAAC;AAGD,SAAS,UAAU,CAAC,GAAY;IAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,IAAA,0BAAU,EAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAGD,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAGD,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;AAGD,SAAS,WAAW,CAClB,SAAoB,EACpB,aAAqB,EACrB,OAA2B,EAC3B,MAAsF;IAEtF,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;AACxE,CAAC;AAGD,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;AAGD,SAAS,gBAAgB,CAAC,GAAa;IACrC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC"}
|
package/src/helpers/index.d.ts
CHANGED
package/src/helpers/index.js
CHANGED
|
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./controller-ability-predicates.helper"), exports);
|
|
18
18
|
__exportStar(require("./format.helper"), exports);
|
|
19
|
+
__exportStar(require("./lodash.helper"), exports);
|
|
19
20
|
__exportStar(require("./mixin-data.helper"), exports);
|
|
20
21
|
__exportStar(require("./repository.helper"), exports);
|
|
21
22
|
__exportStar(require("./resolve-rooms.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,kDAAgC;AAChC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,4DAA0C;AAC1C,6DAA2C;AAC3C,kDAAgC;AAChC,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAC3C,6DAA2C;AAC3C,oDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,kDAAgC;AAChC,kDAAgC;AAChC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,4DAA0C;AAC1C,6DAA2C;AAC3C,kDAAgC;AAChC,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAC3C,6DAA2C;AAC3C,oDAAkC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare function isEmpty(value: unknown): boolean;
|
|
2
|
+
declare function cloneDeep<T>(value: T): T;
|
|
3
|
+
declare function pick<T extends object>(obj: T, keys: (keyof T)[] | string[]): Partial<T>;
|
|
4
|
+
declare function camelCase(str?: string): string;
|
|
5
|
+
declare function upperFirst(str?: string): string;
|
|
6
|
+
declare function kebabCase(str?: string): string;
|
|
7
|
+
declare function lowerCase(str?: string): string;
|
|
8
|
+
declare function lowerFirst(str?: string): string;
|
|
9
|
+
export { isEmpty, cloneDeep, pick, camelCase, upperFirst, lowerFirst, kebabCase, lowerCase };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isEmpty = isEmpty;
|
|
4
|
+
exports.cloneDeep = cloneDeep;
|
|
5
|
+
exports.pick = pick;
|
|
6
|
+
exports.camelCase = camelCase;
|
|
7
|
+
exports.upperFirst = upperFirst;
|
|
8
|
+
exports.lowerFirst = lowerFirst;
|
|
9
|
+
exports.kebabCase = kebabCase;
|
|
10
|
+
exports.lowerCase = lowerCase;
|
|
11
|
+
function isEmpty(value) {
|
|
12
|
+
if (value == null) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
if (Array.isArray(value) || typeof value === 'string') {
|
|
16
|
+
return value.length === 0;
|
|
17
|
+
}
|
|
18
|
+
if (value instanceof Map || value instanceof Set) {
|
|
19
|
+
return value.size === 0;
|
|
20
|
+
}
|
|
21
|
+
if (typeof value === 'object') {
|
|
22
|
+
return Object.keys(value).length === 0;
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
function cloneDeep(value) {
|
|
27
|
+
return structuredClone(value);
|
|
28
|
+
}
|
|
29
|
+
function pick(obj, keys) {
|
|
30
|
+
const result = {};
|
|
31
|
+
for (const key of keys) {
|
|
32
|
+
if (key in obj) {
|
|
33
|
+
result[key] = obj[key];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
function splitWords(str) {
|
|
39
|
+
if (!str) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
return str
|
|
43
|
+
.replaceAll(/([a-z\d])([A-Z])/g, '$1 $2')
|
|
44
|
+
.replaceAll(/(?<=[A-Z])(?=[A-Z][a-z])/g, ' ')
|
|
45
|
+
.replaceAll(/[^a-zA-Z\d\s]/g, ' ')
|
|
46
|
+
.trim()
|
|
47
|
+
.split(/\s+/)
|
|
48
|
+
.filter(Boolean);
|
|
49
|
+
}
|
|
50
|
+
function camelCase(str) {
|
|
51
|
+
if (!str) {
|
|
52
|
+
return '';
|
|
53
|
+
}
|
|
54
|
+
const words = splitWords(str);
|
|
55
|
+
return words
|
|
56
|
+
.map((word, index) => index === 0
|
|
57
|
+
? word.toLowerCase()
|
|
58
|
+
: word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
59
|
+
.join('');
|
|
60
|
+
}
|
|
61
|
+
function upperFirst(str) {
|
|
62
|
+
if (!str) {
|
|
63
|
+
return '';
|
|
64
|
+
}
|
|
65
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
66
|
+
}
|
|
67
|
+
function kebabCase(str) {
|
|
68
|
+
if (!str) {
|
|
69
|
+
return '';
|
|
70
|
+
}
|
|
71
|
+
return splitWords(str).map((w) => w.toLowerCase()).join('-');
|
|
72
|
+
}
|
|
73
|
+
function lowerCase(str) {
|
|
74
|
+
if (!str) {
|
|
75
|
+
return '';
|
|
76
|
+
}
|
|
77
|
+
return splitWords(str).map((w) => w.toLowerCase()).join(' ');
|
|
78
|
+
}
|
|
79
|
+
function lowerFirst(str) {
|
|
80
|
+
if (!str) {
|
|
81
|
+
return '';
|
|
82
|
+
}
|
|
83
|
+
return str.charAt(0).toLowerCase() + str.slice(1);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=lodash.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lodash.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/lodash.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMixinData = getMixinData;
|
|
4
|
-
const
|
|
4
|
+
const lodash_helper_1 = require("./lodash.helper");
|
|
5
5
|
const controller_ability_predicates_helper_1 = require("./controller-ability-predicates.helper");
|
|
6
6
|
const format_helper_1 = require("./format.helper");
|
|
7
7
|
function getMixinData(entity, { apiTag, isPublic: isPublicController, disableCache: disableCacheController, abilityPredicates: controllerAbilityPredicates, }, { type: routeType, subPath, description, isPublic: isPublicRoute, disableCache: disableCacheRoute, abilityPredicate: routeAbilityPredicate, eventName, }, isGateway = false) {
|
|
@@ -27,7 +27,7 @@ function getMixinData(entity, { apiTag, isPublic: isPublicController, disableCac
|
|
|
27
27
|
disableCache = false;
|
|
28
28
|
}
|
|
29
29
|
const abilityPredicate = routeAbilityPredicate ?? (0, controller_ability_predicates_helper_1.getPredicateFromControllerAbilityPredicates)(controllerAbilityPredicates, routeType);
|
|
30
|
-
const event = eventName ?? (0,
|
|
30
|
+
const event = eventName ?? (0, lodash_helper_1.kebabCase)(`${routeType}/${displayedName}`);
|
|
31
31
|
return {
|
|
32
32
|
routeType,
|
|
33
33
|
displayedName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixin-data.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/mixin-data.helper.ts"],"names":[],"mappings":";;AA8ES,oCAAY;AA7ErB,
|
|
1
|
+
{"version":3,"file":"mixin-data.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/mixin-data.helper.ts"],"names":[],"mappings":";;AA8ES,oCAAY;AA7ErB,mDAA4C;AAQ5C,iGAAqG;AACrG,mDAAmD;AAGnD,SAAS,YAAY,CACnB,MAAoB,EACpB,EACE,MAAM,EACN,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EAAE,sBAAsB,EACpC,iBAAiB,EAAE,2BAA2B,GACV,EACtC,EACE,IAAI,EAAE,SAAS,EACf,OAAO,EACP,WAAW,EACX,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,iBAAiB,EAC/B,gBAAgB,EAAE,qBAAqB,EACvC,SAAS,GACqB,EAChC,SAAS,GAAG,KAAK;IAUjB,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,IAAI,YAAqB,CAAC;IAC1B,IAAI,OAAO,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC3C,YAAY,GAAG,iBAAiB,CAAC;IACnC,CAAC;SAAM,IAAI,OAAO,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACvD,YAAY,GAAG,sBAAsB,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,gBAAgB,GAAG,qBAAqB,IAAI,IAAA,kFAA2C,EAC3F,2BAA2B,EAC3B,SAAS,CACV,CAAC;IAEF,MAAM,KAAK,GAAG,SAAS,IAAI,IAAA,yBAAS,EAAC,GAAG,SAAS,IAAI,aAAa,EAAE,CAAC,CAAC;IAEtE,OAAO;QACL,SAAS;QACT,aAAa;QACb,WAAW;QACX,QAAQ;QACR,YAAY;QACZ,gBAAgB;QAChB,KAAK;KACN,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getDefaultRouteDescription = getDefaultRouteDescription;
|
|
4
|
-
const
|
|
4
|
+
const lodash_helper_1 = require("./lodash.helper");
|
|
5
5
|
function getDefaultRouteDescription(routeType, entityName) {
|
|
6
|
-
const contentName = (0,
|
|
6
|
+
const contentName = (0, lodash_helper_1.lowerCase)(entityName);
|
|
7
7
|
switch (routeType) {
|
|
8
8
|
case 'CreateMany':
|
|
9
9
|
return `Create many ${contentName}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-description.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/route-description.helper.ts"],"names":[],"mappings":";;AAqCS,gEAA0B;AArCnC,
|
|
1
|
+
{"version":3,"file":"route-description.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/route-description.helper.ts"],"names":[],"mappings":";;AAqCS,gEAA0B;AArCnC,mDAA4C;AAI5C,SAAS,0BAA0B,CAAC,SAAoB,EAAE,UAAkB;IAC1E,MAAM,WAAW,GAAG,IAAA,yBAAS,EAAC,UAAU,CAAC,CAAC;IAE1C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,eAAe,WAAW,EAAE,CAAC;QACtC,KAAK,WAAW;YACd,OAAO,cAAc,WAAW,EAAE,CAAC;QACrC,KAAK,YAAY;YACf,OAAO,eAAe,WAAW,EAAE,CAAC;QACtC,KAAK,WAAW;YACd,OAAO,cAAc,WAAW,EAAE,CAAC;QACrC,KAAK,eAAe;YAClB,OAAO,kBAAkB,WAAW,EAAE,CAAC;QACzC,KAAK,cAAc;YACjB,OAAO,iBAAiB,WAAW,EAAE,CAAC;QACxC,KAAK,SAAS;YACZ,OAAO,YAAY,WAAW,EAAE,CAAC;QACnC,KAAK,QAAQ;YACX,OAAO,WAAW,WAAW,QAAQ,CAAC;QACxC,KAAK,YAAY;YACf,OAAO,eAAe,WAAW,EAAE,CAAC;QACtC,KAAK,YAAY;YACf,OAAO,eAAe,WAAW,EAAE,CAAC;QACtC,KAAK,WAAW;YACd,OAAO,cAAc,WAAW,EAAE,CAAC;QACrC,KAAK,WAAW;YACd,OAAO,kBAAkB,WAAW,EAAE,CAAC;QACzC;YACE,MAAM,IAAI,KAAK,CAAC,eAAe,SAAS,oBAAoB,CAAC,CAAC;IAClE,CAAC;AACH,CAAC"}
|
|
@@ -4,8 +4,8 @@ import { AbilityPredicate } from './dynamic-api-ability.interface';
|
|
|
4
4
|
import { DynamicApiBroadcastConfig } from './dynamic-api-broadcast-config.interface';
|
|
5
5
|
import { DTOsBundle } from './dynamic-api-route-dtos-bundle.type';
|
|
6
6
|
import { RouteType } from './dynamic-api-route-type.type';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { AnyBeforeSaveCallback } from './dynamic-api-service-before-save-callback.interface';
|
|
8
|
+
import { AfterSaveCallback } from './dynamic-api-service-callback.interface';
|
|
9
9
|
import { DynamicApiWebSocketOptions } from './dynamic-api-web-socket.interface';
|
|
10
10
|
interface DynamicApiRouteConfig<Entity extends BaseEntity> {
|
|
11
11
|
type: RouteType;
|
|
@@ -17,8 +17,8 @@ interface DynamicApiRouteConfig<Entity extends BaseEntity> {
|
|
|
17
17
|
dTOs?: DTOsBundle;
|
|
18
18
|
validationPipeOptions?: ValidationPipeOptions;
|
|
19
19
|
abilityPredicate?: AbilityPredicate<Entity>;
|
|
20
|
-
beforeSaveCallback?:
|
|
21
|
-
callback?:
|
|
20
|
+
beforeSaveCallback?: AnyBeforeSaveCallback<Entity>;
|
|
21
|
+
callback?: AfterSaveCallback<Entity>;
|
|
22
22
|
webSocket?: DynamicApiWebSocketOptions;
|
|
23
23
|
eventName?: string;
|
|
24
24
|
broadcast?: DynamicApiBroadcastConfig<Entity>;
|
|
@@ -1,11 +1,53 @@
|
|
|
1
1
|
import { BaseEntity } from '../models';
|
|
2
|
-
import {
|
|
3
|
-
type
|
|
2
|
+
import { CallbackMethods } from './dynamic-api-service-callback.interface';
|
|
3
|
+
type BeforeSaveCreateContext<Entity extends BaseEntity> = {
|
|
4
4
|
toCreate: Partial<Entity>;
|
|
5
5
|
};
|
|
6
|
-
type
|
|
6
|
+
type BeforeSaveCreateManyContext<Entity extends BaseEntity> = {
|
|
7
|
+
toCreate: Partial<Entity>[];
|
|
8
|
+
};
|
|
9
|
+
type BeforeSaveUpdateContext<Entity extends BaseEntity> = {
|
|
7
10
|
id: string;
|
|
8
11
|
update: Partial<Entity>;
|
|
9
12
|
};
|
|
10
|
-
type
|
|
11
|
-
|
|
13
|
+
type BeforeSaveUpdateManyContext<Entity extends BaseEntity> = {
|
|
14
|
+
ids: string[];
|
|
15
|
+
update: Partial<Entity>;
|
|
16
|
+
};
|
|
17
|
+
type BeforeSaveReplaceContext<Entity extends BaseEntity> = {
|
|
18
|
+
id: string;
|
|
19
|
+
replacement: Partial<Entity>;
|
|
20
|
+
};
|
|
21
|
+
type BeforeSaveDeleteContext = {
|
|
22
|
+
id: string;
|
|
23
|
+
};
|
|
24
|
+
type BeforeSaveDeleteManyContext = {
|
|
25
|
+
ids: string[];
|
|
26
|
+
};
|
|
27
|
+
type BeforeSaveDuplicateContext<Entity extends BaseEntity> = {
|
|
28
|
+
id: string;
|
|
29
|
+
override?: Partial<Entity>;
|
|
30
|
+
};
|
|
31
|
+
type BeforeSaveDuplicateManyContext<Entity extends BaseEntity> = {
|
|
32
|
+
ids: string[];
|
|
33
|
+
override?: Partial<Entity>;
|
|
34
|
+
};
|
|
35
|
+
type BeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = (entity: Entity | undefined, context: Context, methods: CallbackMethods) => Promise<Partial<Entity>>;
|
|
36
|
+
type BeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = (entities: Entity[] | undefined, context: Context, methods: CallbackMethods) => Promise<Partial<Entity>[]>;
|
|
37
|
+
type BeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = (entity: Entity | undefined, context: Context, methods: CallbackMethods) => Promise<void>;
|
|
38
|
+
type BeforeSaveDeleteManyCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = (entities: Entity[], context: Context, methods: CallbackMethods) => Promise<void>;
|
|
39
|
+
type AnyBeforeSaveCallback<Entity extends BaseEntity> = BeforeSaveCallback<Entity> | BeforeSaveListCallback<Entity> | BeforeSaveDeleteCallback<Entity> | BeforeSaveDeleteManyCallback<Entity>;
|
|
40
|
+
type DynamicApiServiceBeforeSaveCreateContext<Entity extends BaseEntity> = BeforeSaveCreateContext<Entity>;
|
|
41
|
+
type DynamicApiServiceBeforeSaveCreateManyContext<Entity extends BaseEntity> = BeforeSaveCreateManyContext<Entity>;
|
|
42
|
+
type DynamicApiServiceBeforeSaveUpdateContext<Entity extends BaseEntity> = BeforeSaveUpdateContext<Entity>;
|
|
43
|
+
type DynamicApiServiceBeforeSaveUpdateManyContext<Entity extends BaseEntity> = BeforeSaveUpdateManyContext<Entity>;
|
|
44
|
+
type DynamicApiServiceBeforeSaveReplaceContext<Entity extends BaseEntity> = BeforeSaveReplaceContext<Entity>;
|
|
45
|
+
type DynamicApiServiceBeforeSaveDeleteContext = BeforeSaveDeleteContext;
|
|
46
|
+
type DynamicApiServiceBeforeSaveDeleteManyContext = BeforeSaveDeleteManyContext;
|
|
47
|
+
type DynamicApiServiceBeforeSaveDuplicateContext<Entity extends BaseEntity> = BeforeSaveDuplicateContext<Entity>;
|
|
48
|
+
type DynamicApiServiceBeforeSaveDuplicateManyContext<Entity extends BaseEntity> = BeforeSaveDuplicateManyContext<Entity>;
|
|
49
|
+
type DynamicApiServiceBeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = BeforeSaveCallback<Entity, Context>;
|
|
50
|
+
type DynamicApiServiceBeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = BeforeSaveListCallback<Entity, Context>;
|
|
51
|
+
type DynamicApiServiceBeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = BeforeSaveDeleteCallback<Entity, Context>;
|
|
52
|
+
type DynamicApiServiceBeforeSaveDeleteManyCallback<Entity extends BaseEntity, Context = Record<string, unknown>> = BeforeSaveDeleteManyCallback<Entity, Context>;
|
|
53
|
+
export type { AnyBeforeSaveCallback, BeforeSaveCallback, BeforeSaveListCallback, BeforeSaveDeleteCallback, BeforeSaveDeleteManyCallback, BeforeSaveCreateContext, BeforeSaveCreateManyContext, BeforeSaveUpdateContext, BeforeSaveUpdateManyContext, BeforeSaveReplaceContext, BeforeSaveDeleteContext, BeforeSaveDeleteManyContext, BeforeSaveDuplicateContext, BeforeSaveDuplicateManyContext, DynamicApiServiceBeforeSaveCallback, DynamicApiServiceBeforeSaveListCallback, DynamicApiServiceBeforeSaveDeleteCallback, DynamicApiServiceBeforeSaveDeleteManyCallback, DynamicApiServiceBeforeSaveCreateContext, DynamicApiServiceBeforeSaveCreateManyContext, DynamicApiServiceBeforeSaveUpdateContext, DynamicApiServiceBeforeSaveUpdateManyContext, DynamicApiServiceBeforeSaveReplaceContext, DynamicApiServiceBeforeSaveDeleteContext, DynamicApiServiceBeforeSaveDeleteManyContext, DynamicApiServiceBeforeSaveDuplicateContext, DynamicApiServiceBeforeSaveDuplicateManyContext, };
|
|
@@ -3,7 +3,7 @@ import { PipelineStage } from 'mongodb-pipeline-builder';
|
|
|
3
3
|
import { FilterQuery, UpdateQuery, UpdateWithAggregationPipeline } from 'mongoose';
|
|
4
4
|
import { BaseEntity } from '../models';
|
|
5
5
|
import { DeleteResult, UpdateResult } from './dynamic-api-route-response.type';
|
|
6
|
-
type
|
|
6
|
+
type CallbackMethods = {
|
|
7
7
|
findManyDocuments<T>(entity: Type<T>, query: FilterQuery<T>): Promise<T[]>;
|
|
8
8
|
findOneDocument<T>(entity: Type<T>, query: FilterQuery<T>): Promise<T | undefined>;
|
|
9
9
|
createManyDocuments<T>(entity: Type<T>, data: Partial<T>[]): Promise<T[]>;
|
|
@@ -14,7 +14,9 @@ type DynamicApiCallbackMethods = {
|
|
|
14
14
|
deleteOneDocument<T>(entity: Type<T>, id: string): Promise<DeleteResult>;
|
|
15
15
|
aggregateDocuments<T>(entity: Type<T>, pipeline: PipelineStage[]): Promise<T[]>;
|
|
16
16
|
};
|
|
17
|
-
type
|
|
17
|
+
type DynamicApiCallbackMethods = CallbackMethods;
|
|
18
|
+
type AfterSaveCallback<Entity extends BaseEntity> = (entity: Entity, methods: CallbackMethods) => Promise<void>;
|
|
19
|
+
type DynamicApiServiceCallback<Entity extends BaseEntity> = AfterSaveCallback<Entity>;
|
|
18
20
|
type DynamicApiResetPasswordCallbackMethods<Entity extends BaseEntity, UpdateBy = 'userId'> = {
|
|
19
21
|
findUserByEmail: () => Promise<Entity>;
|
|
20
22
|
updateUserByEmail: (update: UpdateQuery<Entity> | UpdateWithAggregationPipeline) => Promise<Entity>;
|
|
@@ -23,4 +25,4 @@ type DynamicApiResetPasswordCallback<Entity extends BaseEntity> = (_: {
|
|
|
23
25
|
resetPasswordToken: string;
|
|
24
26
|
email: string;
|
|
25
27
|
}, methods: DynamicApiResetPasswordCallbackMethods<Entity>) => Promise<void>;
|
|
26
|
-
export type { DynamicApiServiceCallback, DynamicApiResetPasswordCallback, DynamicApiCallbackMethods, DynamicApiResetPasswordCallbackMethods, };
|
|
28
|
+
export type { AfterSaveCallback, DynamicApiServiceCallback, DynamicApiResetPasswordCallback, DynamicApiCallbackMethods, DynamicApiResetPasswordCallbackMethods, CallbackMethods, };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildAuthBroadcastData = buildAuthBroadcastData;
|
|
4
|
-
const
|
|
4
|
+
const helpers_1 = require("../../helpers");
|
|
5
5
|
function buildAuthBroadcastData(user, fields) {
|
|
6
6
|
if (!fields?.length) {
|
|
7
7
|
return { ...user };
|
|
8
8
|
}
|
|
9
|
-
return (0,
|
|
9
|
+
return (0, helpers_1.pick)(user, fields);
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=auth-broadcast.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-broadcast.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth-broadcast.helper.ts"],"names":[],"mappings":";;AAcS,wDAAsB;AAd/B,
|
|
1
|
+
{"version":3,"file":"auth-broadcast.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth-broadcast.helper.ts"],"names":[],"mappings":";;AAcS,wDAAsB;AAd/B,2CAAqC;AAGrC,SAAS,sBAAsB,CAC7B,IAAqB,EACrB,MAAyB;IAEzB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,IAAA,cAAI,EAAC,IAAI,EAAE,MAAkB,CAAoB,CAAC;AAC3D,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
|
-
import { AuthAbilityPredicate,
|
|
2
|
+
import { AuthAbilityPredicate, AfterSaveCallback, DynamicAPIServiceProvider, GatewayOptions } from '../../interfaces';
|
|
3
3
|
import { BaseEntity } from '../../models';
|
|
4
4
|
import { AuthControllerConstructor, AuthGatewayConstructor, DynamicApiGetAccountOptions, DynamicApiLoginOptions, DynamicApiRefreshTokenOptions, DynamicApiRegisterOptions, DynamicApiResetPasswordOptions, DynamicApiUpdateAccountOptions } from './interfaces';
|
|
5
5
|
declare const authServiceProviderName = "DynamicApiAuthService";
|
|
6
6
|
declare const authGatewayProviderName = "DynamicApiAuthGateway";
|
|
7
7
|
declare const localStrategyProviderName = "DynamicApiLocalStrategy";
|
|
8
8
|
declare function createLocalStrategyProvider<Entity extends BaseEntity>(loginField: keyof Entity, passwordField: keyof Entity, abilityPredicate: AuthAbilityPredicate | undefined, customValidate?: (req: any) => Promise<Entity | null>, useStrategy?: Type<any>): DynamicAPIServiceProvider;
|
|
9
|
-
declare function createAuthServiceProvider<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginField, passwordField, additionalFields, callback: loginCallback }: DynamicApiLoginOptions<Entity>, getAccountCallback:
|
|
9
|
+
declare function createAuthServiceProvider<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginField, passwordField, additionalFields, callback: loginCallback }: DynamicApiLoginOptions<Entity>, getAccountCallback: AfterSaveCallback<Entity> | undefined, register: DynamicApiRegisterOptions<Entity> | undefined, resetPasswordOptions: DynamicApiResetPasswordOptions<Entity> | undefined, updateAccount: DynamicApiUpdateAccountOptions<Entity> | undefined, refreshToken?: DynamicApiRefreshTokenOptions<Entity>): DynamicAPIServiceProvider;
|
|
10
10
|
type CreateAuthControllerOptions<Entity extends BaseEntity> = {
|
|
11
11
|
getAccountOptions?: DynamicApiGetAccountOptions<Entity>;
|
|
12
12
|
registerOptions?: DynamicApiRegisterOptions<Entity>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.helper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ exports.JwtSocketAuthGuard = void 0;
|
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const jwt_1 = require("@nestjs/jwt");
|
|
13
13
|
const websockets_1 = require("@nestjs/websockets");
|
|
14
|
-
const
|
|
14
|
+
const helpers_1 = require("../../../../helpers");
|
|
15
15
|
const dynamic_api_module_1 = require("../../../../dynamic-api.module");
|
|
16
16
|
const logger_1 = require("../../../../logger");
|
|
17
17
|
let JwtSocketAuthGuard = JwtSocketAuthGuard_1 = class JwtSocketAuthGuard {
|
|
@@ -22,7 +22,7 @@ let JwtSocketAuthGuard = JwtSocketAuthGuard_1 = class JwtSocketAuthGuard {
|
|
|
22
22
|
const [socket] = context.getArgs();
|
|
23
23
|
const accessToken = this.getAccessTokenFromSocketQuery(socket);
|
|
24
24
|
const user = await this.extractUserFromToken(accessToken);
|
|
25
|
-
if ((0,
|
|
25
|
+
if ((0, helpers_1.isEmpty)(user)) {
|
|
26
26
|
this.logger.warn('No user data');
|
|
27
27
|
throw new websockets_1.WsException('Unauthorized');
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-socket-auth.guard.js","sourceRoot":"","sources":["../../../../../../libs/dynamic-api/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA2E;AAC3E,qCAAyC;AACzC,mDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"jwt-socket-auth.guard.js","sourceRoot":"","sources":["../../../../../../libs/dynamic-api/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA2E;AAC3E,qCAAyC;AACzC,mDAAiD;AACjD,iDAA8C;AAC9C,uEAAkE;AAElE,+CAA6D;AAGtD,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAAxB;QACY,WAAM,GAAG,IAAI,gCAAuB,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAmDjF,CAAC;IAjDQ,KAAK,CAAC,WAAW,CAAC,OAAyB;QAChD,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAE1D,IAAI,IAAA,iBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACjC,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAES,6BAA6B,CAAC,MAAsB;QAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK;eAC3C,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,WAAqB,CAAC;QAEnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QACtD,MAAM,UAAU,GAAG,IAAI,gBAAU,CAAC;YAChC,MAAM,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;YAC/C,WAAW,EAAE;gBACX,SAAS,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC;aAC3D;SACF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE;gBACtE,MAAM,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;gBAC/C,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAErE,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;CACF,CAAA;AApDY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAoD9B"}
|
|
@@ -11,7 +11,7 @@ exports.JwtSocketRefreshGuard = void 0;
|
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const jwt_1 = require("@nestjs/jwt");
|
|
13
13
|
const websockets_1 = require("@nestjs/websockets");
|
|
14
|
-
const
|
|
14
|
+
const helpers_1 = require("../../../../helpers");
|
|
15
15
|
const dynamic_api_module_1 = require("../../../../dynamic-api.module");
|
|
16
16
|
const logger_1 = require("../../../../logger");
|
|
17
17
|
let JwtSocketRefreshGuard = JwtSocketRefreshGuard_1 = class JwtSocketRefreshGuard {
|
|
@@ -22,7 +22,7 @@ let JwtSocketRefreshGuard = JwtSocketRefreshGuard_1 = class JwtSocketRefreshGuar
|
|
|
22
22
|
const [socket] = context.getArgs();
|
|
23
23
|
const refreshToken = this.getRefreshTokenFromSocket(socket);
|
|
24
24
|
const user = await this.extractUserFromToken(refreshToken);
|
|
25
|
-
if ((0,
|
|
25
|
+
if ((0, helpers_1.isEmpty)(user)) {
|
|
26
26
|
this.logger.warn('No user data from refresh token');
|
|
27
27
|
throw new websockets_1.WsException('Unauthorized');
|
|
28
28
|
}
|