From f58f645ef37ccabd57ea1db82ad6b3ec8874a36c Mon Sep 17 00:00:00 2001 From: static Date: Sat, 30 Nov 2024 01:00:13 +0900 Subject: [PATCH] Add: withdraw check into items.js --- src/lottery/services/items.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lottery/services/items.js b/src/lottery/services/items.js index 07730574..c5f5a2c5 100644 --- a/src/lottery/services/items.js +++ b/src/lottery/services/items.js @@ -125,7 +125,13 @@ const getItemLeaderboardHandler = async (req, res) => { leaderboardBase .filter((user) => user.rank <= 20) .map(async (user) => { - const userInfo = await userModel.findById(user.userId).lean(); + const userInfo = await userModel + .findOne({ _id: user.userId, withdraw: false }) + .lean(); + if (!userInfo) { + logger.error(`Fail to find user ${user.userId}`); + return null; + } return { nickname: userInfo.nickname, profileImageUrl: userInfo.profileImageUrl, @@ -135,6 +141,10 @@ const getItemLeaderboardHandler = async (req, res) => { }; }) ); + if (leaderboard.includes(null)) + return res + .status(500) + .json({ error: "Items/leaderboard : internal server error" }); const userId = isLogin(req) ? getLoginInfo(req).oid : null; const user = leaderboardBase.find(