mongodb-dynamic-api 4.4.0 → 4.6.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 +19 -0
- package/README.md +2 -1
- 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-service-before-save-callback.interface.d.ts +9 -9
- package/src/interfaces/dynamic-api-service-callback.interface.d.ts +2 -2
- 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/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/mixins/auth-gateway.mixin.js +2 -3
- package/src/modules/auth/mixins/auth-gateway.mixin.js.map +1 -1
- package/src/routes/aggregate/aggregate-controller.interface.d.ts +1 -1
- package/src/routes/aggregate/aggregate-controller.mixin.js +4 -3
- package/src/routes/aggregate/aggregate-controller.mixin.js.map +1 -1
- package/src/routes/aggregate/aggregate-gateway.mixin.js +1 -1
- package/src/routes/aggregate/aggregate-gateway.mixin.js.map +1 -1
- package/src/routes/aggregate/aggregate-service.interface.d.ts +1 -1
- package/src/routes/aggregate/base-aggregate.service.d.ts +1 -1
- package/src/routes/aggregate/base-aggregate.service.js +2 -2
- package/src/routes/aggregate/base-aggregate.service.js.map +1 -1
- package/src/routes/create-many/base-create-many.service.d.ts +1 -1
- package/src/routes/create-many/base-create-many.service.js +5 -5
- package/src/routes/create-many/base-create-many.service.js.map +1 -1
- package/src/routes/create-many/create-many-controller.interface.d.ts +1 -1
- package/src/routes/create-many/create-many-controller.mixin.js +5 -5
- package/src/routes/create-many/create-many-controller.mixin.js.map +1 -1
- package/src/routes/create-many/create-many-gateway.mixin.js +2 -3
- package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
- package/src/routes/create-many/create-many-service.interface.d.ts +1 -1
- package/src/routes/create-one/base-create-one.service.d.ts +1 -1
- package/src/routes/create-one/base-create-one.service.js +5 -5
- package/src/routes/create-one/base-create-one.service.js.map +1 -1
- package/src/routes/create-one/create-one-controller.interface.d.ts +1 -1
- package/src/routes/create-one/create-one-controller.mixin.js +4 -3
- package/src/routes/create-one/create-one-controller.mixin.js.map +1 -1
- package/src/routes/create-one/create-one-gateway.mixin.js +2 -3
- package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
- package/src/routes/create-one/create-one-service.interface.d.ts +1 -1
- package/src/routes/delete-many/base-delete-many.service.d.ts +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 +1 -1
- package/src/routes/delete-many/delete-many-controller.mixin.js +4 -3
- package/src/routes/delete-many/delete-many-controller.mixin.js.map +1 -1
- package/src/routes/delete-many/delete-many-gateway.mixin.js +1 -1
- package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -1
- package/src/routes/delete-many/delete-many-service.interface.d.ts +1 -1
- package/src/routes/delete-one/base-delete-one.service.d.ts +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 +1 -1
- package/src/routes/delete-one/delete-one-controller.mixin.js +4 -3
- package/src/routes/delete-one/delete-one-controller.mixin.js.map +1 -1
- package/src/routes/delete-one/delete-one-gateway.mixin.js +1 -1
- package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -1
- package/src/routes/delete-one/delete-one-service.interface.d.ts +1 -1
- package/src/routes/duplicate-many/base-duplicate-many.service.d.ts +1 -1
- package/src/routes/duplicate-many/base-duplicate-many.service.js +4 -4
- package/src/routes/duplicate-many/base-duplicate-many.service.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-controller.interface.d.ts +1 -1
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +4 -4
- 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-service.interface.d.ts +1 -1
- package/src/routes/duplicate-one/base-duplicate-one.service.d.ts +1 -1
- package/src/routes/duplicate-one/base-duplicate-one.service.js +4 -4
- package/src/routes/duplicate-one/base-duplicate-one.service.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one-controller.interface.d.ts +1 -1
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +4 -4
- 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-service.interface.d.ts +1 -1
- package/src/routes/get-many/base-get-many.service.d.ts +1 -1
- package/src/routes/get-many/base-get-many.service.js +2 -2
- package/src/routes/get-many/base-get-many.service.js.map +1 -1
- package/src/routes/get-many/get-many-controller.interface.d.ts +1 -1
- package/src/routes/get-many/get-many-controller.mixin.js +4 -3
- package/src/routes/get-many/get-many-controller.mixin.js.map +1 -1
- package/src/routes/get-many/get-many-gateway.mixin.js +1 -1
- package/src/routes/get-many/get-many-gateway.mixin.js.map +1 -1
- package/src/routes/get-many/get-many-service.interface.d.ts +1 -1
- package/src/routes/get-one/base-get-one.service.d.ts +1 -1
- package/src/routes/get-one/base-get-one.service.js +2 -2
- package/src/routes/get-one/base-get-one.service.js.map +1 -1
- package/src/routes/get-one/get-one-controller.interface.d.ts +1 -1
- package/src/routes/get-one/get-one-controller.mixin.js +4 -3
- package/src/routes/get-one/get-one-controller.mixin.js.map +1 -1
- package/src/routes/get-one/get-one-gateway.mixin.js +1 -1
- package/src/routes/get-one/get-one-gateway.mixin.js.map +1 -1
- package/src/routes/get-one/get-one-service.interface.d.ts +1 -1
- package/src/routes/replace-one/base-replace-one.service.d.ts +1 -1
- package/src/routes/replace-one/base-replace-one.service.js +5 -5
- package/src/routes/replace-one/base-replace-one.service.js.map +1 -1
- package/src/routes/replace-one/replace-one-controller.interface.d.ts +1 -1
- package/src/routes/replace-one/replace-one-controller.mixin.js +4 -3
- package/src/routes/replace-one/replace-one-controller.mixin.js.map +1 -1
- package/src/routes/replace-one/replace-one-gateway.mixin.js +1 -1
- package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -1
- package/src/routes/replace-one/replace-one-service.interface.d.ts +1 -1
- package/src/routes/update-many/base-update-many.service.d.ts +1 -1
- package/src/routes/update-many/base-update-many.service.js +4 -4
- package/src/routes/update-many/base-update-many.service.js.map +1 -1
- package/src/routes/update-many/update-many-controller.interface.d.ts +1 -1
- package/src/routes/update-many/update-many-controller.mixin.js +5 -5
- package/src/routes/update-many/update-many-controller.mixin.js.map +1 -1
- package/src/routes/update-many/update-many-gateway.mixin.js +2 -3
- package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
- package/src/routes/update-many/update-many-service.interface.d.ts +1 -1
- package/src/routes/update-one/base-update-one.service.d.ts +1 -1
- package/src/routes/update-one/base-update-one.service.js +5 -5
- package/src/routes/update-one/base-update-one.service.js.map +1 -1
- package/src/routes/update-one/update-one-controller.interface.d.ts +1 -1
- package/src/routes/update-one/update-one-controller.mixin.js +5 -5
- package/src/routes/update-one/update-one-controller.mixin.js.map +1 -1
- package/src/routes/update-one/update-one-gateway.mixin.js +1 -1
- package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -1
- package/src/routes/update-one/update-one-service.interface.d.ts +1 -1
- package/src/version.json +1 -1
- package/test/for-feature/callbacks-user.e2e-spec.d.ts +1 -0
- package/test/for-feature/callbacks-user.e2e-spec.js +772 -0
- package/test/for-feature/callbacks-user.e2e-spec.js.map +1 -0
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
|
|
3
|
+
## [4.6.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.5.0...v4.6.0) (2026-03-26)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### interfaces
|
|
7
|
+
|
|
8
|
+
* **interfaces:** add User generic type parameter to callback interfaces ([532302d](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/532302d88ddbe9fe19f7237b5298be3098b54af6))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### routes
|
|
12
|
+
|
|
13
|
+
* **routes:** propagate authenticated user to service callbacks ([b7454e5](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/b7454e58f3adc8467e6727eef59e90b89a0e1fe9))
|
|
14
|
+
|
|
15
|
+
## [4.5.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.4.0...v4.5.0) (2026-03-18)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### helpers
|
|
19
|
+
|
|
20
|
+
* **helpers:** add native lodash replacement helper with tests ([2964ad2](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/2964ad2b88ae990fcbf48851168c28ac69ddf9b7))
|
|
21
|
+
|
|
3
22
|
## [4.4.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.3.0...v4.4.0) (2026-03-18)
|
|
4
23
|
|
|
5
24
|
|
package/README.md
CHANGED
|
@@ -895,7 +895,8 @@ Explore advanced features and configurations:
|
|
|
895
895
|
| 🔐 **Authentication** | JWT dual-token auth (8 endpoints) — access + refresh tokens, cookie mode, server-side revocation | [View Guide](https://github.com/MikeDev75015/mongodb-dynamic-api/blob/main/README/authentication.md) |
|
|
896
896
|
| 🛡️ **Authorization** | Role-based access control | [View Guide](https://github.com/MikeDev75015/mongodb-dynamic-api/blob/main/README/authorization.md) |
|
|
897
897
|
| 📡 **WebSockets** | Socket.IO integration for routes | [View Guide](https://github.com/MikeDev75015/mongodb-dynamic-api/blob/main/README/websockets.md) |
|
|
898
|
-
| 🗂️ **Route Configuration** | All route options: DTOs,
|
|
898
|
+
| 🗂️ **Route Configuration** | All route options: DTOs, interceptors, etc. | [View Guide](https://github.com/MikeDev75015/mongodb-dynamic-api/blob/main/README/route-config.md) |
|
|
899
|
+
| 🔁 **Callbacks** | beforeSave / afterSave hooks, typed contexts, user access, audit trails | [View Guide](https://github.com/MikeDev75015/mongodb-dynamic-api/blob/main/README/callbacks.md) |
|
|
899
900
|
| 🎛️ **Controller Configuration** | All `controllerOptions` and `forFeature` options | [View Guide](https://github.com/MikeDev75015/mongodb-dynamic-api/blob/main/README/controller-config.md) |
|
|
900
901
|
|
|
901
902
|
### Important Notes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mongodb-dynamic-api",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.6.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":"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"}
|
|
@@ -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"}
|
|
@@ -32,11 +32,11 @@ type BeforeSaveDuplicateManyContext<Entity extends BaseEntity> = {
|
|
|
32
32
|
ids: string[];
|
|
33
33
|
override?: Partial<Entity>;
|
|
34
34
|
};
|
|
35
|
-
type BeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown
|
|
36
|
-
type BeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown
|
|
37
|
-
type BeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown
|
|
38
|
-
type BeforeSaveDeleteManyCallback<Entity extends BaseEntity, Context = Record<string, unknown
|
|
39
|
-
type AnyBeforeSaveCallback<Entity extends BaseEntity> = BeforeSaveCallback<Entity> | BeforeSaveListCallback<Entity> | BeforeSaveDeleteCallback<Entity> | BeforeSaveDeleteManyCallback<Entity>;
|
|
35
|
+
type BeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entity: Entity | undefined, context: Context, methods: CallbackMethods, user?: User) => Promise<Partial<Entity>>;
|
|
36
|
+
type BeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entities: Entity[] | undefined, context: Context, methods: CallbackMethods, user?: User) => Promise<Partial<Entity>[]>;
|
|
37
|
+
type BeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entity: Entity | undefined, context: Context, methods: CallbackMethods, user?: User) => Promise<void>;
|
|
38
|
+
type BeforeSaveDeleteManyCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entities: Entity[], context: Context, methods: CallbackMethods, user?: User) => Promise<void>;
|
|
39
|
+
type AnyBeforeSaveCallback<Entity extends BaseEntity, User = unknown> = BeforeSaveCallback<Entity, any, User> | BeforeSaveListCallback<Entity, any, User> | BeforeSaveDeleteCallback<Entity, any, User> | BeforeSaveDeleteManyCallback<Entity, any, User>;
|
|
40
40
|
type DynamicApiServiceBeforeSaveCreateContext<Entity extends BaseEntity> = BeforeSaveCreateContext<Entity>;
|
|
41
41
|
type DynamicApiServiceBeforeSaveCreateManyContext<Entity extends BaseEntity> = BeforeSaveCreateManyContext<Entity>;
|
|
42
42
|
type DynamicApiServiceBeforeSaveUpdateContext<Entity extends BaseEntity> = BeforeSaveUpdateContext<Entity>;
|
|
@@ -46,8 +46,8 @@ type DynamicApiServiceBeforeSaveDeleteContext = BeforeSaveDeleteContext;
|
|
|
46
46
|
type DynamicApiServiceBeforeSaveDeleteManyContext = BeforeSaveDeleteManyContext;
|
|
47
47
|
type DynamicApiServiceBeforeSaveDuplicateContext<Entity extends BaseEntity> = BeforeSaveDuplicateContext<Entity>;
|
|
48
48
|
type DynamicApiServiceBeforeSaveDuplicateManyContext<Entity extends BaseEntity> = BeforeSaveDuplicateManyContext<Entity>;
|
|
49
|
-
type DynamicApiServiceBeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown
|
|
50
|
-
type DynamicApiServiceBeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown
|
|
51
|
-
type DynamicApiServiceBeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown
|
|
52
|
-
type DynamicApiServiceBeforeSaveDeleteManyCallback<Entity extends BaseEntity, Context = Record<string, unknown
|
|
49
|
+
type DynamicApiServiceBeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveCallback<Entity, Context, User>;
|
|
50
|
+
type DynamicApiServiceBeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveListCallback<Entity, Context, User>;
|
|
51
|
+
type DynamicApiServiceBeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveDeleteCallback<Entity, Context, User>;
|
|
52
|
+
type DynamicApiServiceBeforeSaveDeleteManyCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveDeleteManyCallback<Entity, Context, User>;
|
|
53
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, };
|
|
@@ -15,8 +15,8 @@ type CallbackMethods = {
|
|
|
15
15
|
aggregateDocuments<T>(entity: Type<T>, pipeline: PipelineStage[]): Promise<T[]>;
|
|
16
16
|
};
|
|
17
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
|
+
type AfterSaveCallback<Entity extends BaseEntity, User = unknown> = (entity: Entity, methods: CallbackMethods, user?: User) => Promise<void>;
|
|
19
|
+
type DynamicApiServiceCallback<Entity extends BaseEntity, User = unknown> = AfterSaveCallback<Entity, User>;
|
|
20
20
|
type DynamicApiResetPasswordCallbackMethods<Entity extends BaseEntity, UpdateBy = 'userId'> = {
|
|
21
21
|
findUserByEmail: () => Promise<Entity>;
|
|
22
22
|
updateUserByEmail: (update: UpdateQuery<Entity> | UpdateWithAggregationPipeline) => Promise<Entity>;
|
|
@@ -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"}
|
|
@@ -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
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-socket-refresh.guard.js","sourceRoot":"","sources":["../../../../../../libs/dynamic-api/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA2E;AAC3E,qCAAyC;AACzC,mDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"jwt-socket-refresh.guard.js","sourceRoot":"","sources":["../../../../../../libs/dynamic-api/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA2E;AAC3E,qCAAyC;AACzC,mDAAiD;AACjD,iDAA8C;AAC9C,uEAAkE;AAElE,+CAA6D;AAGtD,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAA3B;QACY,WAAM,GAAG,IAAI,gCAAuB,CAAC,uBAAqB,CAAC,IAAI,CAAC,CAAC;IA+CpF,CAAC;IA7CQ,KAAK,CAAC,WAAW,CAAC,OAAyB;QAChD,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAE3D,IAAI,IAAA,iBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACpD,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAES,yBAAyB,CAAC,MAAsB;QACxD,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAsB,CAAC;QAEnE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,YAAoB;QACvD,MAAM,aAAa,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAqB,kBAAkB,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAS,WAAW,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,aAAa,IAAI,SAAS,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,gBAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,YAAY,EAAE;gBAC5E,MAAM;gBACN,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YAC3E,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;AAhDY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;GACA,qBAAqB,CAgDjC"}
|
|
@@ -16,7 +16,6 @@ exports.AuthGatewayMixin = AuthGatewayMixin;
|
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const swagger_1 = require("@nestjs/swagger");
|
|
18
18
|
const websockets_1 = require("@nestjs/websockets");
|
|
19
|
-
const lodash_1 = require("lodash");
|
|
20
19
|
const gateways_1 = require("../../../gateways");
|
|
21
20
|
const helpers_1 = require("../../../helpers");
|
|
22
21
|
const mixins_1 = require("../../../mixins");
|
|
@@ -120,7 +119,7 @@ function AuthGatewayMixin(userEntity, { loginField, passwordField, abilityPredic
|
|
|
120
119
|
return { event: auth_events_constants_1.AUTH_REGISTER_EVENT, data: result };
|
|
121
120
|
}
|
|
122
121
|
async resetPassword({ email }) {
|
|
123
|
-
if ((0,
|
|
122
|
+
if ((0, helpers_1.isEmpty)(resetPasswordOptions)) {
|
|
124
123
|
throw new websockets_1.WsException('This feature is not enabled');
|
|
125
124
|
}
|
|
126
125
|
return {
|
|
@@ -129,7 +128,7 @@ function AuthGatewayMixin(userEntity, { loginField, passwordField, abilityPredic
|
|
|
129
128
|
};
|
|
130
129
|
}
|
|
131
130
|
async changePassword({ resetPasswordToken, newPassword }) {
|
|
132
|
-
if ((0,
|
|
131
|
+
if ((0, helpers_1.isEmpty)(resetPasswordOptions)) {
|
|
133
132
|
throw new websockets_1.WsException('This feature is not enabled');
|
|
134
133
|
}
|
|
135
134
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-gateway.mixin.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/mixins/auth-gateway.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"auth-gateway.mixin.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/mixins/auth-gateway.mixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseEntity } from '../../models';
|
|
2
2
|
import { AggregateService } from './aggregate-service.interface';
|
|
3
3
|
interface AggregateController<Entity extends BaseEntity, Query = any, Response = any> {
|
|
4
|
-
aggregate(query: Query): Promise<Entity[] | Response[] | Response>;
|
|
4
|
+
aggregate(query: Query, req?: any): Promise<Entity[] | Response[] | Response>;
|
|
5
5
|
}
|
|
6
6
|
type AggregateControllerConstructor<Entity extends BaseEntity> = new (service: AggregateService<Entity>) => AggregateController<Entity>;
|
|
7
7
|
export type { AggregateController, AggregateControllerConstructor };
|