Skip to content

Commit e63f2b9

Browse files
authored
Merge pull request #1408 from Real-Dev-Squad/revert-1397-develop
Revert "Dev to Main Sync"
2 parents c6ff1d3 + 3423a5f commit e63f2b9

28 files changed

+148
-933
lines changed

constants/userDataLevels.js

Lines changed: 0 additions & 21 deletions
This file was deleted.

constants/users.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ const profileStatus = {
44
NOT_APPROVED: "NOT APPROVED",
55
};
66

7+
const USER_SENSITIVE_DATA = ["phone", "email", "chaincode", "tokens"];
8+
79
const USER_STATUS = {
810
OOO: "ooo",
911
IDLE: "idle",
@@ -21,4 +23,5 @@ module.exports = {
2123
profileStatus,
2224
USER_STATUS,
2325
ALLOWED_FILTER_PARAMS,
26+
USER_SENSITIVE_DATA,
2427
};

controllers/discordactions.js

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ const admin = require("firebase-admin");
33
const config = require("config");
44
const jwt = require("jsonwebtoken");
55
const discordRolesModel = require("../models/discordactions");
6-
const { retrieveUsers } = require("../services/dataAccessLayer");
76

87
/**
98
* Creates a role
@@ -67,25 +66,9 @@ const createGroupRole = async (req, res) => {
6766
const getAllGroupRoles = async (req, res) => {
6867
try {
6968
const { groups } = await discordRolesModel.getAllGroupRoles();
70-
const groupsWithMemberCount = await discordRolesModel.getNumberOfMemberForGroups(groups);
71-
const groupCreatorIds = groupsWithMemberCount.reduce((ids, group) => {
72-
ids.add(group.createdBy);
73-
return ids;
74-
}, new Set());
75-
const groupCreatorsDetails = await retrieveUsers({ userIds: Array.from(groupCreatorIds) });
76-
const groupsWithUserDetails = groupsWithMemberCount.map((group) => {
77-
const groupCreator = groupCreatorsDetails[group.createdBy];
78-
return {
79-
...group,
80-
firstName: groupCreator.first_name,
81-
lastName: groupCreator.last_name,
82-
image: groupCreator.picture?.url,
83-
};
84-
});
85-
8669
return res.json({
8770
message: "Roles fetched successfully!",
88-
groups: groupsWithUserDetails,
71+
groups,
8972
});
9073
} catch (err) {
9174
logger.error(`Error while getting roles: ${err}`);

controllers/events.js

Lines changed: 3 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1+
/* eslint-disable camelcase */
12
const { GET_ALL_EVENTS_LIMIT_MIN, UNWANTED_PROPERTIES_FROM_100MS } = require("../constants/events");
2-
const { INTERNAL_SERVER_ERROR } = require("../constants/errorMessages");
3-
43
const { EventTokenService, EventAPIService } = require("../services");
4+
const { removeUnwantedProperties } = require("../utils/events");
55
const eventQuery = require("../models/events");
6-
76
const logger = require("../utils/logger");
8-
const { removeUnwantedProperties } = require("../utils/events");
97

108
const tokenService = new EventTokenService();
119
const apiService = new EventAPIService(tokenService);
@@ -102,7 +100,7 @@ const joinEvent = async (req, res) => {
102100
});
103101
} catch (error) {
104102
logger.error({ error });
105-
return res.boom.badImplementation(INTERNAL_SERVER_ERROR);
103+
return res.status(500).send("Internal Server Error");
106104
}
107105
};
108106

@@ -195,77 +193,11 @@ const endActiveEvent = async (req, res) => {
195193
}
196194
};
197195

