|
@@ -1,48 +1,48 @@
|
|
|
-import { pubClient } from "../connection/redis.js";
|
|
|
-
|
|
|
-const prefix = process.env.REDIS_PREFIX || "chat";
|
|
|
-
|
|
|
-const getInKey = (realKey) => {
|
|
|
- return `${prefix}:${realKey}`;
|
|
|
-};
|
|
|
-const setRoomConfig = (roomId, config) => {
|
|
|
- const roomConfigKey = `config:${roomId}`;
|
|
|
- // console.log("roomConfigKey", roomConfigKey);
|
|
|
- // Object.keys(config).forEach((item) => {
|
|
|
- // console.log("item", item, config[item]);
|
|
|
- // // pubClient.set(roomConfigKey, item, config[item]);// 旧版
|
|
|
- // });
|
|
|
- pubClient.hSet(getInKey(roomConfigKey), config); // 5.0 可以用hash set
|
|
|
-};
|
|
|
-const removeRoomConfig = (roomId, config) => {
|
|
|
- const roomConfigKey = `config:${roomId}`;
|
|
|
- return pubClient.del(getInKey(roomConfigKey));
|
|
|
-};
|
|
|
-const getRoomConfig = (roomId, config) => {
|
|
|
- const roomConfigKey = `config:${roomId}`;
|
|
|
- return pubClient.hGetAll(getInKey(roomConfigKey));
|
|
|
-};
|
|
|
-const updateRoomConfigByKey = async (roomId, keyName, value) => {
|
|
|
- const roomConfigKey = `config:${roomId}`;
|
|
|
- const res = await pubClient.hGetAll(getInKey(roomConfigKey));
|
|
|
- const newKey = { [keyName]: value };
|
|
|
- const updateObj = Object.assign({}, res, newKey);
|
|
|
- return pubClient.hSet(getInKey(roomConfigKey), updateObj);
|
|
|
-};
|
|
|
-const isRoomMaster = async (roomId, userId) => {
|
|
|
- // const roomConfigKey = `config:${roomId}`;
|
|
|
- const res = await getRoomConfig(roomId);
|
|
|
-
|
|
|
- if (res) {
|
|
|
- console.log("isRoomMaster-res", userId);
|
|
|
- if (res.masterId == userId) {
|
|
|
- return Promise.resolve(true);
|
|
|
- } else {
|
|
|
- return Promise.resolve(false);
|
|
|
- }
|
|
|
- } else {
|
|
|
- return Promise.resolve(false);
|
|
|
- }
|
|
|
-};
|
|
|
-
|
|
|
-export { setRoomConfig, getRoomConfig, removeRoomConfig, updateRoomConfigByKey, isRoomMaster };
|
|
|
+import { pubClient } from "../connection/redis.js";
|
|
|
+
|
|
|
+const prefix = process.env.REDIS_PREFIX || "chat";
|
|
|
+
|
|
|
+const getInKey = (realKey) => {
|
|
|
+ return `${prefix}:${realKey}`;
|
|
|
+};
|
|
|
+const setRoomConfig = (roomId, config) => {
|
|
|
+ const roomConfigKey = `config:${roomId}`;
|
|
|
+ // console.log("roomConfigKey", roomConfigKey);
|
|
|
+ // Object.keys(config).forEach((item) => {
|
|
|
+ // console.log("item", item, config[item]);
|
|
|
+ // // pubClient.set(roomConfigKey, item, config[item]);// 旧版
|
|
|
+ // });
|
|
|
+ pubClient.hSet(getInKey(roomConfigKey), config); // 5.0 可以用hash set
|
|
|
+};
|
|
|
+const removeRoomConfig = (roomId, config) => {
|
|
|
+ const roomConfigKey = `config:${roomId}`;
|
|
|
+ return pubClient.del(getInKey(roomConfigKey));
|
|
|
+};
|
|
|
+const getRoomConfig = (roomId, config) => {
|
|
|
+ const roomConfigKey = `config:${roomId}`;
|
|
|
+ return pubClient.hGetAll(getInKey(roomConfigKey));
|
|
|
+};
|
|
|
+const updateRoomConfigByKey = async (roomId, keyName, value) => {
|
|
|
+ const roomConfigKey = `config:${roomId}`;
|
|
|
+ const res = await pubClient.hGetAll(getInKey(roomConfigKey));
|
|
|
+ const newKey = { [keyName]: value };
|
|
|
+ const updateObj = Object.assign({}, res, newKey);
|
|
|
+ return pubClient.hSet(getInKey(roomConfigKey), updateObj);
|
|
|
+};
|
|
|
+const isRoomMaster = async (roomId, userId) => {
|
|
|
+ // const roomConfigKey = `config:${roomId}`;
|
|
|
+ const res = await getRoomConfig(roomId);
|
|
|
+
|
|
|
+ if (res) {
|
|
|
+ console.log("isRoomMaster-res",res.masterId, userId);
|
|
|
+ if (res.masterId == userId) {
|
|
|
+ return Promise.resolve(true);
|
|
|
+ } else {
|
|
|
+ return Promise.resolve(false);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return Promise.resolve(false);
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+export { setRoomConfig, getRoomConfig, removeRoomConfig, updateRoomConfigByKey, isRoomMaster };
|