diff --git a/server/src/api/controllers/leaderboardController.js b/server/src/api/controllers/leaderboardController.js index e3cb7ee..4f497a1 100644 --- a/server/src/api/controllers/leaderboardController.js +++ b/server/src/api/controllers/leaderboardController.js @@ -6,7 +6,7 @@ export default asyncHandler(async (req, res) => { const response = users.map((user) => ({ username: user.user.username, completedQuests: user.completedQuests, - numberOfCompletedQuests: user.numberOfCompletedQuests, + score: user.score * 1000, })) res.json(response) }) diff --git a/server/src/models/userManager.js b/server/src/models/userManager.js index 8168eb5..d2f5faf 100644 --- a/server/src/models/userManager.js +++ b/server/src/models/userManager.js @@ -45,15 +45,15 @@ export function leaderboard() { }, { $addFields: { - numberOfCompletedQuests: { $size: '$completedQuests' }, // Calculate the size of the completedQuests array + score: { $size: '$completedQuests' }, // Calculate the size of the completedQuests array }, }, { $match: { - numberOfCompletedQuests: { $gt: 0 }, // Filter out users who haven't completed any quests + score: { $gt: 0 }, // Filter out users who haven't completed any quests }, }, - { $sort: { numberOfCompletedQuests: -1 } }, + { $sort: { score: -1 } }, { $lookup: { from: 'users',