198-
/**
199-
* Adds a peer to an event.
200-
*
201-
* @async
202-
* @function
203-
* @param {Object} req - The Express request object.
204-
* @param {Object} res - The Express response object.
205-
* @returns {Promise<Object>} The JSON response with the added peer data and a success message.
206-
* @throws {Object} The JSON response with an error message if an error occurred while adding the peer.
207-
*/
208-
const addPeerToEvent = async (req, res) => {
209-
try {
210-
const data = await eventQuery.addPeerToEvent({
211-
peerId: req.body.peerId,
212-
name: req.body.name,
213-
role: req.body.role,
214-
joinedAt: req.body.joinedAt,
215-
eventId: req.params.id,
216-
});
217-
return res.status(200).json({
218-
data,
219-
message: `Selected Participant is added to the event.`,
220-
});
221-
} catch (error) {
222-
logger.error({ error });
223-
return res.status(500).json({
224-
error: error.code,
225-
message: "You can't add selected Participant. Please ask Admin or Host for help.",
226-
});
227-
}
228-
};
229-
230-
/**
231-
* Kicks out a peer from an event.
232-
*
233-
* @async
234-
* @function
235-
* @param {Object} req - The Express request object.
236-
* @param {Object} res - The Express response object.
237-
* @returns {Promise<Object>} The JSON response with a success message if the peer is successfully kicked out.
238-
* @throws {Object} The JSON response with an error message if an error occurred while kicking out the peer.
239-
*/
240-
const kickoutPeer = async (req, res) => {
241-
const { id } = req.params;
242-
const payload = {
243-
peer_id: req.body.peerId,
244-
reason: req.body.reason,
245-
};
246-
247-
try {
248-
await apiService.post(`/active-rooms/${id}/remove-peers`, payload);
249-
await eventQuery.kickoutPeer({ eventId: id, peerId: payload.peer_id, reason: req.body.reason });
250-
return res.status(200).json({
251-
message: `Selected Participant is removed from event.`,
252-
});
253-
} catch (error) {
254-
logger.error({ error });
255-
return res.status(500).json({
256-
error: error.code,
257-
message: "You can't remove selected Participant from Remove, Please ask Admin or Host for help.",
258-
});
259-
}
260-
};
261-
262196
module.exports = {
263197
createEvent,
264198
getAllEvents,
265199
joinEvent,
266200
getEventById,
267201
updateEvent,
268202
endActiveEvent,
269-
addPeerToEvent,
270-
kickoutPeer,
271203
};

