mongodb-dynamic-api 5.4.2 → 6.0.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 +37 -0
- package/README.md +42 -0
- package/package.json +1 -1
- package/src/adapters/socket-adapter.d.ts +3 -1
- package/src/adapters/socket-adapter.js +17 -1
- package/src/adapters/socket-adapter.js.map +1 -1
- package/src/decorators/validator-pipe.decorator.d.ts +1 -1
- package/src/decorators/validator-pipe.decorator.js +8 -1
- package/src/decorators/validator-pipe.decorator.js.map +1 -1
- package/src/dynamic-api.module.js +7 -2
- package/src/dynamic-api.module.js.map +1 -1
- package/src/gateways/base.gateway.js +5 -1
- package/src/gateways/base.gateway.js.map +1 -1
- package/src/guards/base-policies.guard.js +4 -2
- package/src/guards/base-policies.guard.js.map +1 -1
- package/src/helpers/auth-token.helper.js +1 -7
- package/src/helpers/auth-token.helper.js.map +1 -1
- package/src/helpers/authenticated-room.constant.d.ts +1 -0
- package/src/helpers/authenticated-room.constant.js +5 -0
- package/src/helpers/authenticated-room.constant.js.map +1 -0
- 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/request-filter.helper.d.ts +2 -1
- package/src/helpers/request-filter.helper.js +10 -0
- package/src/helpers/request-filter.helper.js.map +1 -1
- package/src/helpers/resolve-broadcast.helper.d.ts +1 -0
- package/src/helpers/resolve-broadcast.helper.js +6 -1
- package/src/helpers/resolve-broadcast.helper.js.map +1 -1
- package/src/helpers/socket-config.helper.js +1 -1
- package/src/helpers/socket-config.helper.js.map +1 -1
- package/src/helpers/validation-config.helper.d.ts +1 -1
- package/src/helpers/validation-config.helper.js +2 -2
- package/src/helpers/validation-config.helper.js.map +1 -1
- package/src/helpers/ws-config.store.js +2 -2
- package/src/helpers/ws-config.store.js.map +1 -1
- package/src/interfaces/dynamic-api-broadcast-config.interface.d.ts +1 -0
- package/src/modules/auth/auth.module.d.ts +0 -1
- package/src/modules/auth/auth.module.js +1 -14
- package/src/modules/auth/auth.module.js.map +1 -1
- package/src/modules/auth/interfaces/auth-options.interface.d.ts +1 -0
- package/src/modules/auth/jwt-secrets.helper.d.ts +3 -0
- package/src/modules/auth/jwt-secrets.helper.js +15 -0
- package/src/modules/auth/jwt-secrets.helper.js.map +1 -0
- package/src/modules/auth/mixins/auth-gateway.mixin.js +2 -0
- package/src/modules/auth/mixins/auth-gateway.mixin.js.map +1 -1
- package/src/pipes/dynamic-api-validation.pipe.d.ts +10 -0
- package/src/pipes/dynamic-api-validation.pipe.js +32 -0
- package/src/pipes/dynamic-api-validation.pipe.js.map +1 -0
- package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js +5 -1
- package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js.map +1 -1
- package/src/version.json +1 -1
- package/test/e2e.setup.d.ts +4 -0
- package/test/e2e.setup.js +13 -0
- package/test/e2e.setup.js.map +1 -1
- package/test/for-feature/ability-predicate-request-filters.e2e-spec.js +10 -0
- package/test/for-feature/ability-predicate-request-filters.e2e-spec.js.map +1 -1
- package/test/for-feature/callbacks-user.e2e-spec.js +3 -2
- package/test/for-feature/callbacks-user.e2e-spec.js.map +1 -1
- package/test/for-feature/presence.e2e-spec.js +1 -1
- package/test/for-feature/presence.e2e-spec.js.map +1 -1
- package/test/for-feature/presenter-viewer-context.e2e-spec.js +2 -1
- package/test/for-feature/presenter-viewer-context.e2e-spec.js.map +1 -1
- package/test/for-feature/validation-strict-bodies.e2e-spec.d.ts +1 -0
- package/test/for-feature/validation-strict-bodies.e2e-spec.js +88 -0
- package/test/for-feature/validation-strict-bodies.e2e-spec.js.map +1 -0
- package/test/for-feature/websockets-authenticated-broadcast.e2e-spec.d.ts +1 -0
- package/test/for-feature/websockets-authenticated-broadcast.e2e-spec.js +121 -0
- package/test/for-feature/websockets-authenticated-broadcast.e2e-spec.js.map +1 -0
- package/test/for-feature/websockets.e2e-spec.js +9 -1
- package/test/for-feature/websockets.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-basic.e2e-spec.js +3 -3
- package/test/for-root/auth-api-basic.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-broadcast.e2e-spec.js +4 -4
- package/test/for-root/auth-api-broadcast.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-passwordless.e2e-spec.js +1 -1
- package/test/for-root/auth-api-passwordless.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-rate-limit.e2e-spec.js +2 -1
- package/test/for-root/auth-api-rate-limit.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-token-types.e2e-spec.js +5 -0
- package/test/for-root/auth-api-token-types.e2e-spec.js.map +1 -1
- package/test/for-root/health-check.e2e-spec.js +1 -1
- package/test/for-root/health-check.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-basic.e2e-spec.js +9 -15
- package/test/for-root/websockets-auth-basic.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-broadcast.e2e-spec.js +4 -4
- package/test/for-root/websockets-auth-broadcast.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-refresh-token.e2e-spec.js +4 -4
- package/test/for-root/websockets-auth-refresh-token.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-invalid-token.e2e-spec.js +9 -9
- package/test/for-root/websockets-invalid-token.e2e-spec.js.map +1 -1
- package/test/shared/index.d.ts +1 -0
- package/test/shared/index.js +4 -1
- package/test/shared/index.js.map +1 -1
- package/test/shared/init-app.js +2 -1
- package/test/shared/init-app.js.map +1 -1
- package/test/shared/init-module.js +2 -1
- package/test/shared/init-module.js.map +1 -1
- package/test/shared/test-jwt.d.ts +6 -0
- package/test/shared/test-jwt.js +9 -0
- package/test/shared/test-jwt.js.map +1 -0
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
|
|
3
|
+
## [6.0.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v5.4.2...v6.0.0) (2026-09-27)
|
|
4
|
+
|
|
5
|
+
### ⚠ BREAKING CHANGES
|
|
6
|
+
|
|
7
|
+
* **websockets:** with useAuth enabled, broadcasts without rooms no longer reach anonymous sockets; set broadcast.public: true to keep them public. A handshake carrying an invalid or expired token is now refused with a connect_error; pass rejectInvalidToken: false to enableDynamicAPIWebSockets for the v5 behavior.
|
|
8
|
+
|
|
9
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
10
|
+
Claude-Session: https://claude.ai/code/session_01GkMbWLRLybgXX99EyjuGvA
|
|
11
|
+
* **guards:** a guarded DeleteMany/UpdateMany/DuplicateMany whose ids include a non-existent document now fails with a 404 instead of silently processing the documents that exist.
|
|
12
|
+
|
|
13
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
14
|
+
Claude-Session: https://claude.ai/code/session_01GkMbWLRLybgXX99EyjuGvA
|
|
15
|
+
* **validation:** with validation configured, a body property without a class-validator decorator is rejected with a 400; pass whitelist: false and forbidNonWhitelisted: false to keep the previous behavior.
|
|
16
|
+
|
|
17
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
18
|
+
Claude-Session: https://claude.ai/code/session_01GkMbWLRLybgXX99EyjuGvA
|
|
19
|
+
* **auth:** useAuth.jwt.secret and useAuth.jwt.refreshSecret are required and must differ; tokens without a typ claim (issued before v5.4.2) are rejected, so users still holding one must log in again.
|
|
20
|
+
|
|
21
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
22
|
+
Claude-Session: https://claude.ai/code/session_01GkMbWLRLybgXX99EyjuGvA
|
|
23
|
+
|
|
24
|
+
### websockets
|
|
25
|
+
|
|
26
|
+
* **websockets:** send room-less broadcasts to authenticated sockets only and reject invalid handshake tokens by default ([ca94e52](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/ca94e523fc46f745cd71f0996ad55e737efdc06e))
|
|
27
|
+
|
|
28
|
+
### guards
|
|
29
|
+
|
|
30
|
+
* **guards:** fail the whole ids request when a targeted document is missing ([d559dad](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/d559dad21c34742acc0e234ed04cd26ebb87a9fc))
|
|
31
|
+
|
|
32
|
+
### validation
|
|
33
|
+
|
|
34
|
+
* **validation:** reject undeclared body properties when validation is configured ([9e41eab](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/9e41eab36f1747c09253a159df84e9b3012be057))
|
|
35
|
+
|
|
36
|
+
### auth
|
|
37
|
+
|
|
38
|
+
* **auth:** require distinct JWT secrets and the typ claim ([03592e6](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/03592e6e41554add64d2138587890232ffac3ab6))
|
|
39
|
+
|
|
3
40
|
## [5.4.2](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v5.4.1...v5.4.2) (2026-09-26)
|
|
4
41
|
|
|
5
42
|
### quality
|
package/README.md
CHANGED
|
@@ -25,6 +25,47 @@
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
+
> [!WARNING]
|
|
29
|
+
> **v6 — Breaking changes.** Secure defaults: insecure fallbacks that v5 kept for compatibility are gone. No symbol is renamed, so there is no codemod — apps that already set both JWT secrets, don't send undeclared body fields and don't rely on anonymous WebSocket listeners upgrade without code changes.
|
|
30
|
+
>
|
|
31
|
+
> 🔐 See [migration-v6.md](./README/migration-v6.md) for the per-change checklist and the front-end changes.
|
|
32
|
+
>
|
|
33
|
+
> <details>
|
|
34
|
+
> <summary>📋 Full list of breaking changes (v5 → v6)</summary>
|
|
35
|
+
>
|
|
36
|
+
> ### 🔑 JWT secrets required
|
|
37
|
+
> `useAuth.jwt.secret` and `useAuth.jwt.refreshSecret` are required and must differ — `forRoot()` throws at startup otherwise. There is no default secret any more.
|
|
38
|
+
> ```typescript
|
|
39
|
+
> jwt: { secret: process.env.JWT_SECRET, refreshSecret: process.env.JWT_REFRESH_SECRET }
|
|
40
|
+
> ```
|
|
41
|
+
>
|
|
42
|
+
> ### 🏷️ `typ` claim required
|
|
43
|
+
> Tokens without a `typ` claim (signed before v5.4.2) are rejected with `401`.
|
|
44
|
+
>
|
|
45
|
+
> ### 🧾 Strict request bodies
|
|
46
|
+
> Once validation is configured (`enableDynamicAPIValidation` or `validationPipeOptions`), bodies are validated with `whitelist` + `forbidNonWhitelisted`: an undeclared property → `400`. Routes without configured validation are unchanged.
|
|
47
|
+
>
|
|
48
|
+
> ### 🛡️ Strict `ids` check
|
|
49
|
+
> `DeleteMany` / `UpdateMany` / `DuplicateMany` with an `abilityPredicate`: one missing id → `404` for the whole request, nothing written.
|
|
50
|
+
>
|
|
51
|
+
> ### 📡 Authenticated-only broadcasts
|
|
52
|
+
> With `useAuth`, a broadcast without `rooms` only reaches authenticated sockets. `broadcast: { enabled: true, public: true }` restores the v5 behavior.
|
|
53
|
+
>
|
|
54
|
+
> ### 🔌 Invalid handshake tokens refused
|
|
55
|
+
> `rejectInvalidToken` defaults to `true`: an expired or invalid token gets a `connect_error` (`Unauthorized: …`). `enableDynamicAPIWebSockets(app, { rejectInvalidToken: false })` restores the v5 behavior.
|
|
56
|
+
>
|
|
57
|
+
> | Change | v5 | v6 |
|
|
58
|
+
> |---|---|---|
|
|
59
|
+
> | Missing `jwt.secret` | package default secret | startup error |
|
|
60
|
+
> | Missing `jwt.refreshSecret` | falls back to `secret` | startup error |
|
|
61
|
+
> | Token without `typ` | accepted as access token | `401` |
|
|
62
|
+
> | Undeclared body field (validation configured) | accepted | `400` |
|
|
63
|
+
> | Missing id in `ids` (with `abilityPredicate`) | ignored | `404` |
|
|
64
|
+
> | Room-less broadcast (auth enabled) | every socket | authenticated sockets |
|
|
65
|
+
> | Invalid handshake token | anonymous + `unauthorized` event | `connect_error` |
|
|
66
|
+
>
|
|
67
|
+
> </details>
|
|
68
|
+
|
|
28
69
|
> [!WARNING]
|
|
29
70
|
> **v5 — Breaking changes.** The package's public export surface was curated: internal implementation classes, mixins, builders and helpers that were never meant to be imported directly are no longer exported from `mongodb-dynamic-api`. Everything documented in this README and in `README/*.md` is unaffected.
|
|
30
71
|
>
|
|
@@ -347,6 +388,7 @@ Register `UsersModule` in `AppModule`, run `npm run start:dev` — your API is l
|
|
|
347
388
|
| 🩺 **Health Check** | `GET /health` readiness probe, `DynamicApiHealthModule` ⭐ *New* | [View](https://github.com/MikeDev75015/mongodb-dynamic-api/blob/main/README/health-check.md) |
|
|
348
389
|
| 🧪 **Testing** | `createDynamicApiTestingApp`, in-memory MongoDB, zero Docker ⭐ *New* | [View](https://github.com/MikeDev75015/mongodb-dynamic-api/blob/main/README/testing.md) |
|
|
349
390
|
| 🏗️ **Schematics** | `nest g -c mongodb-dynamic-api resource <name>` — scaffold entity + module in one command ⭐ *New* | [View](https://github.com/MikeDev75015/mongodb-dynamic-api/blob/main/README/schematics.md) |
|
|
391
|
+
| 🔐 **Migrating to v6** | Secure defaults: required secrets, strict bodies, authenticated-only broadcasts — checklist + front-end changes ⭐ *New* | [View](https://github.com/MikeDev75015/mongodb-dynamic-api/blob/main/README/migration-v6.md) |
|
|
350
392
|
| 🚚 **Migrating to v5** | `npx mongodb-dynamic-api migrate-v5 <path>` — codemod for the mechanical v5 renames ⭐ *New* | [View](https://github.com/MikeDev75015/mongodb-dynamic-api/blob/main/README/migration-v5.md) |
|
|
351
393
|
|
|
352
394
|
> [!NOTE]
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IoAdapter } from '@nestjs/platform-socket.io';
|
|
2
|
-
import { Server, ServerOptions } from 'socket.io';
|
|
2
|
+
import { Server, ServerOptions, Socket } from 'socket.io';
|
|
3
3
|
export declare class SocketAdapter extends IoAdapter {
|
|
4
4
|
private readonly logger;
|
|
5
5
|
private ioServer;
|
|
@@ -7,6 +7,8 @@ export declare class SocketAdapter extends IoAdapter {
|
|
|
7
7
|
namespace?: string;
|
|
8
8
|
server?: Server;
|
|
9
9
|
}): Server;
|
|
10
|
+
bindClientConnect(server: Server, callback: (socket: Socket) => void): void;
|
|
11
|
+
private joinAuthenticatedRoom;
|
|
10
12
|
private handleConnection;
|
|
11
13
|
private verifyHandshakeToken;
|
|
12
14
|
}
|
|
@@ -4,8 +4,10 @@ exports.SocketAdapter = void 0;
|
|
|
4
4
|
const platform_socket_io_1 = require("@nestjs/platform-socket.io");
|
|
5
5
|
const jwt = require("jsonwebtoken");
|
|
6
6
|
const auth_token_helper_1 = require("../helpers/auth-token.helper");
|
|
7
|
+
const authenticated_room_constant_1 = require("../helpers/authenticated-room.constant");
|
|
7
8
|
const ws_config_store_1 = require("../helpers/ws-config.store");
|
|
8
9
|
const mongo_dynamic_api_logger_1 = require("../logger/mongo-dynamic-api.logger");
|
|
10
|
+
const dynamic_api_global_state_service_1 = require("../services/dynamic-api-global-state/dynamic-api-global-state.service");
|
|
9
11
|
class SocketAdapter extends platform_socket_io_1.IoAdapter {
|
|
10
12
|
constructor() {
|
|
11
13
|
super(...arguments);
|
|
@@ -34,11 +36,25 @@ class SocketAdapter extends platform_socket_io_1.IoAdapter {
|
|
|
34
36
|
}
|
|
35
37
|
return this.ioServer;
|
|
36
38
|
}
|
|
39
|
+
bindClientConnect(server, callback) {
|
|
40
|
+
server.on('connection', (socket) => {
|
|
41
|
+
this.joinAuthenticatedRoom(socket);
|
|
42
|
+
callback(socket);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
joinAuthenticatedRoom(socket) {
|
|
46
|
+
const { user } = this.verifyHandshakeToken(socket);
|
|
47
|
+
if (user) {
|
|
48
|
+
socket.user = user;
|
|
49
|
+
socket.join(authenticated_room_constant_1.DYNAMIC_API_AUTHENTICATED_ROOM);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
37
52
|
handleConnection(socket) {
|
|
38
53
|
const { debug, onConnection, customEvents } = ws_config_store_1.DynamicApiWsConfigStore;
|
|
39
54
|
const { user, error } = this.verifyHandshakeToken(socket);
|
|
40
55
|
if (user) {
|
|
41
56
|
socket.user = user;
|
|
57
|
+
socket.join(authenticated_room_constant_1.DYNAMIC_API_AUTHENTICATED_ROOM);
|
|
42
58
|
}
|
|
43
59
|
if (error) {
|
|
44
60
|
if (debug) {
|
|
@@ -81,7 +97,7 @@ class SocketAdapter extends platform_socket_io_1.IoAdapter {
|
|
|
81
97
|
}
|
|
82
98
|
}
|
|
83
99
|
verifyHandshakeToken(socket) {
|
|
84
|
-
const
|
|
100
|
+
const jwtSecret = ws_config_store_1.DynamicApiWsConfigStore.jwtSecret ?? dynamic_api_global_state_service_1.DynamicApiGlobalStateService.getValue('jwtSecret');
|
|
85
101
|
const token = socket.handshake?.auth?.token;
|
|
86
102
|
if (!jwtSecret || !token) {
|
|
87
103
|
return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-adapter.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/adapters/socket-adapter.ts"],"names":[],"mappings":";;;AAAA,mEAAuD;AACvD,oCAAoC;AAEpC,oEAA+E;AAC/E,gEAAqE;AAErE,iFAA6E;
|
|
1
|
+
{"version":3,"file":"socket-adapter.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/adapters/socket-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ValidatorPipe = ValidatorPipe;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
+
const dynamic_api_validation_pipe_1 = require("../pipes/dynamic-api-validation.pipe");
|
|
5
6
|
function ValidatorPipe(validationPipeOptions) {
|
|
6
|
-
|
|
7
|
+
if (!validationPipeOptions) {
|
|
8
|
+
return (_) => undefined;
|
|
9
|
+
}
|
|
10
|
+
const pipe = validationPipeOptions === dynamic_api_validation_pipe_1.IMPLICIT_ROUTE_VALIDATION_OPTIONS
|
|
11
|
+
? new common_1.ValidationPipe(validationPipeOptions)
|
|
12
|
+
: new dynamic_api_validation_pipe_1.DynamicApiValidationPipe(validationPipeOptions);
|
|
13
|
+
return (0, common_1.applyDecorators)((0, common_1.UsePipes)(pipe));
|
|
7
14
|
}
|
|
8
15
|
//# sourceMappingURL=validator-pipe.decorator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator-pipe.decorator.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/decorators/validator-pipe.decorator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"validator-pipe.decorator.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/decorators/validator-pipe.decorator.ts"],"names":[],"mappings":";;AAiBS,sCAAa;AAjBtB,2CAA2E;AAE3E,sFAAmH;AAGnH,SAAS,aAAa,CAAC,qBAA6C;IAClE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAU,EAAE,EAAE,CAAC,SAAS,CAAC;IACnC,CAAC;IAED,MAAM,IAAI,GAAG,qBAAqB,KAAK,+DAAiC;QACtE,CAAC,CAAC,IAAI,uBAAc,CAAC,qBAAqB,CAAC;QAC3C,CAAC,CAAC,IAAI,sDAAwB,CAAC,qBAAqB,CAAC,CAAC;IAExD,OAAO,IAAA,wBAAe,EAAC,IAAA,iBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -23,6 +23,8 @@ const cache_path_registry_store_1 = require("./helpers/cache-path-registry.store
|
|
|
23
23
|
const dynamic_api_cache_interceptor_1 = require("./interceptors/dynamic-api-cache.interceptor");
|
|
24
24
|
const dynamic_api_options_interface_1 = require("./interfaces/dynamic-api-options.interface");
|
|
25
25
|
const modules_1 = require("./modules");
|
|
26
|
+
const jwt_secrets_helper_1 = require("./modules/auth/jwt-secrets.helper");
|
|
27
|
+
const dynamic_api_validation_pipe_1 = require("./pipes/dynamic-api-validation.pipe");
|
|
26
28
|
const routes_1 = require("./routes");
|
|
27
29
|
const services_1 = require("./services");
|
|
28
30
|
const dynamic_api_broadcast_service_1 = require("./services/dynamic-api-broadcast/dynamic-api-broadcast.service");
|
|
@@ -32,6 +34,9 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
|
|
|
32
34
|
if (!uri) {
|
|
33
35
|
throw new Error('You must provide a valid mongodb uri in the forRoot method to use MongoDB Dynamic API');
|
|
34
36
|
}
|
|
37
|
+
if (useAuth?.userEntity) {
|
|
38
|
+
(0, jwt_secrets_helper_1.assertJwtSecrets)(useAuth.jwt);
|
|
39
|
+
}
|
|
35
40
|
this.state.set([
|
|
36
41
|
'partial',
|
|
37
42
|
this.buildStateFromOptions(uri, useGlobalCache, cacheOptions, { useAuth, routesConfig, webSocket, broadcastGatewayOptions, onAfterSaveError }),
|
|
@@ -118,7 +123,7 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
|
|
|
118
123
|
return;
|
|
119
124
|
}
|
|
120
125
|
const validationPipeOptions = routeValidationPipeOptions ?? controllerValidationPipeOptions;
|
|
121
|
-
return module.forFeature(databaseModule, entity, controllerOptions, { ...routeConfig, description }, version, validationPipeOptions ??
|
|
126
|
+
return module.forFeature(databaseModule, entity, controllerOptions, { ...routeConfig, description }, version, validationPipeOptions ?? dynamic_api_validation_pipe_1.IMPLICIT_ROUTE_VALIDATION_OPTIONS, routeWebSocket ?? featureWebSocket, extraImports, extraProviders, extraControllers);
|
|
122
127
|
}),
|
|
123
128
|
],
|
|
124
129
|
controllers: [
|
|
@@ -163,7 +168,7 @@ let DynamicApiModule = DynamicApiModule_1 = class DynamicApiModule {
|
|
|
163
168
|
loginField: !useAuth.login?.loginField ? 'email' : String(useAuth.login.loginField),
|
|
164
169
|
passwordField: !useAuth.login?.passwordField ? 'password' : String(useAuth.login.passwordField),
|
|
165
170
|
},
|
|
166
|
-
jwtSecret: useAuth.jwt?.secret
|
|
171
|
+
jwtSecret: useAuth.jwt?.secret,
|
|
167
172
|
jwtExpirationTime: useAuth.jwt?.expiresIn ?? '15m',
|
|
168
173
|
jwtRefreshTokenExpiresIn: useAuth.jwt?.refreshTokenExpiresIn ?? '7d',
|
|
169
174
|
jwtRefreshSecret: useAuth.jwt?.refreshSecret,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-api.module.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/dynamic-api.module.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dynamic-api.module.js","sourceRoot":"","sources":["../../libs/dynamic-api/src/dynamic-api.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.BaseGateway = void 0;
|
|
|
4
4
|
const websockets_1 = require("@nestjs/websockets");
|
|
5
5
|
const dynamic_api_module_1 = require("../dynamic-api.module");
|
|
6
6
|
const auth_token_helper_1 = require("../helpers/auth-token.helper");
|
|
7
|
+
const authenticated_room_constant_1 = require("../helpers/authenticated-room.constant");
|
|
7
8
|
const lodash_helper_1 = require("../helpers/lodash.helper");
|
|
8
9
|
const resolve_broadcast_helper_1 = require("../helpers/resolve-broadcast.helper");
|
|
9
10
|
const ws_config_store_1 = require("../helpers/ws-config.store");
|
|
@@ -53,13 +54,16 @@ class BaseGateway {
|
|
|
53
54
|
if (!resolved) {
|
|
54
55
|
return;
|
|
55
56
|
}
|
|
56
|
-
const { event: broadcastEvent, rooms, data: broadcastData } = resolved;
|
|
57
|
+
const { event: broadcastEvent, rooms, data: broadcastData, authenticatedOnly } = resolved;
|
|
57
58
|
if (ws_config_store_1.DynamicApiWsConfigStore.debug) {
|
|
58
59
|
this.logger.log(`[WS] broadcastIfNeeded – event=${broadcastEvent}, rooms=${rooms ? JSON.stringify(rooms) : 'all'}, items=${broadcastData.length}`);
|
|
59
60
|
}
|
|
60
61
|
if (rooms) {
|
|
61
62
|
socket.nsp.to(rooms).emit(broadcastEvent, broadcastData);
|
|
62
63
|
}
|
|
64
|
+
else if (authenticatedOnly) {
|
|
65
|
+
socket.broadcast.to(authenticated_room_constant_1.DYNAMIC_API_AUTHENTICATED_ROOM).emit(broadcastEvent, broadcastData);
|
|
66
|
+
}
|
|
63
67
|
else {
|
|
64
68
|
socket.broadcast.emit(broadcastEvent, broadcastData);
|
|
65
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.gateway.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/base.gateway.ts"],"names":[],"mappings":";;;AACA,mDAAiD;AAEjD,8DAAyD;AACzD,oEAA+E;AAC/E,4DAAmD;AACnD,kFAAuE;AACvE,gEAAqE;AAErE,iFAA6E;AAI7E,MAAsB,WAAW;IAG/B,YAAyC,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAF9C,WAAM,GAAG,IAAI,kDAAuB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEN,CAAC;IAEzD,eAAe,CAAC,MAA8B,EAAE,QAAiB;QACzE,MAAM,aAAa,GAAG,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAElE,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,KAAe,CAAC;QAC3D,IAAI,QAAyD,CAAC;QAE9D,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;oBAC7C,MAAM,EAAE,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;iBAChD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,QAAQ,IAAI,CAAC,IAAA,iCAAa,EAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAC9C,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,oCAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAExD,MAAM,CAAC,IAAI,GAAG,CAAC,IAAA,uBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,wBAAW,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAES,eAAe,CAAmB,IAAO;QACjD,OAAO,OAAO,CAAC,KAAK,IAAI,IAAI;YAC1B,KAAK,CAAC,OAAO,CACX,IACD,CAAC,GAAG,CAAC;YAEJ,IACD,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAES,iBAAiB,CACzB,MAAsB,EACtB,KAAa,EACb,IAAoB,EACpB,eAA+C;QAE/C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,2CAAgB,EAAC,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAE7E,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"base.gateway.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/base.gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,8 @@ class BasePoliciesGuard extends base_service_1.BaseService {
|
|
|
30
30
|
await this.aggregateDocumentsWithAbilityPredicate(this.queryToPipeline(query), user);
|
|
31
31
|
}
|
|
32
32
|
else {
|
|
33
|
-
await this.findManyDocumentsWithAbilityPredicate((0, request_filter_helper_1.buildAbilityPredicateFilter)(query), user);
|
|
33
|
+
const documents = await this.findManyDocumentsWithAbilityPredicate((0, request_filter_helper_1.buildAbilityPredicateFilter)(query), user);
|
|
34
|
+
(0, request_filter_helper_1.assertEveryTargetFound)(query, documents.length);
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
return true;
|
|
@@ -80,7 +81,8 @@ class BaseSocketPoliciesGuard extends base_service_1.BaseService {
|
|
|
80
81
|
}
|
|
81
82
|
else {
|
|
82
83
|
this.logger.debug('Finding many documents with ability predicate');
|
|
83
|
-
await this.findManyDocumentsWithAbilityPredicate((0, request_filter_helper_1.buildAbilityPredicateFilter)(data), socket.user);
|
|
84
|
+
const documents = await this.findManyDocumentsWithAbilityPredicate((0, request_filter_helper_1.buildAbilityPredicateFilter)(data), socket.user);
|
|
85
|
+
(0, request_filter_helper_1.assertEveryTargetFound)(data, documents.length);
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-policies.guard.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/guards/base-policies.guard.ts"],"names":[],"mappings":";;;AAAA,2CAAyF;AACzF,mDAAiD;AAIjD,
|
|
1
|
+
{"version":3,"file":"base-policies.guard.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/guards/base-policies.guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.isTokenOfType = isTokenOfType;
|
|
4
4
|
exports.stripTokenClaims = stripTokenClaims;
|
|
5
5
|
function isTokenOfType(payload, expected) {
|
|
6
|
-
|
|
7
|
-
return false;
|
|
8
|
-
}
|
|
9
|
-
if (payload.typ === undefined) {
|
|
10
|
-
return expected !== 'reset';
|
|
11
|
-
}
|
|
12
|
-
return payload.typ === expected;
|
|
6
|
+
return payload?.typ === expected;
|
|
13
7
|
}
|
|
14
8
|
function stripTokenClaims(payload) {
|
|
15
9
|
const { iat, exp, typ, ...user } = payload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-token.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/auth-token.helper.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"auth-token.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/auth-token.helper.ts"],"names":[],"mappings":";;AAgCS,sCAAa;AAAE,4CAAgB;AAbxC,SAAS,aAAa,CAAC,OAA2C,EAAE,QAAuB;IACzF,OAAO,OAAO,EAAE,GAAG,KAAK,QAAQ,CAAC;AACnC,CAAC;AAMD,SAAS,gBAAgB,CAA4B,OAAU;IAC7D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DYNAMIC_API_AUTHENTICATED_ROOM = "dynamic-api:authenticated";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticated-room.constant.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/authenticated-room.constant.ts"],"names":[],"mappings":";;;AAKa,QAAA,8BAA8B,GAAG,2BAA2B,CAAC"}
|
package/src/helpers/index.d.ts
CHANGED
package/src/helpers/index.js
CHANGED
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.enableDynamicAPIVersioning = exports.enableDynamicAPIWebSockets = exports.isTransactionsUnsupportedError = void 0;
|
|
18
|
+
__exportStar(require("./authenticated-room.constant"), exports);
|
|
18
19
|
__exportStar(require("./index-sync.helper"), exports);
|
|
19
20
|
__exportStar(require("./mint-token-pair.helper"), exports);
|
|
20
21
|
var mongo_transaction_helper_1 = require("./mongo-transaction.helper");
|
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":";;;;;;;;;;;;;;;;;AAEA,sDAAoC;AACpC,2DAAyC;AACzC,uEAA4E;AAAnE,0IAAA,8BAA8B,OAAA;AACvC,yDAAuC;AACvC,6DAA2C;AAC3C,+DAAoE;AAA3D,kIAAA,0BAA0B,OAAA;AACnC,0DAAwC;AACxC,uEAAwE;AAA/D,sIAAA,0BAA0B,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,gEAA8C;AAC9C,sDAAoC;AACpC,2DAAyC;AACzC,uEAA4E;AAAnE,0IAAA,8BAA8B,OAAA;AACvC,yDAAuC;AACvC,6DAA2C;AAC3C,+DAAoE;AAA3D,kIAAA,0BAA0B,OAAA;AACnC,0DAAwC;AACxC,uEAAwE;AAA/D,sIAAA,0BAA0B,OAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
type RequestFilter = Record<string, unknown>;
|
|
2
2
|
declare function assertNoMongoOperators(value: unknown): void;
|
|
3
3
|
declare function buildAbilityPredicateFilter(input: unknown): RequestFilter;
|
|
4
|
-
|
|
4
|
+
declare function assertEveryTargetFound(input: unknown, foundCount: number): void;
|
|
5
|
+
export { assertEveryTargetFound, assertNoMongoOperators, buildAbilityPredicateFilter };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertEveryTargetFound = assertEveryTargetFound;
|
|
3
4
|
exports.assertNoMongoOperators = assertNoMongoOperators;
|
|
4
5
|
exports.buildAbilityPredicateFilter = buildAbilityPredicateFilter;
|
|
5
6
|
const common_1 = require("@nestjs/common");
|
|
@@ -32,4 +33,13 @@ function buildAbilityPredicateFilter(input) {
|
|
|
32
33
|
}
|
|
33
34
|
return filter;
|
|
34
35
|
}
|
|
36
|
+
function assertEveryTargetFound(input, foundCount) {
|
|
37
|
+
if (!isPlainObject(input) || input.ids === undefined) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const requested = new Set((Array.isArray(input.ids) ? input.ids : [input.ids]).map(String));
|
|
41
|
+
if (foundCount < requested.size) {
|
|
42
|
+
throw new common_1.NotFoundException('Document not found');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
35
45
|
//# sourceMappingURL=request-filter.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-filter.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/request-filter.helper.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"request-filter.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/request-filter.helper.ts"],"names":[],"mappings":";;AA0ES,wDAAsB;AAAE,wDAAsB;AAAE,kEAA2B;AA1EpF,2CAAwE;AAIxE,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAQD,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,4BAAmB,CAAC,uBAAuB,GAAG,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAUD,SAAS,2BAA2B,CAAC,KAAc;IACjD,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IAEjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAOD,SAAS,sBAAsB,CAAC,KAAc,EAAE,UAAkB;IAChE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5F,IAAI,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,0BAAiB,CAAC,oBAAoB,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
|
|
@@ -3,6 +3,7 @@ interface ResolvedBroadcast<T extends object> {
|
|
|
3
3
|
event: string;
|
|
4
4
|
rooms?: string[];
|
|
5
5
|
data: T[];
|
|
6
|
+
authenticatedOnly: boolean;
|
|
6
7
|
}
|
|
7
8
|
declare function resolveBroadcast<T extends object, User = unknown>(event: string, data: T[], broadcastConfig: BroadcastConfig<T, User> | undefined, user?: User): ResolvedBroadcast<T> | undefined;
|
|
8
9
|
export { resolveBroadcast, ResolvedBroadcast };
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveBroadcast = resolveBroadcast;
|
|
4
4
|
const class_transformer_1 = require("class-transformer");
|
|
5
|
+
const dynamic_api_global_state_service_1 = require("../services/dynamic-api-global-state/dynamic-api-global-state.service");
|
|
5
6
|
const resolve_rooms_helper_1 = require("./resolve-rooms.helper");
|
|
6
7
|
function resolveBroadcast(event, data, broadcastConfig, user) {
|
|
7
8
|
if (!broadcastConfig || !data?.length) {
|
|
@@ -17,10 +18,14 @@ function resolveBroadcast(event, data, broadcastConfig, user) {
|
|
|
17
18
|
if (!broadcastData.length) {
|
|
18
19
|
return undefined;
|
|
19
20
|
}
|
|
21
|
+
const resolvedRooms = (0, resolve_rooms_helper_1.resolveRooms)(rooms, broadcastData, user);
|
|
20
22
|
return {
|
|
21
23
|
event: eventName || event,
|
|
22
|
-
rooms:
|
|
24
|
+
rooms: resolvedRooms,
|
|
23
25
|
data: broadcastData.map((item) => (0, class_transformer_1.instanceToPlain)(item)),
|
|
26
|
+
authenticatedOnly: !resolvedRooms
|
|
27
|
+
&& !broadcastConfig.public
|
|
28
|
+
&& !!dynamic_api_global_state_service_1.DynamicApiGlobalStateService.getValue('isAuthEnabled'),
|
|
24
29
|
};
|
|
25
30
|
}
|
|
26
31
|
//# sourceMappingURL=resolve-broadcast.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-broadcast.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/resolve-broadcast.helper.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"resolve-broadcast.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/resolve-broadcast.helper.ts"],"names":[],"mappings":";;AA+DS,4CAAgB;AA/DzB,yDAAoD;AACpD,4HAAqH;AACrH,iEAAsD;AAyBtD,SAAS,gBAAgB,CACvB,KAAa,EACb,IAAS,EACT,eAAqD,EACrD,IAAW;IAEX,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;IAEtD,IAAI,OAAO,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,OAAO,KAAK,UAAU;QACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,OAA8C,CAAC,IAAI,EAAE,IAAY,CAAC,CAAC;QAC5F,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,mCAAY,EAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAE/D,OAAO;QACL,KAAK,EAAE,SAAS,IAAI,KAAK;QACzB,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,mCAAe,EAAC,IAAI,CAAM,CAAC;QAC7D,iBAAiB,EAAE,CAAC,aAAa;eAC5B,CAAC,eAAe,CAAC,MAAM;eACvB,CAAC,CAAC,+DAA4B,CAAC,QAAQ,CAAC,eAAe,CAAC;KAC9D,CAAC;AACJ,CAAC"}
|
|
@@ -34,7 +34,7 @@ function enableDynamicAPIWebSockets(app, options) {
|
|
|
34
34
|
ws_config_store_1.DynamicApiWsConfigStore.onConnection = resolvedOptions.onConnection;
|
|
35
35
|
ws_config_store_1.DynamicApiWsConfigStore.customEvents = resolvedOptions.customEvents ?? [];
|
|
36
36
|
ws_config_store_1.DynamicApiWsConfigStore.debug = resolvedOptions.debug ?? false;
|
|
37
|
-
ws_config_store_1.DynamicApiWsConfigStore.rejectInvalidToken = resolvedOptions.rejectInvalidToken ??
|
|
37
|
+
ws_config_store_1.DynamicApiWsConfigStore.rejectInvalidToken = resolvedOptions.rejectInvalidToken ?? true;
|
|
38
38
|
ws_config_store_1.DynamicApiWsConfigStore.jwtSecret = dynamic_api_global_state_service_1.DynamicApiGlobalStateService.getValue('jwtSecret');
|
|
39
39
|
process.on('warning', function (err) {
|
|
40
40
|
if ('MaxListenersExceededWarning' === err.name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-config.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/socket-config.helper.ts"],"names":[],"mappings":";;AAgFS,kEAA2B;AAAE,gEAA0B;AA/EhE,sCAAsC;AACtC,+DAA2D;AAE3D,4HAAqH;AACrH,iEAAsE;AACtE,uDAA4D;AAE5D,SAAS,mBAAmB,CAAC,YAAY,GAAG,EAAE;IAE3C,MAAM,CAAC,YAAY,CAAC,SAAkD,CAAC,aAAa,GAAG,GAAG,CAAC;IAC5F,MAAM,CAAC,YAAY,CAAC,mBAAmB,GAAG,GAAG,CAAC;IAC9C,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AAC9D,CAAC;AAOD,SAAS,0BAA0B,CAAC,GAAqB,EAAE,OAAyC;IAClG,IAAI,eAAe,GAAoC,EAAE,CAAC;IAE1D,IAAI,OAAO,EAAE,CAAC;QACZ,eAAe,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,mDAA4B,CAAC,aAAa,EAAE,CAAC;QAEhE,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,UAAU;iBACvB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE;gBAChC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtF,OAAO,IAAI,KAAK,MAAM,OAAO,GAAG,CAAC;YACnC,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,IAAI,KAAK,CACb,qFAAqF,OAAO,IAAI;kBAC9F,sFAAsF,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAGlD,yCAAuB,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;IACpE,yCAAuB,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,IAAI,EAAE,CAAC;IAC1E,yCAAuB,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,KAAK,CAAC;IAC/D,yCAAuB,CAAC,kBAAkB,GAAG,eAAe,CAAC,kBAAkB,IAAI,
|
|
1
|
+
{"version":3,"file":"socket-config.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/socket-config.helper.ts"],"names":[],"mappings":";;AAgFS,kEAA2B;AAAE,gEAA0B;AA/EhE,sCAAsC;AACtC,+DAA2D;AAE3D,4HAAqH;AACrH,iEAAsE;AACtE,uDAA4D;AAE5D,SAAS,mBAAmB,CAAC,YAAY,GAAG,EAAE;IAE3C,MAAM,CAAC,YAAY,CAAC,SAAkD,CAAC,aAAa,GAAG,GAAG,CAAC;IAC5F,MAAM,CAAC,YAAY,CAAC,mBAAmB,GAAG,GAAG,CAAC;IAC9C,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AAC9D,CAAC;AAOD,SAAS,0BAA0B,CAAC,GAAqB,EAAE,OAAyC;IAClG,IAAI,eAAe,GAAoC,EAAE,CAAC;IAE1D,IAAI,OAAO,EAAE,CAAC;QACZ,eAAe,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,eAAe,CAAC,oBAAoB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,mDAA4B,CAAC,aAAa,EAAE,CAAC;QAEhE,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,UAAU;iBACvB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE;gBAChC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtF,OAAO,IAAI,KAAK,MAAM,OAAO,GAAG,CAAC;YACnC,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,IAAI,KAAK,CACb,qFAAqF,OAAO,IAAI;kBAC9F,sFAAsF,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAGlD,yCAAuB,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;IACpE,yCAAuB,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,IAAI,EAAE,CAAC;IAC1E,yCAAuB,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,KAAK,CAAC;IAC/D,yCAAuB,CAAC,kBAAkB,GAAG,eAAe,CAAC,kBAAkB,IAAI,IAAI,CAAC;IAGxF,yCAAuB,CAAC,SAAS,GAAG,+DAA4B,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEvF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,GAAG;QACjC,IAAI,6BAA6B,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YAC5F,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;YAC1G,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YAC/E,MAAM,IAAI,KAAK,CACb,mDAAmD;kBACjD,uFAAuF,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,mBAAmB,CAAC,IAAI,8BAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAGD,SAAS,2BAA2B,CAAC,OAAoC;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,OAAO,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACrD,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { INestApplication, ValidationPipeOptions } from '@nestjs/common';
|
|
1
|
+
import type { INestApplication, ValidationPipeOptions } from '@nestjs/common';
|
|
2
2
|
declare function enableDynamicAPIValidation(app: INestApplication, options?: ValidationPipeOptions): void;
|
|
3
3
|
export { enableDynamicAPIValidation };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.enableDynamicAPIValidation = enableDynamicAPIValidation;
|
|
4
|
-
const
|
|
4
|
+
const dynamic_api_validation_pipe_1 = require("../pipes/dynamic-api-validation.pipe");
|
|
5
5
|
function enableDynamicAPIValidation(app, options = {}) {
|
|
6
|
-
app.useGlobalPipes(new
|
|
6
|
+
app.useGlobalPipes(new dynamic_api_validation_pipe_1.DynamicApiValidationPipe(options));
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=validation-config.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-config.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/validation-config.helper.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"validation-config.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/validation-config.helper.ts"],"names":[],"mappings":";;AAUS,gEAA0B;AATnC,sFAAgF;AAGhF,SAAS,0BAA0B,CAAC,GAAqB,EAAE,UAAiC,EAAE;IAC5F,GAAG,CAAC,cAAc,CAChB,IAAI,sDAAwB,CAAC,OAAO,CAAC,CACtC,CAAC;AACJ,CAAC"}
|
|
@@ -13,11 +13,11 @@ class DynamicApiWsConfigStore {
|
|
|
13
13
|
this.customEvents = [];
|
|
14
14
|
this.debug = false;
|
|
15
15
|
this.jwtSecret = undefined;
|
|
16
|
-
this.rejectInvalidToken =
|
|
16
|
+
this.rejectInvalidToken = true;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
exports.DynamicApiWsConfigStore = DynamicApiWsConfigStore;
|
|
20
20
|
DynamicApiWsConfigStore.customEvents = [];
|
|
21
21
|
DynamicApiWsConfigStore.debug = false;
|
|
22
|
-
DynamicApiWsConfigStore.rejectInvalidTokenValue =
|
|
22
|
+
DynamicApiWsConfigStore.rejectInvalidTokenValue = true;
|
|
23
23
|
//# sourceMappingURL=ws-config.store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-config.store.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/ws-config.store.ts"],"names":[],"mappings":";;;AAOA,MAAa,uBAAuB;IAOlC,MAAM,KAAK,kBAAkB;QAC3B,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,MAAM,KAAK,kBAAkB,CAAC,KAAc;QAC1C,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACvC,CAAC;IAGD,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"ws-config.store.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/ws-config.store.ts"],"names":[],"mappings":";;;AAOA,MAAa,uBAAuB;IAOlC,MAAM,KAAK,kBAAkB;QAC3B,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,MAAM,KAAK,kBAAkB,CAAC,KAAc;QAC1C,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACvC,CAAC;IAGD,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;;AAtBH,0DAuBC;AArBQ,oCAAY,GAA8B,EAAE,CAAC;AAC7C,6BAAK,GAAG,KAAK,CAAC;AAEN,+CAAuB,GAAG,IAAI,CAAC"}
|