shuttlepro-shared 1.2.53 → 1.2.55
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.
- package/common/repositories/index.js +3 -0
- package/common/repositories/userPermission.repository.js +10 -0
- package/common/repositories/userRepository.js +31 -0
- package/common/repositories/userRole.repository.js +30 -0
- package/common/repositories/userRolePermission.repository.js +59 -0
- package/models/Customer.js +1 -0
- package/models/Integration.js +1 -0
- package/package.json +2 -2
|
@@ -10,7 +10,9 @@ const socialMediaSettingRepository = require("./socialMediaSetting.repository");
|
|
|
10
10
|
const chatMemberRepository = require("./chatMember.repository");
|
|
11
11
|
const roleRepository = require("./role.repository");
|
|
12
12
|
const userPermissionRepository = require("./userPermission.repository");
|
|
13
|
+
const userRolePermissionRepository = require("./userRolePermission.repository");
|
|
13
14
|
const notificationSettingsRepository = require("./notificationSettings.repository");
|
|
15
|
+
|
|
14
16
|
exports.module = {
|
|
15
17
|
workspaceRepository,
|
|
16
18
|
integrationRepository,
|
|
@@ -25,4 +27,5 @@ exports.module = {
|
|
|
25
27
|
chatMemberRepository,
|
|
26
28
|
roleRepository,
|
|
27
29
|
userPermissionRepository,
|
|
30
|
+
userRolePermissionRepository,
|
|
28
31
|
};
|
|
@@ -202,6 +202,15 @@ const bulkCreateAndUpdateUserPermissions = async (operations) => {
|
|
|
202
202
|
return operations;
|
|
203
203
|
};
|
|
204
204
|
|
|
205
|
+
/**
|
|
206
|
+
* Insert multiple user permissions and update cache.
|
|
207
|
+
*/
|
|
208
|
+
const insertManyUserPermissions = async (permissionsArray) => {
|
|
209
|
+
const inserted = await UserPermission.insertMany(permissionsArray);
|
|
210
|
+
await updateCachedAllUserPermissions();
|
|
211
|
+
return inserted;
|
|
212
|
+
};
|
|
213
|
+
|
|
205
214
|
module.exports = {
|
|
206
215
|
createUserPermission,
|
|
207
216
|
findUserPermission,
|
|
@@ -215,4 +224,5 @@ module.exports = {
|
|
|
215
224
|
deleteUserPermissionsByFilter,
|
|
216
225
|
deleteAllUserPermissionsByWorkspace,
|
|
217
226
|
bulkCreateAndUpdateUserPermissions,
|
|
227
|
+
insertManyUserPermissions,
|
|
218
228
|
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const User = require("../../models/User");
|
|
2
|
+
|
|
3
|
+
const createUser = async (data) => {
|
|
4
|
+
const newUser = new User(data);
|
|
5
|
+
const savedUser = await newUser.save();
|
|
6
|
+
return savedUser;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const findUser = async (filter) => {
|
|
10
|
+
return await User.findOne(filter).exec();
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const updateUser = async (id, data) => {
|
|
14
|
+
const updatedUser = await User.findByIdAndUpdate(id, data, {
|
|
15
|
+
new: true,
|
|
16
|
+
}).exec();
|
|
17
|
+
|
|
18
|
+
return updatedUser;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const deleteUser = async (id) => {
|
|
22
|
+
const deletedUser = await User.findByIdAndDelete(id).exec();
|
|
23
|
+
return deletedUser;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
module.exports = {
|
|
27
|
+
createUser,
|
|
28
|
+
findUser,
|
|
29
|
+
updateUser,
|
|
30
|
+
deleteUser,
|
|
31
|
+
};
|
|
@@ -125,6 +125,11 @@ const updateUserRole = async (id, data) => {
|
|
|
125
125
|
return updatedRole;
|
|
126
126
|
};
|
|
127
127
|
|
|
128
|
+
const deleteUserRoleByFilter = async (filter) => {
|
|
129
|
+
const deletedRole = await UserRole.findOneAndDelete(filter).exec();
|
|
130
|
+
return deletedRole;
|
|
131
|
+
};
|
|
132
|
+
|
|
128
133
|
const deleteUserRole = async (id) => {
|
|
129
134
|
const role = await UserRole.findById(id).exec();
|
|
130
135
|
const userId = role?.userId;
|
|
@@ -340,13 +345,38 @@ const getChannelsPermissions = async (workspaceId, userId) => {
|
|
|
340
345
|
}
|
|
341
346
|
};
|
|
342
347
|
|
|
348
|
+
const findOneAndUpdateUserRole = async ({
|
|
349
|
+
workspaceId,
|
|
350
|
+
userId,
|
|
351
|
+
userShift,
|
|
352
|
+
role,
|
|
353
|
+
}) => {
|
|
354
|
+
const updatedRole = await UserRole.findOneAndUpdate(
|
|
355
|
+
{ workspaceId, userId },
|
|
356
|
+
{ $set: { userShift, role } },
|
|
357
|
+
{ new: true, upsert: false }
|
|
358
|
+
).exec();
|
|
359
|
+
|
|
360
|
+
if (updatedRole) {
|
|
361
|
+
await updateCachedMembers();
|
|
362
|
+
await clearUserWorkspaceCache(userId);
|
|
363
|
+
if (workspaceId) {
|
|
364
|
+
await clearUserPermissionsCache(workspaceId, userId);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
return updatedRole;
|
|
369
|
+
};
|
|
370
|
+
|
|
343
371
|
module.exports = {
|
|
344
372
|
createUserRole,
|
|
345
373
|
findUserRole,
|
|
346
374
|
updateUserRole,
|
|
375
|
+
deleteUserRoleByFilter,
|
|
347
376
|
deleteUserRole,
|
|
348
377
|
findUserWorkspaces,
|
|
349
378
|
getUserRoleWithPermissions,
|
|
350
379
|
getUserPermissions,
|
|
351
380
|
getChannelsPermissions,
|
|
381
|
+
findOneAndUpdateUserRole,
|
|
352
382
|
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
const DefaultRolePermission = require("../../models/DefaultRolePermission");
|
|
2
|
+
|
|
3
|
+
const createDefaultRolePermission = async (data) => {
|
|
4
|
+
const newPermission = new DefaultRolePermission(data);
|
|
5
|
+
const savedPermission = await newPermission.save();
|
|
6
|
+
return savedPermission;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const findDefaultRolePermission = async (filter) => {
|
|
10
|
+
return await DefaultRolePermission.findOne(filter).exec();
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const findAllDefaultRolePermissions = async (filter = {}) => {
|
|
14
|
+
return await DefaultRolePermission.find(filter).exec();
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const updateDefaultRolePermission = async (id, data) => {
|
|
18
|
+
const updatedPermission = await DefaultRolePermission.findByIdAndUpdate(
|
|
19
|
+
id,
|
|
20
|
+
data,
|
|
21
|
+
{
|
|
22
|
+
new: true,
|
|
23
|
+
}
|
|
24
|
+
).exec();
|
|
25
|
+
return updatedPermission;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const deleteDefaultRolePermission = async (id) => {
|
|
29
|
+
const deletedPermission = await DefaultRolePermission.findByIdAndDelete(
|
|
30
|
+
id
|
|
31
|
+
).exec();
|
|
32
|
+
return deletedPermission;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const deleteDefaultRolePermissionsByFilter = async (filter) => {
|
|
36
|
+
const deleted = await DefaultRolePermission.deleteMany(filter).exec();
|
|
37
|
+
return deleted;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const deleteOneDefaultRolePermissionByFilter = async (filter) => {
|
|
41
|
+
const deleted = await DefaultRolePermission.findOneAndDelete(filter).exec();
|
|
42
|
+
return deleted;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const insertManyUserPermissions = async (permissionsArray) => {
|
|
46
|
+
const inserted = await UserPermission.insertMany(permissionsArray);
|
|
47
|
+
return inserted;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
module.exports = {
|
|
51
|
+
createDefaultRolePermission,
|
|
52
|
+
findDefaultRolePermission,
|
|
53
|
+
findAllDefaultRolePermissions,
|
|
54
|
+
updateDefaultRolePermission,
|
|
55
|
+
deleteDefaultRolePermission,
|
|
56
|
+
deleteDefaultRolePermissionsByFilter,
|
|
57
|
+
deleteOneDefaultRolePermissionByFilter,
|
|
58
|
+
insertManyUserPermissions,
|
|
59
|
+
};
|
package/models/Customer.js
CHANGED
|
@@ -7,6 +7,7 @@ const CustomerSchema = new Schema(
|
|
|
7
7
|
email: { type: String, default: "" },
|
|
8
8
|
phone: { type: String, default: "" },
|
|
9
9
|
city: { type: String, default: "" },
|
|
10
|
+
country: { type: String, default: "pk" },
|
|
10
11
|
defaultAddress: { type: String, default: "" },
|
|
11
12
|
currentShippingAddress: {},
|
|
12
13
|
addresses: [],
|
package/models/Integration.js
CHANGED