@mulingai-npm/redis 1.2.8 → 1.2.10

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.
@@ -19,4 +19,6 @@ export declare class MulingstreamListenerManager {
19
19
  getListener(listenerIdOrToken: string): Promise<MulingstreamListenerData | null>;
20
20
  removeListenerByToken(token: string): Promise<boolean>;
21
21
  updateNameLanguage(listenerIdOrToken: string, name: string, language: string): Promise<boolean>;
22
+ updateSocketId(listenerIdOrToken: string, socketId: string): Promise<boolean>;
23
+ getTargetSocketIdsByRoomLanguage(roomId: string, language: string): Promise<string[]>;
22
24
  }
@@ -114,5 +114,23 @@ class MulingstreamListenerManager {
114
114
  });
115
115
  return true;
116
116
  }
117
+ async updateSocketId(listenerIdOrToken, socketId) {
118
+ const listener = await this.getListener(listenerIdOrToken);
119
+ if (!listener) {
120
+ return false;
121
+ }
122
+ // Update the name/language on the listener’s hash key
123
+ await this.redisClient.hset(`listener:${listener.listenerId}`, {
124
+ socketId
125
+ });
126
+ return true;
127
+ }
128
+ async getTargetSocketIdsByRoomLanguage(roomId, language) {
129
+ const listeners = await this.getListenersByRoom(roomId);
130
+ const filteredListeners = listeners.filter((listener) => {
131
+ return listener.isActive === true && listener.language === language && listener.socketId && listener.socketId.trim() !== '';
132
+ });
133
+ return filteredListeners.map((listener) => listener.socketId);
134
+ }
117
135
  }
118
136
  exports.MulingstreamListenerManager = MulingstreamListenerManager;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mulingai-npm/redis",
3
- "version": "1.2.8",
3
+ "version": "1.2.10",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "repository": {