shuttlepro-shared 1.2.38 → 1.2.40

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 addArrayToRedisSet(`${CACHE_KEY_USER_WORKSPACE_PREFIX}${userId}`, null);
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 getDataFromRedisSet(cacheKey);
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 addArrayToRedisSet(cacheKey, members);
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 addArrayToRedisSet(cacheKey, members);
74
+ await setRedisData(cacheKey, members, null, 0);
73
75
  return members;
74
76
  };
75
77
 
@@ -123,9 +125,7 @@ const deleteUserRole = async (id) => {
123
125
 
124
126
  const findUserWorkspaces = async (userId) => {
125
127
  const cacheKey = `${CACHE_KEY_USER_WORKSPACE_PREFIX}${userId}`;
126
- console.log(cacheKey, "cacheKey");
127
- let userRoleWithWorkspaces = await getDataFromRedisSet(cacheKey);
128
- console.log(userRoleWithWorkspaces, "from cache");
128
+ let userRoleWithWorkspaces = await getRedisData(cacheKey);
129
129
  if (!userRoleWithWorkspaces.length) {
130
130
  userRoleWithWorkspaces = await UserRole.find({
131
131
  userId: userId,
@@ -143,16 +143,17 @@ const findUserWorkspaces = async (userId) => {
143
143
  })
144
144
  .lean()
145
145
  .exec();
146
- if (userRoleWithWorkspaces) {
147
- await addArrayToRedisSet(
148
- cacheKey,
149
- userRoleWithWorkspaces?.map((x) => {
150
- return {
151
- ...x,
152
- _id: x?._id?.toString(),
153
- };
154
- })
155
- );
146
+ userRoleWithWorkspaces = userRoleWithWorkspaces.map((ur) => {
147
+ return {
148
+ ...ur?.workspaceId,
149
+ id: ur?.workspaceId?._id?.toString(),
150
+ _id: ur?.workspaceId?._id?.toString(),
151
+ role: ur?.roleId?.name || "",
152
+ permissions: ur?.roleId?.modulePermissions?.modules || [],
153
+ };
154
+ });
155
+ if (userRoleWithWorkspaces.length) {
156
+ await setRedisData(cacheKey, userRoleWithWorkspaces, null, 0);
156
157
  }
157
158
  }
158
159
  return userRoleWithWorkspaces;
package/config/redis.js CHANGED
@@ -104,46 +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
-
111
- const arr = Array.isArray(value) ? value : [value];
112
-
113
- console.log(arr, "arr");
114
-
115
- // Convert each item to string (usually JSON)
116
- const stringifiedArr = arr.map((item) => JSON.stringify(item));
117
-
118
- console.log(stringifiedArr, "stringifiedArr");
119
-
120
- await client.sAdd(key, ...stringifiedArr);
121
- return true;
122
- } catch (err) {
123
- console.error("Add Error:", err);
124
- return false;
125
- }
126
- };
127
-
128
- const getDataFromRedisSet = async (key) => {
129
- try {
130
- await connectRedis();
131
- const values = await client.sMembers(key);
132
-
133
- // Parse each stringified JSON back to object
134
- return values.map((item) => {
135
- try {
136
- return JSON.parse(item);
137
- } catch (e) {
138
- return item; // fallback in case it's not JSON
139
- }
140
- });
141
- } catch (err) {
142
- console.error("Get Error:", err);
143
- return [];
144
- }
145
- };
146
-
147
107
  const removeDataFromRedisSet = async (key, value) => {
148
108
  try {
149
109
  await connectRedis();
@@ -228,6 +188,4 @@ module.exports = {
228
188
  addDataToRedisSet,
229
189
  removeDataFromRedisSet,
230
190
  isMemberOfRedisSet,
231
- getDataFromRedisSet,
232
- addArrayToRedisSet,
233
191
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shuttlepro-shared",
3
- "version": "1.2.38",
3
+ "version": "1.2.40",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {