shuttlepro-shared 1.2.39 → 1.2.41
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.
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
const { UserRole } = require("../../models/UserRole");
|
|
2
|
-
const {
|
|
3
|
-
getDataFromRedisSet,
|
|
4
|
-
addArrayToRedisSet,
|
|
5
|
-
} = require("../../config/redis");
|
|
2
|
+
const { getRedisData, setRedisData } = require("../../config/redis");
|
|
6
3
|
|
|
7
4
|
const defaultSelect =
|
|
8
5
|
"iconUrl thumbUrl name productsCount ordersCount contact email address websiteUrl facebookUrl twitterUrl instagramUrl members defaultModule";
|
|
@@ -13,7 +10,12 @@ const CACHE_KEY_USER_WORKSPACE_PREFIX = "userrole_workspace_";
|
|
|
13
10
|
|
|
14
11
|
// Clear user workspace cache
|
|
15
12
|
const clearUserWorkspaceCache = async (userId) => {
|
|
16
|
-
await
|
|
13
|
+
await setRedisData(
|
|
14
|
+
`${CACHE_KEY_USER_WORKSPACE_PREFIX}${userId}`,
|
|
15
|
+
null,
|
|
16
|
+
null,
|
|
17
|
+
0
|
|
18
|
+
);
|
|
17
19
|
};
|
|
18
20
|
|
|
19
21
|
// Get cached members
|
|
@@ -23,7 +25,7 @@ const getCachedMembers = async (filter = {}) => {
|
|
|
23
25
|
? `${CACHE_KEY_ALL_MEMBERS}_${JSON.stringify(filter)}`
|
|
24
26
|
: CACHE_KEY_ALL_MEMBERS;
|
|
25
27
|
|
|
26
|
-
let members = await
|
|
28
|
+
let members = await getRedisData(cacheKey);
|
|
27
29
|
|
|
28
30
|
if (!members) {
|
|
29
31
|
members = await UserRole.find(filter)
|
|
@@ -41,7 +43,7 @@ const getCachedMembers = async (filter = {}) => {
|
|
|
41
43
|
.lean()
|
|
42
44
|
.exec();
|
|
43
45
|
|
|
44
|
-
await
|
|
46
|
+
await setRedisData(cacheKey, members, null, 0);
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
return members;
|
|
@@ -69,7 +71,7 @@ const updateCachedMembers = async (filter = {}) => {
|
|
|
69
71
|
.lean()
|
|
70
72
|
.exec();
|
|
71
73
|
|
|
72
|
-
await
|
|
74
|
+
await setRedisData(cacheKey, members, null, 0);
|
|
73
75
|
return members;
|
|
74
76
|
};
|
|
75
77
|
|
|
@@ -123,10 +125,8 @@ const deleteUserRole = async (id) => {
|
|
|
123
125
|
|
|
124
126
|
const findUserWorkspaces = async (userId) => {
|
|
125
127
|
const cacheKey = `${CACHE_KEY_USER_WORKSPACE_PREFIX}${userId}`;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
console.log(userRoleWithWorkspaces, "from cache");
|
|
129
|
-
if (!userRoleWithWorkspaces.length) {
|
|
128
|
+
let userRoleWithWorkspaces = await getRedisData(cacheKey);
|
|
129
|
+
if (!userRoleWithWorkspaces) {
|
|
130
130
|
userRoleWithWorkspaces = await UserRole.find({
|
|
131
131
|
userId: userId,
|
|
132
132
|
})
|
|
@@ -152,8 +152,8 @@ const findUserWorkspaces = async (userId) => {
|
|
|
152
152
|
permissions: ur?.roleId?.modulePermissions?.modules || [],
|
|
153
153
|
};
|
|
154
154
|
});
|
|
155
|
-
if (userRoleWithWorkspaces
|
|
156
|
-
await
|
|
155
|
+
if (userRoleWithWorkspaces) {
|
|
156
|
+
await setRedisData(cacheKey, userRoleWithWorkspaces, null, 0);
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
return userRoleWithWorkspaces;
|
package/config/redis.js
CHANGED
|
@@ -104,39 +104,6 @@ const addDataToRedisSet = async (key, value) => {
|
|
|
104
104
|
}
|
|
105
105
|
};
|
|
106
106
|
|
|
107
|
-
const addArrayToRedisSet = async (key, value) => {
|
|
108
|
-
try {
|
|
109
|
-
await connectRedis();
|
|
110
|
-
const arr = Array.isArray(value) ? value : [value];
|
|
111
|
-
console.log(arr, "arr");
|
|
112
|
-
const stringifiedArr = arr.map((item) => JSON.stringify(item));
|
|
113
|
-
await client.sAdd(key, ...stringifiedArr);
|
|
114
|
-
return true;
|
|
115
|
-
} catch (err) {
|
|
116
|
-
console.error("Add Error:", err);
|
|
117
|
-
return false;
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
const getDataFromRedisSet = async (key) => {
|
|
122
|
-
try {
|
|
123
|
-
await connectRedis();
|
|
124
|
-
const values = await client.sMembers(key);
|
|
125
|
-
|
|
126
|
-
// Parse each stringified JSON back to object
|
|
127
|
-
return values.map((item) => {
|
|
128
|
-
try {
|
|
129
|
-
return JSON.parse(item);
|
|
130
|
-
} catch (e) {
|
|
131
|
-
return item; // fallback in case it's not JSON
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
} catch (err) {
|
|
135
|
-
console.error("Get Error:", err);
|
|
136
|
-
return [];
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
|
|
140
107
|
const removeDataFromRedisSet = async (key, value) => {
|
|
141
108
|
try {
|
|
142
109
|
await connectRedis();
|
|
@@ -221,6 +188,4 @@ module.exports = {
|
|
|
221
188
|
addDataToRedisSet,
|
|
222
189
|
removeDataFromRedisSet,
|
|
223
190
|
isMemberOfRedisSet,
|
|
224
|
-
getDataFromRedisSet,
|
|
225
|
-
addArrayToRedisSet,
|
|
226
191
|
};
|