mongodb-dynamic-api 4.10.0 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/package.json +1 -1
- package/src/gateways/base.gateway.d.ts +2 -2
- package/src/gateways/base.gateway.js +2 -3
- package/src/gateways/base.gateway.js.map +1 -1
- package/src/helpers/resolve-rooms.helper.d.ts +1 -1
- package/src/helpers/resolve-rooms.helper.js +2 -2
- package/src/helpers/resolve-rooms.helper.js.map +1 -1
- package/src/interfaces/dynamic-api-ability.interface.d.ts +1 -1
- package/src/interfaces/dynamic-api-broadcast-config.interface.d.ts +4 -4
- package/src/interfaces/dynamic-api-route-config.interface.d.ts +2 -2
- package/src/interfaces/dynamic-api-service-before-save-callback.interface.d.ts +21 -21
- package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.d.ts +2 -2
- package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js.map +1 -1
- package/src/version.json +1 -1
- package/test/for-feature/room-broadcast.e2e-spec.js +37 -0
- package/test/for-feature/room-broadcast.e2e-spec.js.map +1 -1
- package/test/for-feature/websockets.e2e-spec.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
|
|
3
|
+
## [4.11.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.10.0...v4.11.0) (2026-05-25)
|
|
4
|
+
|
|
5
|
+
### callbacks
|
|
6
|
+
|
|
7
|
+
* **callbacks:** add BodyDTO generic to beforeSave context types ([4c04c50](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/4c04c50f57e9b1e96d14f1eab83b45f76e2afd71))
|
|
8
|
+
|
|
9
|
+
### e2e
|
|
10
|
+
|
|
11
|
+
* **e2e:** cast user to UserEntity in websockets broadcast enabled predicate ([6ac68ef](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/6ac68ef1a5f206d129ee6395a7afb55dc1714962))
|
|
12
|
+
|
|
13
|
+
### broadcast
|
|
14
|
+
|
|
15
|
+
* **broadcast:** pass socket.user to rooms callback ([da6177f](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/da6177f307b3afb14e3b56bfef25c39d3ee9b514))
|
|
16
|
+
|
|
3
17
|
## [4.10.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.9.0...v4.10.0) (2026-05-25)
|
|
4
18
|
|
|
5
19
|
### custom-route
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JwtService } from '@nestjs/jwt';
|
|
2
|
-
import {
|
|
2
|
+
import { BroadcastConfig, ExtendedSocket } from '../interfaces';
|
|
3
3
|
import { BaseEntity } from '../models';
|
|
4
4
|
export declare abstract class BaseGateway<Entity extends BaseEntity> {
|
|
5
5
|
protected readonly jwtService: JwtService;
|
|
@@ -7,5 +7,5 @@ export declare abstract class BaseGateway<Entity extends BaseEntity> {
|
|
|
7
7
|
protected constructor(jwtService: JwtService);
|
|
8
8
|
protected addUserToSocket(socket: ExtendedSocket<Entity>, isPublic: boolean): void;
|
|
9
9
|
protected isValidManyBody<T extends object>(body: T): boolean;
|
|
10
|
-
protected broadcastIfNeeded<ResponseData extends object>(socket: ExtendedSocket, event: string, data: ResponseData[], broadcastConfig?:
|
|
10
|
+
protected broadcastIfNeeded<ResponseData extends object>(socket: ExtendedSocket, event: string, data: ResponseData[], broadcastConfig?: BroadcastConfig<ResponseData>): void;
|
|
11
11
|
}
|
|
@@ -4,7 +4,6 @@ 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 helpers_1 = require("../helpers");
|
|
7
|
-
const ws_config_store_1 = require("../helpers/ws-config.store");
|
|
8
7
|
const logger_1 = require("../logger");
|
|
9
8
|
class BaseGateway {
|
|
10
9
|
constructor(jwtService) {
|
|
@@ -57,8 +56,8 @@ class BaseGateway {
|
|
|
57
56
|
return;
|
|
58
57
|
}
|
|
59
58
|
const broadcastEvent = eventName || event;
|
|
60
|
-
const resolvedRooms = (0, helpers_1.resolveRooms)(rooms, broadcastData);
|
|
61
|
-
if (
|
|
59
|
+
const resolvedRooms = (0, helpers_1.resolveRooms)(rooms, broadcastData, socket.user);
|
|
60
|
+
if (helpers_1.DynamicApiWsConfigStore.debug) {
|
|
62
61
|
this.logger.log(`[WS] broadcastIfNeeded – event=${broadcastEvent}, rooms=${resolvedRooms ? JSON.stringify(resolvedRooms) : 'all'}, items=${broadcastData.length}`);
|
|
63
62
|
}
|
|
64
63
|
if (resolvedRooms) {
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"base.gateway.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/base.gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { BroadcastRooms } from '../interfaces';
|
|
2
|
-
declare function resolveRooms<T extends object>(rooms: BroadcastRooms<T> | undefined, data: T[]): string[] | undefined;
|
|
2
|
+
declare function resolveRooms<T extends object, User = unknown>(rooms: BroadcastRooms<T, User> | undefined, data: T[], user?: User): string[] | undefined;
|
|
3
3
|
export { resolveRooms };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveRooms = resolveRooms;
|
|
4
|
-
function resolveRooms(rooms, data) {
|
|
4
|
+
function resolveRooms(rooms, data, user) {
|
|
5
5
|
if (!rooms) {
|
|
6
6
|
return undefined;
|
|
7
7
|
}
|
|
8
8
|
if (typeof rooms === 'function') {
|
|
9
9
|
const resolved = data.flatMap((item) => {
|
|
10
|
-
const result = rooms(item);
|
|
10
|
+
const result = rooms(item, user);
|
|
11
11
|
return Array.isArray(result) ? result : [result];
|
|
12
12
|
});
|
|
13
13
|
return [...new Set(resolved)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-rooms.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/resolve-rooms.helper.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"resolve-rooms.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/resolve-rooms.helper.ts"],"names":[],"mappings":";;AAkCS,oCAAY;AArBrB,SAAS,YAAY,CACnB,KAA0C,EAC1C,IAAS,EACT,IAAW;IAEX,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -4,7 +4,7 @@ type PredicateBehavior = 'filter' | 'throw';
|
|
|
4
4
|
type AbilityPredicate<Entity extends BaseEntity, User = any> = (entity: Entity, user: User) => boolean;
|
|
5
5
|
type AuthAbilityPredicate<User = any, Body = unknown> = (user: User, body?: Body) => boolean;
|
|
6
6
|
type BroadcastAbilityPredicate<ResponseData extends object, User = any> = (data: ResponseData, user: User) => boolean;
|
|
7
|
-
type BroadcastRooms<T extends object> = string | string[] | ((data: T) => string | string[]);
|
|
7
|
+
type BroadcastRooms<T extends object, User = unknown> = string | string[] | ((data: T, user?: User) => string | string[]);
|
|
8
8
|
type ControllerAbilityPredicate<Entity extends BaseEntity> = {
|
|
9
9
|
targets: RouteType[];
|
|
10
10
|
predicate: AbilityPredicate<Entity>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BroadcastAbilityPredicate, BroadcastRooms } from './dynamic-api-ability.interface';
|
|
2
|
-
interface
|
|
3
|
-
enabled: boolean | BroadcastAbilityPredicate<ResponseData>;
|
|
2
|
+
interface BroadcastConfig<ResponseData extends object, User = unknown> {
|
|
3
|
+
enabled: boolean | BroadcastAbilityPredicate<ResponseData, User>;
|
|
4
4
|
eventName?: string;
|
|
5
|
-
rooms?: BroadcastRooms<ResponseData>;
|
|
5
|
+
rooms?: BroadcastRooms<ResponseData, User>;
|
|
6
6
|
}
|
|
7
|
-
export {
|
|
7
|
+
export { BroadcastConfig };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NestInterceptor, Type, ValidationPipeOptions } from '@nestjs/common';
|
|
2
2
|
import { BaseEntity } from '../models';
|
|
3
3
|
import { AbilityPredicate, PredicateBehavior } from './dynamic-api-ability.interface';
|
|
4
|
-
import {
|
|
4
|
+
import { BroadcastConfig } from './dynamic-api-broadcast-config.interface';
|
|
5
5
|
import { CascadeConfig } from './dynamic-api-cascade-config.interface';
|
|
6
6
|
import { DTOsBundle } from './dynamic-api-route-dtos-bundle.type';
|
|
7
7
|
import { RouteType } from './dynamic-api-route-type.type';
|
|
@@ -26,7 +26,7 @@ interface DynamicApiRouteConfig<Entity extends BaseEntity> {
|
|
|
26
26
|
callback?: AfterSaveCallback<Entity>;
|
|
27
27
|
webSocket?: DynamicApiWebSocketOptions;
|
|
28
28
|
eventName?: string;
|
|
29
|
-
broadcast?:
|
|
29
|
+
broadcast?: BroadcastConfig<Entity>;
|
|
30
30
|
isArrayResponse?: boolean;
|
|
31
31
|
useInterceptors?: Type<NestInterceptor>[];
|
|
32
32
|
fromUser?: FromUserMap<Entity>;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { BaseEntity } from '../models';
|
|
2
2
|
import { CallbackMethods } from './dynamic-api-service-callback.interface';
|
|
3
|
-
type BeforeSaveCreateContext<Entity extends BaseEntity> = {
|
|
4
|
-
toCreate: Partial<
|
|
3
|
+
type BeforeSaveCreateContext<Entity extends BaseEntity, BodyDTO = Entity> = {
|
|
4
|
+
toCreate: Partial<BodyDTO>;
|
|
5
5
|
};
|
|
6
|
-
type BeforeSaveCreateManyContext<Entity extends BaseEntity> = {
|
|
7
|
-
toCreate: Partial<
|
|
6
|
+
type BeforeSaveCreateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = {
|
|
7
|
+
toCreate: Partial<BodyDTO>[];
|
|
8
8
|
};
|
|
9
|
-
type BeforeSaveUpdateContext<Entity extends BaseEntity> = {
|
|
9
|
+
type BeforeSaveUpdateContext<Entity extends BaseEntity, BodyDTO = Entity> = {
|
|
10
10
|
id: string;
|
|
11
|
-
update: Partial<
|
|
11
|
+
update: Partial<BodyDTO>;
|
|
12
12
|
};
|
|
13
|
-
type BeforeSaveUpdateManyContext<Entity extends BaseEntity> = {
|
|
13
|
+
type BeforeSaveUpdateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = {
|
|
14
14
|
ids: string[];
|
|
15
|
-
update: Partial<
|
|
15
|
+
update: Partial<BodyDTO>;
|
|
16
16
|
};
|
|
17
|
-
type BeforeSaveReplaceContext<Entity extends BaseEntity> = {
|
|
17
|
+
type BeforeSaveReplaceContext<Entity extends BaseEntity, BodyDTO = Entity> = {
|
|
18
18
|
id: string;
|
|
19
|
-
replacement: Partial<
|
|
19
|
+
replacement: Partial<BodyDTO>;
|
|
20
20
|
};
|
|
21
21
|
type BeforeSaveDeleteContext = {
|
|
22
22
|
id: string;
|
|
@@ -24,13 +24,13 @@ type BeforeSaveDeleteContext = {
|
|
|
24
24
|
type BeforeSaveDeleteManyContext = {
|
|
25
25
|
ids: string[];
|
|
26
26
|
};
|
|
27
|
-
type BeforeSaveDuplicateContext<Entity extends BaseEntity> = {
|
|
27
|
+
type BeforeSaveDuplicateContext<Entity extends BaseEntity, BodyDTO = Entity> = {
|
|
28
28
|
id: string;
|
|
29
|
-
override?: Partial<
|
|
29
|
+
override?: Partial<BodyDTO>;
|
|
30
30
|
};
|
|
31
|
-
type BeforeSaveDuplicateManyContext<Entity extends BaseEntity> = {
|
|
31
|
+
type BeforeSaveDuplicateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = {
|
|
32
32
|
ids: string[];
|
|
33
|
-
override?: Partial<
|
|
33
|
+
override?: Partial<BodyDTO>;
|
|
34
34
|
};
|
|
35
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
36
|
type BeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entities: Entity[] | undefined, context: Context, methods: CallbackMethods, user?: User) => Promise<Partial<Entity>[]>;
|
|
@@ -40,15 +40,15 @@ type AnyBeforeSaveCallback<Entity extends BaseEntity, User = unknown> = BeforeSa
|
|
|
40
40
|
type BeforeDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entity: Entity | undefined, context: Context, methods: CallbackMethods, user?: User) => Promise<void>;
|
|
41
41
|
type BeforeDeleteManyCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entities: Entity[], context: Context, methods: CallbackMethods, user?: User) => Promise<void>;
|
|
42
42
|
type AnyBeforeDeleteCallback<Entity extends BaseEntity, User = unknown> = BeforeDeleteCallback<Entity, BeforeSaveDeleteContext, User> | BeforeDeleteManyCallback<Entity, BeforeSaveDeleteManyContext, User>;
|
|
43
|
-
type DynamicApiServiceBeforeSaveCreateContext<Entity extends BaseEntity> = BeforeSaveCreateContext<Entity>;
|
|
44
|
-
type DynamicApiServiceBeforeSaveCreateManyContext<Entity extends BaseEntity> = BeforeSaveCreateManyContext<Entity>;
|
|
45
|
-
type DynamicApiServiceBeforeSaveUpdateContext<Entity extends BaseEntity> = BeforeSaveUpdateContext<Entity>;
|
|
46
|
-
type DynamicApiServiceBeforeSaveUpdateManyContext<Entity extends BaseEntity> = BeforeSaveUpdateManyContext<Entity>;
|
|
47
|
-
type DynamicApiServiceBeforeSaveReplaceContext<Entity extends BaseEntity> = BeforeSaveReplaceContext<Entity>;
|
|
43
|
+
type DynamicApiServiceBeforeSaveCreateContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveCreateContext<Entity, BodyDTO>;
|
|
44
|
+
type DynamicApiServiceBeforeSaveCreateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveCreateManyContext<Entity, BodyDTO>;
|
|
45
|
+
type DynamicApiServiceBeforeSaveUpdateContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveUpdateContext<Entity, BodyDTO>;
|
|
46
|
+
type DynamicApiServiceBeforeSaveUpdateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveUpdateManyContext<Entity, BodyDTO>;
|
|
47
|
+
type DynamicApiServiceBeforeSaveReplaceContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveReplaceContext<Entity, BodyDTO>;
|
|
48
48
|
type DynamicApiServiceBeforeSaveDeleteContext = BeforeSaveDeleteContext;
|
|
49
49
|
type DynamicApiServiceBeforeSaveDeleteManyContext = BeforeSaveDeleteManyContext;
|
|
50
|
-
type DynamicApiServiceBeforeSaveDuplicateContext<Entity extends BaseEntity> = BeforeSaveDuplicateContext<Entity>;
|
|
51
|
-
type DynamicApiServiceBeforeSaveDuplicateManyContext<Entity extends BaseEntity> = BeforeSaveDuplicateManyContext<Entity>;
|
|
50
|
+
type DynamicApiServiceBeforeSaveDuplicateContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveDuplicateContext<Entity, BodyDTO>;
|
|
51
|
+
type DynamicApiServiceBeforeSaveDuplicateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveDuplicateManyContext<Entity, BodyDTO>;
|
|
52
52
|
type DynamicApiServiceBeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveCallback<Entity, Context, User>;
|
|
53
53
|
type DynamicApiServiceBeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveListCallback<Entity, Context, User>;
|
|
54
54
|
type DynamicApiServiceBeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveDeleteCallback<Entity, Context, User>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Server } from 'socket.io';
|
|
2
|
-
import {
|
|
2
|
+
import { BroadcastConfig } from '../../interfaces';
|
|
3
3
|
export declare class DynamicApiBroadcastService {
|
|
4
4
|
private static wsServer;
|
|
5
5
|
setWsServer(server: Server): void;
|
|
6
|
-
broadcastFromHttp<T extends object>(event: string, data: T[], broadcastConfig:
|
|
6
|
+
broadcastFromHttp<T extends object>(event: string, data: T[], broadcastConfig: BroadcastConfig<T>): void;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-api-broadcast.service.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA4C;AAE5C,2CAA6C;AAKtC,IAAM,0BAA0B,kCAAhC,MAAM,0BAA0B;IAGrC,WAAW,CAAC,MAAc;QACxB,4BAA0B,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC/C,CAAC;IAED,iBAAiB,CACf,KAAa,EACb,IAAS,EACT,
|
|
1
|
+
{"version":3,"file":"dynamic-api-broadcast.service.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA4C;AAE5C,2CAA6C;AAKtC,IAAM,0BAA0B,kCAAhC,MAAM,0BAA0B;IAGrC,WAAW,CAAC,MAAc;QACxB,4BAA0B,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC/C,CAAC;IAED,iBAAiB,CACf,KAAa,EACb,IAAS,EACT,eAAmC;QAEnC,IAAI,CAAC,4BAA0B,CAAC,QAAQ,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9E,OAAO;QACT,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;QAEtD,IAAI,OAAO,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,OAAO,KAAK,UAAU;YACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,OAAwC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACnF,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,IAAI,KAAK,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAA,sBAAY,EAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAEzD,IAAI,aAAa,EAAE,CAAC;YAClB,4BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,4BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;;AAtCU,gEAA0B;AACtB,mCAAQ,GAAkB,IAAI,AAAtB,CAAuB;qCADnC,0BAA0B;IAFtC,IAAA,mBAAU,GAAE;GAEA,0BAA0B,CAuCtC"}
|
package/src/version.json
CHANGED
|
@@ -46,6 +46,10 @@ describe('DynamicApiModule forFeature - Room-targeted Broadcast (e2e)', () => {
|
|
|
46
46
|
(0, mongoose_1.Prop)({ type: String }),
|
|
47
47
|
__metadata("design:type", String)
|
|
48
48
|
], RbItemEntity.prototype, "category", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, mongoose_1.Prop)({ type: String }),
|
|
51
|
+
__metadata("design:type", String)
|
|
52
|
+
], RbItemEntity.prototype, "ownerId", void 0);
|
|
49
53
|
RbItemEntity = __decorate([
|
|
50
54
|
(0, mongoose_1.Schema)({ collection: 'rb_items' })
|
|
51
55
|
], RbItemEntity);
|
|
@@ -89,6 +93,15 @@ describe('DynamicApiModule forFeature - Room-targeted Broadcast (e2e)', () => {
|
|
|
89
93
|
rooms: (item) => item.category ?? 'unknown',
|
|
90
94
|
},
|
|
91
95
|
},
|
|
96
|
+
{
|
|
97
|
+
type: 'DeleteOne',
|
|
98
|
+
webSocket: true,
|
|
99
|
+
isPublic: false,
|
|
100
|
+
broadcast: {
|
|
101
|
+
enabled: true,
|
|
102
|
+
rooms: (_item, user) => [`user-${user?.id ?? 'anonymous'}`],
|
|
103
|
+
},
|
|
104
|
+
},
|
|
92
105
|
],
|
|
93
106
|
}, {
|
|
94
107
|
useAuth: {
|
|
@@ -188,5 +201,29 @@ describe('DynamicApiModule forFeature - Room-targeted Broadcast (e2e)', () => {
|
|
|
188
201
|
expect(outsiderReceivedBroadcast).toBe(false);
|
|
189
202
|
});
|
|
190
203
|
});
|
|
204
|
+
describe('user-aware rooms (socket.user passed to rooms fn)', () => {
|
|
205
|
+
it('[user-aware rooms] should broadcast to user-specific room derived from socket.user', async () => {
|
|
206
|
+
const jwtPayload = JSON.parse(Buffer.from(accessToken.split('.')[1], 'base64url').toString('utf-8'));
|
|
207
|
+
const userId = jwtPayload.id;
|
|
208
|
+
const userRoom = `user-${userId}`;
|
|
209
|
+
const { response, outsiderReceivedBroadcast } = await e2e_setup_1.server.emitWithRoomsBroadcast('delete-one-rb-item', { id: existingItem.id }, { accessToken }, { receiverAccessToken: accessToken, rooms: userRoom, broadcastEvent: 'delete-one-rb-item' });
|
|
210
|
+
expect(response).toBeDefined();
|
|
211
|
+
expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledTimes(1);
|
|
212
|
+
expect(e2e_setup_1.handleSocketBroadcast).toHaveBeenCalledWith(expect.objectContaining({
|
|
213
|
+
event: 'delete-one-rb-item',
|
|
214
|
+
data: expect.arrayContaining([expect.objectContaining({ id: existingItem.id })]),
|
|
215
|
+
}));
|
|
216
|
+
expect(outsiderReceivedBroadcast).toBe(false);
|
|
217
|
+
});
|
|
218
|
+
it('[user-aware rooms] should NOT broadcast to a receiver in a different user room', async () => {
|
|
219
|
+
const { outsiderReceivedBroadcast } = await e2e_setup_1.server.emitWithRoomsBroadcast('delete-one-rb-item', { id: existingItem.id }, { accessToken }, {
|
|
220
|
+
receiverAccessToken: accessToken,
|
|
221
|
+
rooms: 'user-anonymous',
|
|
222
|
+
broadcastEvent: 'delete-one-rb-item',
|
|
223
|
+
timeoutMs: 3000,
|
|
224
|
+
}).catch(() => ({ response: undefined, outsiderReceivedBroadcast: false }));
|
|
225
|
+
expect(outsiderReceivedBroadcast).toBe(false);
|
|
226
|
+
});
|
|
227
|
+
});
|
|
191
228
|
});
|
|
192
229
|
//# sourceMappingURL=room-broadcast.e2e-spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room-broadcast.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-feature/room-broadcast.e2e-spec.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,+CAAgD;AAChD,uCAAgD;AAChD,mCAAyD;AACzD,4CAMsB;AACtB,yBAAuB;AACvB,oCAA8C;AAC9C,sCAAoC;AAEpC,QAAQ,CAAC,6DAA6D,EAAE,GAAG,EAAE;IAE3E,UAAU,CAAC,GAAG,EAAE;QACd,sBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,IAAA,2BAAe,EAAC,kBAAQ,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAKH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,gBAAU;KAMpC,CAAA;IAJC;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACzB;IAGd;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACtB;IALb,YAAY;QADjB,IAAA,iBAAM,EAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;OAC7B,YAAY,CAMjB;IAGD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,gBAAU;
|
|
1
|
+
{"version":3,"file":"room-broadcast.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-feature/room-broadcast.e2e-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websockets.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-feature/websockets.e2e-spec.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,+CAAgD;AAChD,uCAAgD;AAChD,mCAGmB;AACnB,4CAKsB;AACtB,yBAAuB;AACvB,oCAA8C;AAC9C,sCAAoC;AAEpC,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAE9D,UAAU,CAAC,GAAG,EAAE;QACd,sBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,IAAA,2BAAe,EAAC,kBAAQ,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAGH,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,gBAAU;KASlC,CAAA;IAPC;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACzB;IAGd;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACtB;IAGjB;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;+CACtB;IARd,UAAU;QADf,IAAA,iBAAM,EAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;OAC1B,UAAU,CASf;IAGD,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,gBAAU;KASrC,CAAA;IAPC;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC1B;IAGb;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;kDACvB;IAGjB;QADC,IAAA,eAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDACP;IARZ,aAAa;QADlB,IAAA,iBAAM,EAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;OAC7B,aAAa,CASlB;IAED,MAAM,WAAW,GAAG,sBAAsB,CAAC;IAC3C,IAAI,gBAAwB,CAAC;IAC7B,IAAI,eAAuB,CAAC;IAC5B,IAAI,YAA2B,CAAC;IAChC,IAAI,aAA4B,CAAC;IAEjC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAa,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAkB,EAAC,aAAa,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,UAAU,CAAC;gBACrB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;gBAC/B,EAAE,IAAI,EAAE,SAAS,EAAE;aACpB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,EAAE;gBACxC,YAAY,GAAG,WAAuC,CAAC;gBACvD,aAAa,GAAG,cAA0C,CAAC;YAC7D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,IAAA,gBAAO,EACX;YACE,MAAM,EAAE,aAAa;YACrB,iBAAiB,EAAE;gBACjB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,UAAU;aACjB;YACD,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnC;oBACE,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE;wBACT,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"websockets.e2e-spec.js","sourceRoot":"","sources":["../../../libs/dynamic-api/test/for-feature/websockets.e2e-spec.ts"],"names":[],"mappings":"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"}
|