Skip to content

Commit dace8d7

Browse files
authored
Fix/Get users by status api performance (#1928)
* fix: GET users by status api performance improvement * fix: remove empty line * refactor: refactored promises * fix: comment fix
1 parent c32124e commit dace8d7

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

controllers/userStatus.js

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,18 @@ const getAllUserStatus = async (req, res) => {
7474
try {
7575
const { allUserStatus } = await userStatusModel.getAllUserStatus(req.query);
7676
const activeUsers = [];
77-
for (const status of allUserStatus) {
78-
// fetching users from users collection by userID in userStatus collection
79-
const result = await dataAccess.retrieveUsers({ id: status.userId });
80-
if (!result.user?.roles?.archived) {
81-
status.full_name = `${result.user.first_name} ${result.user.last_name}`;
82-
status.picture = result.user.picture;
83-
status.username = result.user.username;
84-
activeUsers.push(status);
85-
}
77+
if (allUserStatus) {
78+
const allUsersStatusFetchPromises = allUserStatus.map(async (status) => {
79+
// fetching users from users collection with the help of userID in userStatus collection
80+
const result = await dataAccess.retrieveUsers({ id: status.userId });
81+
if (!result.user?.roles?.archived) {
82+
status.full_name = `${result.user.first_name} ${result.user.last_name}`;
83+
status.picture = result.user.picture;
84+
status.username = result.user.username;
85+
activeUsers.push(status);
86+
}
87+
});
88+
await Promise.all(allUsersStatusFetchPromises);
8689
}
8790
return res.json({
8891
message: "All User Status found successfully.",

0 commit comments

Comments
 (0)