From dace8d7b2f342f304ca3cd737af1b8fdb821e2dc Mon Sep 17 00:00:00 2001 From: Saransh29 Date: Fri, 1 Mar 2024 10:23:56 +0530 Subject: [PATCH] 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 --- controllers/userStatus.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/controllers/userStatus.js b/controllers/userStatus.js index fa851eff8..1d17b406e 100644 --- a/controllers/userStatus.js +++ b/controllers/userStatus.js @@ -74,15 +74,18 @@ const getAllUserStatus = async (req, res) => { try { const { allUserStatus } = await userStatusModel.getAllUserStatus(req.query); const activeUsers = []; - for (const status of allUserStatus) { - // fetching users from users collection by userID in userStatus collection - const result = await dataAccess.retrieveUsers({ id: status.userId }); - if (!result.user?.roles?.archived) { - status.full_name = `${result.user.first_name} ${result.user.last_name}`; - status.picture = result.user.picture; - status.username = result.user.username; - activeUsers.push(status); - } + if (allUserStatus) { + const allUsersStatusFetchPromises = allUserStatus.map(async (status) => { + // fetching users from users collection with the help of userID in userStatus collection + const result = await dataAccess.retrieveUsers({ id: status.userId }); + if (!result.user?.roles?.archived) { + status.full_name = `${result.user.first_name} ${result.user.last_name}`; + status.picture = result.user.picture; + status.username = result.user.username; + activeUsers.push(status); + } + }); + await Promise.all(allUsersStatusFetchPromises); } return res.json({ message: "All User Status found successfully.",