mormati-redis 0.1.4 → 0.1.6

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.
Files changed (31) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/modules/broadcast/broadcast.const.d.ts +3 -0
  5. package/dist/modules/broadcast/broadcast.const.js +7 -0
  6. package/dist/modules/broadcast/broadcast.const.js.map +1 -0
  7. package/dist/modules/broadcast/broadcast.controller.d.ts +8 -0
  8. package/dist/modules/broadcast/broadcast.controller.js +43 -0
  9. package/dist/modules/broadcast/broadcast.controller.js.map +1 -0
  10. package/dist/modules/broadcast/broadcast.module.d.ts +2 -0
  11. package/dist/modules/broadcast/broadcast.module.js +24 -0
  12. package/dist/modules/broadcast/broadcast.module.js.map +1 -0
  13. package/dist/modules/broadcast/broadcast.type.d.ts +20 -0
  14. package/dist/modules/broadcast/broadcast.type.js +3 -0
  15. package/dist/modules/broadcast/broadcast.type.js.map +1 -0
  16. package/dist/modules/broadcast/index.d.ts +6 -0
  17. package/dist/modules/broadcast/index.js +23 -0
  18. package/dist/modules/broadcast/index.js.map +1 -0
  19. package/dist/modules/broadcast/publish.service.d.ts +18 -0
  20. package/dist/modules/broadcast/publish.service.js +122 -0
  21. package/dist/modules/broadcast/publish.service.js.map +1 -0
  22. package/dist/modules/broadcast/subscribe.service.d.ts +15 -0
  23. package/dist/modules/broadcast/subscribe.service.js +118 -0
  24. package/dist/modules/broadcast/subscribe.service.js.map +1 -0
  25. package/dist/modules/cache/cache.controller.js +1 -1
  26. package/dist/modules/cache/cache.controller.js.map +1 -1
  27. package/dist/modules/redis/redis.service.d.ts +1 -0
  28. package/dist/modules/redis/redis.service.js +3 -0
  29. package/dist/modules/redis/redis.service.js.map +1 -1
  30. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  31. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -3,4 +3,5 @@ export { RedisConnection } from './modules/redis/redis.connection';
3
3
  export { RedisService } from './modules/redis/redis.service';
4
4
  export { IRedisModuleAsyncOptions } from './modules/redis/redis.type';
5
5
  export * from './modules/cache';
6
+ export * from './modules/broadcast';
6
7
  export { REDIS_CONFIG_SERVICE } from './const';
package/dist/index.js CHANGED
@@ -22,6 +22,7 @@ Object.defineProperty(exports, "RedisConnection", { enumerable: true, get: funct
22
22
  var redis_service_1 = require("./modules/redis/redis.service");
23
23
  Object.defineProperty(exports, "RedisService", { enumerable: true, get: function () { return redis_service_1.RedisService; } });
24
24
  __exportStar(require("./modules/cache"), exports);
25
+ __exportStar(require("./modules/broadcast"), exports);
25
26
  var const_1 = require("./const");
26
27
  Object.defineProperty(exports, "REDIS_CONFIG_SERVICE", { enumerable: true, get: function () { return const_1.REDIS_CONFIG_SERVICE; } });
27
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/redis/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,6DAA2D;AAAlD,2GAAA,WAAW,OAAA;AACpB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AACxB,+DAA6D;AAApD,6GAAA,YAAY,OAAA;AAGrB,kDAAgC;AAGhC,iCAEiB;AADb,6GAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/redis/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,6DAA2D;AAAlD,2GAAA,WAAW,OAAA;AACpB,qEAAmE;AAA1D,mHAAA,eAAe,OAAA;AACxB,+DAA6D;AAApD,6GAAA,YAAY,OAAA;AAGrB,kDAAgC;AAEhC,sDAAoC;AAGpC,iCAEiB;AADb,6GAAA,oBAAoB,OAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const BROADCAST_CHANNEL = "websocket:broadcast";
2
+ export declare const BROADCAST_CHANNEL_ROOM = "websocket:broadcast:room";
3
+ export declare const BROADCAST_CHANNEL_USER = "websocket:broadcast:user";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BROADCAST_CHANNEL_USER = exports.BROADCAST_CHANNEL_ROOM = exports.BROADCAST_CHANNEL = void 0;
4
+ exports.BROADCAST_CHANNEL = 'websocket:broadcast';
5
+ exports.BROADCAST_CHANNEL_ROOM = 'websocket:broadcast:room';
6
+ exports.BROADCAST_CHANNEL_USER = 'websocket:broadcast:user';
7
+ //# sourceMappingURL=broadcast.const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast.const.js","sourceRoot":"","sources":["../../../../../libs/redis/src/modules/broadcast/broadcast.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,qBAAqB,CAAC;AAC1C,QAAA,sBAAsB,GAAG,0BAA0B,CAAC;AACpD,QAAA,sBAAsB,GAAG,0BAA0B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { PublishService } from './publish.service';
2
+ import { BroadcastStats } from './broadcast.type';
3
+ export declare class BroadcastController {
4
+ private readonly publishService;
5
+ constructor(publishService: PublishService);
6
+ getBroadcastStats(): BroadcastStats;
7
+ resetBroadcastStats(): BroadcastStats;
8
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BroadcastController = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const publish_service_1 = require("./publish.service");
15
+ let BroadcastController = class BroadcastController {
16
+ constructor(publishService) {
17
+ this.publishService = publishService;
18
+ }
19
+ getBroadcastStats() {
20
+ return this.publishService.getBroadcastStats();
21
+ }
22
+ resetBroadcastStats() {
23
+ return this.publishService.resetBroadcastStats();
24
+ }
25
+ };
26
+ exports.BroadcastController = BroadcastController;
27
+ __decorate([
28
+ (0, common_1.Get)('stats'),
29
+ __metadata("design:type", Function),
30
+ __metadata("design:paramtypes", []),
31
+ __metadata("design:returntype", Object)
32
+ ], BroadcastController.prototype, "getBroadcastStats", null);
33
+ __decorate([
34
+ (0, common_1.Get)('stats/reset'),
35
+ __metadata("design:type", Function),
36
+ __metadata("design:paramtypes", []),
37
+ __metadata("design:returntype", Object)
38
+ ], BroadcastController.prototype, "resetBroadcastStats", null);
39
+ exports.BroadcastController = BroadcastController = __decorate([
40
+ (0, common_1.Controller)('redis-broadcast'),
41
+ __metadata("design:paramtypes", [publish_service_1.PublishService])
42
+ ], BroadcastController);
43
+ //# sourceMappingURL=broadcast.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast.controller.js","sourceRoot":"","sources":["../../../../../libs/redis/src/modules/broadcast/broadcast.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAiD;AACjD,uDAAmD;AAI5C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAI,CAAC;IAOhE,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;IACjD,CAAC;IAOD,mBAAmB;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;IACnD,CAAC;CACF,CAAA;AApBY,kDAAmB;AAQ9B;IADC,IAAA,YAAG,EAAC,OAAO,CAAC;;;;4DAGZ;AAOD;IADC,IAAA,YAAG,EAAC,aAAa,CAAC;;;;8DAGlB;8BAnBU,mBAAmB;IAD/B,IAAA,mBAAU,EAAC,iBAAiB,CAAC;qCAEiB,gCAAc;GADhD,mBAAmB,CAoB/B"}
@@ -0,0 +1,2 @@
1
+ export declare class BroadcastModule {
2
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.BroadcastModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const publish_service_1 = require("./publish.service");
12
+ const subscribe_service_1 = require("./subscribe.service");
13
+ const broadcast_controller_1 = require("./broadcast.controller");
14
+ let BroadcastModule = class BroadcastModule {
15
+ };
16
+ exports.BroadcastModule = BroadcastModule;
17
+ exports.BroadcastModule = BroadcastModule = __decorate([
18
+ (0, common_1.Module)({
19
+ controllers: [broadcast_controller_1.BroadcastController],
20
+ providers: [publish_service_1.PublishService, subscribe_service_1.SubscribeService],
21
+ exports: [publish_service_1.PublishService, subscribe_service_1.SubscribeService],
22
+ })
23
+ ], BroadcastModule);
24
+ //# sourceMappingURL=broadcast.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast.module.js","sourceRoot":"","sources":["../../../../../libs/redis/src/modules/broadcast/broadcast.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uDAAmD;AACnD,2DAAuD;AACvD,iEAA6D;AAkDtD,IAAM,eAAe,GAArB,MAAM,eAAe;CAAI,CAAA;AAAnB,0CAAe;0BAAf,eAAe;IAL3B,IAAA,eAAM,EAAC;QACJ,WAAW,EAAE,CAAC,0CAAmB,CAAC;QAClC,SAAS,EAAE,CAAC,gCAAc,EAAE,oCAAgB,CAAC;QAC7C,OAAO,EAAE,CAAC,gCAAc,EAAE,oCAAgB,CAAC;KAC9C,CAAC;GACW,eAAe,CAAI"}
@@ -0,0 +1,20 @@
1
+ export interface BroadcastStats {
2
+ serverId: string;
3
+ publishedTotal: number;
4
+ publishedToBroadcast: number;
5
+ publishedToUser: number;
6
+ publishedToRoom: number;
7
+ publishedError: number;
8
+ }
9
+ export interface BroadcastMessage {
10
+ timestamp: number;
11
+ serverId: string;
12
+ event: string;
13
+ data: any;
14
+ }
15
+ export interface BroadcastUserMessage extends BroadcastMessage {
16
+ userId: string;
17
+ }
18
+ export interface BroadcastRoomMessage extends BroadcastMessage {
19
+ room: string;
20
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=broadcast.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast.type.js","sourceRoot":"","sources":["../../../../../libs/redis/src/modules/broadcast/broadcast.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export * from './broadcast.module';
2
+ export * from './broadcast.controller';
3
+ export * from './publish.service';
4
+ export * from './subscribe.service';
5
+ export * from './broadcast.const';
6
+ export * from './broadcast.type';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./broadcast.module"), exports);
18
+ __exportStar(require("./broadcast.controller"), exports);
19
+ __exportStar(require("./publish.service"), exports);
20
+ __exportStar(require("./subscribe.service"), exports);
21
+ __exportStar(require("./broadcast.const"), exports);
22
+ __exportStar(require("./broadcast.type"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/redis/src/modules/broadcast/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,yDAAuC;AACvC,oDAAkC;AAClC,sDAAoC;AACpC,oDAAkC;AAClC,mDAAiC"}
@@ -0,0 +1,18 @@
1
+ import { RedisService } from '../redis/redis.service';
2
+ import { BroadcastStats } from './broadcast.type';
3
+ export declare class PublishService {
4
+ private readonly redisService;
5
+ private readonly serverId;
6
+ private publishedTotal;
7
+ private publishedToBroadcast;
8
+ private publishedToUser;
9
+ private publishedToRoom;
10
+ private publishedError;
11
+ constructor(redisService: RedisService);
12
+ broadcastToAll(event: string, data: any): Promise<boolean>;
13
+ broadcastToRoom(room: string, event: string, data: any): Promise<boolean>;
14
+ broadcastToUser(userId: string, event: string, data: any): Promise<boolean>;
15
+ getServerId(): string;
16
+ getBroadcastStats(): BroadcastStats;
17
+ resetBroadcastStats(): BroadcastStats;
18
+ }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PublishService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const redis_service_1 = require("../redis/redis.service");
15
+ const broadcast_const_1 = require("./broadcast.const");
16
+ let PublishService = class PublishService {
17
+ constructor(redisService) {
18
+ this.redisService = redisService;
19
+ this.publishedTotal = 0;
20
+ this.publishedToBroadcast = 0;
21
+ this.publishedToUser = 0;
22
+ this.publishedToRoom = 0;
23
+ this.publishedError = 0;
24
+ this.serverId = `server-${process.pid}-${Date.now()}`;
25
+ }
26
+ async broadcastToAll(event, data) {
27
+ try {
28
+ const message = {
29
+ timestamp: Date.now(),
30
+ serverId: this.serverId,
31
+ event: event,
32
+ data: data,
33
+ };
34
+ const serialized = JSON.stringify(message);
35
+ await this.redisService.publish(broadcast_const_1.BROADCAST_CHANNEL, serialized);
36
+ this.publishedTotal++;
37
+ this.publishedToBroadcast++;
38
+ return true;
39
+ }
40
+ catch (error) {
41
+ console.log("## Error: 'broadcastToAll' in PublishService", error);
42
+ this.publishedError++;
43
+ return false;
44
+ }
45
+ }
46
+ async broadcastToRoom(room, event, data) {
47
+ try {
48
+ const message = {
49
+ timestamp: Date.now(),
50
+ serverId: this.serverId,
51
+ event,
52
+ room,
53
+ data,
54
+ };
55
+ const serialized = JSON.stringify(message);
56
+ await this.redisService.publish(broadcast_const_1.BROADCAST_CHANNEL_ROOM, serialized);
57
+ this.publishedTotal++;
58
+ this.publishedToRoom++;
59
+ return true;
60
+ }
61
+ catch (error) {
62
+ console.log("## Error: 'broadcastToRoom' in PublishService", error);
63
+ this.publishedError++;
64
+ return false;
65
+ }
66
+ }
67
+ async broadcastToUser(userId, event, data) {
68
+ try {
69
+ const message = {
70
+ timestamp: Date.now(),
71
+ serverId: this.serverId,
72
+ event,
73
+ userId,
74
+ data,
75
+ };
76
+ const serialized = JSON.stringify(message);
77
+ await this.redisService.publish(broadcast_const_1.BROADCAST_CHANNEL_USER, serialized);
78
+ this.publishedTotal++;
79
+ this.publishedToUser++;
80
+ return true;
81
+ }
82
+ catch (error) {
83
+ console.log("## Error: 'broadcastToUser' in PublishService", error);
84
+ this.publishedError++;
85
+ return false;
86
+ }
87
+ }
88
+ getServerId() {
89
+ return this.serverId;
90
+ }
91
+ getBroadcastStats() {
92
+ return {
93
+ serverId: this.getServerId(),
94
+ publishedTotal: this.publishedTotal,
95
+ publishedToBroadcast: this.publishedToBroadcast,
96
+ publishedToUser: this.publishedToUser,
97
+ publishedToRoom: this.publishedToRoom,
98
+ publishedError: this.publishedError,
99
+ };
100
+ }
101
+ resetBroadcastStats() {
102
+ this.publishedTotal = 0;
103
+ this.publishedToBroadcast = 0;
104
+ this.publishedToUser = 0;
105
+ this.publishedToRoom = 0;
106
+ this.publishedError = 0;
107
+ return {
108
+ serverId: this.getServerId(),
109
+ publishedTotal: this.publishedTotal,
110
+ publishedToBroadcast: this.publishedToBroadcast,
111
+ publishedToUser: this.publishedToUser,
112
+ publishedToRoom: this.publishedToRoom,
113
+ publishedError: this.publishedError,
114
+ };
115
+ }
116
+ };
117
+ exports.PublishService = PublishService;
118
+ exports.PublishService = PublishService = __decorate([
119
+ (0, common_1.Injectable)(),
120
+ __metadata("design:paramtypes", [redis_service_1.RedisService])
121
+ ], PublishService);
122
+ //# sourceMappingURL=publish.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.service.js","sourceRoot":"","sources":["../../../../../libs/redis/src/modules/broadcast/publish.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Server } from 'socket.io';
2
+ import { OnModuleInit, OnModuleDestroy } from '@nestjs/common';
3
+ import { RedisConnection } from '../redis/redis.connection';
4
+ export declare class SubscribeService implements OnModuleInit, OnModuleDestroy {
5
+ private readonly redisConnection;
6
+ private server;
7
+ private readonly subscriber;
8
+ constructor(redisConnection: RedisConnection);
9
+ onModuleInit(): Promise<void>;
10
+ onModuleDestroy(): Promise<void>;
11
+ setServer(server: Server): void;
12
+ private handleBroadcastMessage;
13
+ private handleBroadcastRoomMessage;
14
+ private handleUserBroadcastMessage;
15
+ }
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SubscribeService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const redis_connection_1 = require("../redis/redis.connection");
15
+ const broadcast_const_1 = require("./broadcast.const");
16
+ let SubscribeService = class SubscribeService {
17
+ constructor(redisConnection) {
18
+ this.redisConnection = redisConnection;
19
+ console.log('[SubscribeService] Redis Pub/Sub Connection Initializing..');
20
+ this.subscriber = this.redisConnection.getClient().duplicate();
21
+ console.log('[SubscribeService] Redis Pub/Sub Connection Initialized!');
22
+ }
23
+ async onModuleInit() {
24
+ const SUBSCRIBE_CHANNELS = [
25
+ broadcast_const_1.BROADCAST_CHANNEL,
26
+ broadcast_const_1.BROADCAST_CHANNEL_ROOM,
27
+ broadcast_const_1.BROADCAST_CHANNEL_USER
28
+ ];
29
+ console.log('[SubscribeService] Redis Pub/Sub Channels Subscribing..', SUBSCRIBE_CHANNELS);
30
+ await this.subscriber.subscribe(...SUBSCRIBE_CHANNELS);
31
+ this.subscriber.on('message', (channel, message) => {
32
+ switch (channel) {
33
+ case broadcast_const_1.BROADCAST_CHANNEL:
34
+ this.handleBroadcastMessage(message);
35
+ break;
36
+ case broadcast_const_1.BROADCAST_CHANNEL_USER:
37
+ this.handleUserBroadcastMessage(message);
38
+ break;
39
+ case broadcast_const_1.BROADCAST_CHANNEL_ROOM:
40
+ this.handleBroadcastRoomMessage(message);
41
+ break;
42
+ default:
43
+ console.log('[SubscribeService] Redis Pub/Sub Unhandled incoming message', { channel, message });
44
+ }
45
+ });
46
+ console.log('[SubscribeService] Redis Pub/Sub Channels Subscribed!');
47
+ }
48
+ async onModuleDestroy() {
49
+ const UNSUBSCRIBE_CHANNELS = [
50
+ broadcast_const_1.BROADCAST_CHANNEL,
51
+ broadcast_const_1.BROADCAST_CHANNEL_ROOM,
52
+ broadcast_const_1.BROADCAST_CHANNEL_USER
53
+ ];
54
+ console.log('[SubscribeService] Redis Pub/Sub Channels Unsubscribing..', UNSUBSCRIBE_CHANNELS);
55
+ await this.subscriber.unsubscribe(...UNSUBSCRIBE_CHANNELS);
56
+ await this.subscriber.quit();
57
+ console.log('[SubscribeService] Redis Pub/Sub Channels Unsubscribed!');
58
+ }
59
+ setServer(server) {
60
+ console.log('[SubscribeService] Redis Pub/Sub + WebSocket server Attaching..');
61
+ this.server = server;
62
+ console.log('[SubscribeService] Redis Pub/Sub + WebSocket server Attached!');
63
+ }
64
+ handleBroadcastMessage(message) {
65
+ try {
66
+ if (!this.server) {
67
+ console.log('[SubscribeService] Redis Pub/Sub + WebSocket server Not Attached, skipping broadcast! [1]');
68
+ return;
69
+ }
70
+ const parsed = JSON.parse(message);
71
+ const { event, data } = parsed;
72
+ this.server.emit(event, data);
73
+ console.log(`[SubscribeService] Redis Pub/Sub Broadcasting to WebSocket! [Event: ${event}]`);
74
+ }
75
+ catch (error) {
76
+ console.log(`[SubscribeService] Error while Redis Pub/Sub Broadcasting to WebSocket [1]'`, error);
77
+ }
78
+ }
79
+ handleBroadcastRoomMessage(message) {
80
+ try {
81
+ if (!this.server) {
82
+ console.log('[SubscribeService] Redis Pub/Sub + WebSocket server Not Attached, skipping broadcast! [2]');
83
+ return;
84
+ }
85
+ const parsed = JSON.parse(message);
86
+ const { room, event, data } = parsed;
87
+ this.server.to(room).emit(event, data);
88
+ console.log(`[SubscribeService] Redis Pub/Sub Broadcasting to WebSocket! [Event: ${event}] [Room: ${room}]`);
89
+ }
90
+ catch (error) {
91
+ console.log(`[SubscribeService] Error while Redis Pub/Sub Broadcasting to WebSocket [2]'`, error);
92
+ }
93
+ }
94
+ handleUserBroadcastMessage(message) {
95
+ try {
96
+ if (!this.server) {
97
+ console.log('[SubscribeService] Redis Pub/Sub + WebSocket server Not Attached, skipping broadcast! [3]');
98
+ return;
99
+ }
100
+ const parsed = JSON.parse(message);
101
+ const { userId, event, data } = parsed;
102
+ const sockets = Array.from(this.server.sockets.sockets.values());
103
+ sockets
104
+ .filter((socket) => socket.data.userId === userId)
105
+ .forEach((socket) => socket.emit(event, data));
106
+ console.log(`[SubscribeService] Redis Pub/Sub Broadcasting to WebSocket! [Event: ${event}] [User: ${userId}]`);
107
+ }
108
+ catch (error) {
109
+ console.log(`[SubscribeService] Error while Redis Pub/Sub Broadcasting to WebSocket [3]'`, error);
110
+ }
111
+ }
112
+ };
113
+ exports.SubscribeService = SubscribeService;
114
+ exports.SubscribeService = SubscribeService = __decorate([
115
+ (0, common_1.Injectable)(),
116
+ __metadata("design:paramtypes", [redis_connection_1.RedisConnection])
117
+ ], SubscribeService);
118
+ //# sourceMappingURL=subscribe.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribe.service.js","sourceRoot":"","sources":["../../../../../libs/redis/src/modules/broadcast/subscribe.service.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ __decorate([
41
41
  __metadata("design:returntype", Object)
42
42
  ], CacheController.prototype, "resetCacheStats", null);
43
43
  exports.CacheController = CacheController = __decorate([
44
- (0, common_1.Controller)('cache'),
44
+ (0, common_1.Controller)('redis-cache'),
45
45
  __metadata("design:paramtypes", [cache_service_1.CacheService])
46
46
  ], CacheController);
47
47
  //# sourceMappingURL=cache.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.controller.js","sourceRoot":"","sources":["../../../../../libs/redis/src/modules/cache/cache.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAuD;AACvD,mDAA+C;AAIxC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAO3D,aAAa;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC;IAOD,eAAe;QACb,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,+CAA+C;YACxD,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;SACzC,CAAC;IACJ,CAAC;CACF,CAAA;AAxBY,0CAAe;AAQ1B;IADC,IAAA,YAAG,EAAC,OAAO,CAAC;;;;oDAGZ;AAOD;IADC,IAAA,YAAG,EAAC,aAAa,CAAC;;;;sDAOlB;0BAvBU,eAAe;IAD3B,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAEyB,4BAAY;GAD5C,eAAe,CAwB3B"}
1
+ {"version":3,"file":"cache.controller.js","sourceRoot":"","sources":["../../../../../libs/redis/src/modules/cache/cache.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAuD;AACvD,mDAA+C;AAIxC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAO3D,aAAa;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC;IAOD,eAAe;QACb,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QACpC,OAAO;YACL,OAAO,EAAE,+CAA+C;YACxD,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;SACzC,CAAC;IACJ,CAAC;CACF,CAAA;AAxBY,0CAAe;AAQ1B;IADC,IAAA,YAAG,EAAC,OAAO,CAAC;;;;oDAGZ;AAOD;IADC,IAAA,YAAG,EAAC,aAAa,CAAC;;;;sDAOlB;0BAvBU,eAAe;IAD3B,IAAA,mBAAU,EAAC,aAAa,CAAC;qCAEmB,4BAAY;GAD5C,eAAe,CAwB3B"}
@@ -14,4 +14,5 @@ export declare class RedisService {
14
14
  hset(key: any, object: any): Promise<number>;
15
15
  hget(key: any, field: any): Promise<string>;
16
16
  hgetall(key: any): Promise<Record<string, string>>;
17
+ publish(channel: string, message: string): Promise<number>;
17
18
  }
@@ -55,6 +55,9 @@ let RedisService = class RedisService {
55
55
  async hgetall(key) {
56
56
  return await this.client.hgetall(key);
57
57
  }
58
+ async publish(channel, message) {
59
+ return await this.client.publish(channel, message);
60
+ }
58
61
  };
59
62
  exports.RedisService = RedisService;
60
63
  exports.RedisService = RedisService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"redis.service.js","sourceRoot":"","sources":["../../../../../libs/redis/src/modules/redis/redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAqD;AAG9C,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YACmB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAI3C,WAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;IAH9C,CAAC;IAUL,KAAK,CAAC,QAAQ,CAAC,GAAG;QAChB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAMD,KAAK,CAAC,IAAI,CAAC,GAAG;QACZ,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAOD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACvC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAMD,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAMD,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAOD,KAAK,CAAC,QAAQ,CAAC,GAAG;QAChB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAOD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAO;QAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,MAAM;YACR,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC;IACb,CAAC;IAOD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG;QACjB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAGD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM;QACpB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK;QACnB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG;QACf,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AA9FY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAGyB,kCAAe;GAFxC,YAAY,CA8FxB"}
1
+ {"version":3,"file":"redis.service.js","sourceRoot":"","sources":["../../../../../libs/redis/src/modules/redis/redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAqD;AAG9C,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YACmB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAI3C,WAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;IAH9C,CAAC;IAUL,KAAK,CAAC,QAAQ,CAAC,GAAG;QAChB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAMD,KAAK,CAAC,IAAI,CAAC,GAAG;QACZ,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAOD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACvC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAMD,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAMD,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAOD,KAAK,CAAC,QAAQ,CAAC,GAAG;QAChB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAOD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAO;QAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,MAAM;YACR,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC;IACb,CAAC;IAOD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG;QACjB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAGD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM;QACpB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK;QACnB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG;QACf,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAQD,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,OAAe;QAC5C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AAxGY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAGyB,kCAAe;GAFxC,YAAY,CAwGxB"}