controllers/members.js

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
const ROLES = require("../constants/roles");
22
const members = require("../models/members");
33
const tasks = require("../models/tasks");
4-
const { SOMETHING_WENT_WRONG, INTERNAL_SERVER_ERROR } = require("../constants/errorMessages");
4+
const { SOMETHING_WENT_WRONG } = require("../constants/errorMessages");
55
const dataAccess = require("../services/dataAccessLayer");
6-
const { addLog } = require("../models/logs");
76
/**
87
* Fetches the data about our members
98
*
@@ -84,38 +83,17 @@ const archiveMembers = async (req, res) => {
8483
try {
8584
const { username } = req.params;
8685
const user = await dataAccess.retrieveUsers({ username });
87-
const superUserId = req.userData.id;
88-
const { reason } = req.body;
89-
const roles = req?.userData?.roles;
90-
const isReasonNullOrUndefined = !reason;
91-
const isReasonEmptyOrWhitespace = /^\s*$/.test(reason);
92-
if (isReasonNullOrUndefined || isReasonEmptyOrWhitespace) {
93-
return res.boom.badRequest("Reason is required");
94-
}
9586
if (user?.userExists) {
9687
const successObject = await members.addArchiveRoleToMembers(user.user.id);
9788
if (successObject.isArchived) {
9889
return res.boom.badRequest("User is already archived");
9990
}
100-
const body = {
101-
reason: reason,
102-
archived_user: {
103-
user_id: user.user.id,
104-
username: user.user.username,
105-
},
106-
archived_by: {
107-
user_id: superUserId,
108-
roles: roles,
109-
},
110-
};
111-
112-
addLog("archived-details", {}, body);
11391
return res.status(204).send();
11492
}
11593
return res.boom.notFound("User doesn't exist");
11694
} catch (err) {
11795
logger.error(`Error while retriving contributions ${err}`);
118-
return res.boom.badImplementation(INTERNAL_SERVER_ERROR);
96+
return res.boom.badImplementation(SOMETHING_WENT_WRONG);
11997
}
12098
};
12199

controllers/users.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,9 @@ const getUsers = async (req, res) => {
101101
}
102102

103103
const data = await dataAccess.retrieveUsers({ query: req.query });
104-
105104
return res.json({
106105
message: "Users returned successfully!",
107-
users: data.users,
106+
users: data.allUsers,
108107
links: {
109108
next: data.nextId ? getPaginationLink(req.query, "next", data.nextId) : "",
110109
prev: data.prevId ? getPaginationLink(req.query, "prev", data.prevId) : "",
@@ -206,9 +205,10 @@ const getUsernameAvailabilty = async (req, res) => {
206205
const getSelfDetails = async (req, res) => {
207206
try {
208207
if (req.userData) {
209-
const user = await dataAccess.retrieveUsers({
210-
userdata: req.userData,
211-
});
208+
if (req.query.private) {
209+
return res.send(req.userData);
210+
}
211+
const user = await dataAccess.retrieveUsers({ userdata: req.userData });
212212
return res.send(user);
213213
}
214214
return res.boom.notFound("User doesn't exist");
@@ -407,7 +407,6 @@ const updateUser = async (req, res) => {
407407
const generateChaincode = async (req, res) => {
408408
try {
409409
const { id } = req.userData;
410-
411410
const chaincode = await chaincodeQuery.storeChaincode(id);
412411
await userQuery.addOrUpdate({ chaincode }, id);
413412
return res.json({

middlewares/authenticate.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const authService = require("../services/authService");
2-
const dataAccess = require("../services/dataAccessLayer");
2+
const users = require("../models/users");
33

44
/**
55
* Middleware to check if the user has been restricted. If user is restricted,
@@ -54,7 +54,7 @@ module.exports = async (req, res, next) => {
5454
const { userId } = authService.verifyAuthToken(token);
5555

5656
// add user data to `req.userData` for further use
57-
const userData = await dataAccess.retrieveUsers({ id: userId });
57+
const userData = await users.fetchUser({ userId });
5858
req.userData = userData.user;
5959

6060
return checkRestricted(req, res, next);
@@ -79,7 +79,8 @@ module.exports = async (req, res, next) => {
7979
});
8080

8181
// add user data to `req.userData` for further use
82-
req.userData = await dataAccess.retrieveUsers({ id: userId });
82+
req.userData = await users.fetchUser({ userId });
83+
8384
return checkRestricted(req, res, next);
8485
} else {
8586
return res.boom.unauthorized("Unauthenticated User");

middlewares/validators/events.js

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -100,57 +100,11 @@ const endActiveEvent = async (req, res, next) => {
100100
}
101101
};
102102

103-
const addPeerToEvent = async (req, res, next) => {
104-
const { id } = req.params;
105-
const { peerId, name, role, joinedAt } = req.body;
106-
107-
const schema = joi.object({
108-
peerId: joi.string().required(),
109-
name: joi.string().required(),
110-
id: joi.string().required(),
111-
role: joi.string().required(),
112-
joinedAt: joi.date().required(),
113-
});
114-
115-
const validationOptions = { abortEarly: false };
116-
117-
try {
118-
await schema.validateAsync({ peerId, name, id, role, joinedAt }, validationOptions);
119-
next();
120-
} catch (error) {
121-
logger.error(`Error while adding a peer to the event: ${error}`);
122-
res.boom.badRequest(error.details[0].message);
123-
}
124-
};
125-
126-
const kickoutPeer = async (req, res, next) => {
127-
const { id } = req.params;
128-
const { peerId, reason } = req.body;
129-
130-
const schema = joi.object({
131-
id: joi.string().required(),
132-
peerId: joi.string().required(),
133-
reason: joi.string().required(),
134-
});
135-
136-
const validationOptions = { abortEarly: false };
137-
138-
try {
139-
await schema.validateAsync({ id, peerId, reason }, validationOptions);
140-
next();
141-
} catch (error) {
142-
logger.error(`We encountered some error while removing selected Participant from event: ${error}`);
143-
res.boom.badRequest(error.details[0].message);
144-
}
145-
};
146-
147103
module.exports = {
148104
createEvent,
149105
getAllEvents,
150106
joinEvent,
151107
getEventById,
152108
updateEvent,
153109
endActiveEvent,
154-
addPeerToEvent,
155-
kickoutPeer,
156110
};

models/discordactions.js

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -114,41 +114,10 @@ const updateDiscordImageForVerification = async (userDiscordId) => {
114114
}
115115
};
116116

117-
const getNumberOfMemberForGroups = async (groups = []) => {
118-
try {
119-
if (!groups.length) {
120-
return [];
121-
}
122-
const roleIds = groups.map((group) => group.roleid);
123-
124-
const snapshots = await memberRoleModel.where("roleid", "in", roleIds).get();
125-
const roleCount = {};
126-
127-
snapshots.forEach((doc) => {
128-
const roleToMemberMapping = doc.data();
129-
130-
if (roleCount[roleToMemberMapping.roleid]) {
131-
roleCount[roleToMemberMapping.roleid] += 1;
132-
} else {
133-
roleCount[roleToMemberMapping.roleid] = 1;
134-
}
135-
});
136-
137-
return groups.map((group) => ({
138-
...group,
139-
memberCount: roleCount[group.roleid] || 0,
140-
}));
141-
} catch (err) {
142-
logger.error("Error while counting members for each group", err);
143-
throw err;
144-
}
145-
};
146-
147117
module.exports = {
148118
createNewRole,
149119
getAllGroupRoles,
150120
addGroupRoleToMember,
151121
isGroupRoleExists,
152122
updateDiscordImageForVerification,
153-
getNumberOfMemberForGroups,
154123
};

0 commit comments

Comments
 (0)