Compare commits

..

1 Commits

Author SHA1 Message Date
b8109d0bc4 handle personal leaderboards (pivotId)
Some checks failed
Build / build (22) (push) Has been cancelled
Build / build (18) (push) Successful in 45s
Build / build (20) (push) Has been cancelled
Build / build (18) (pull_request) Successful in 48s
Build / build (20) (pull_request) Successful in 1m13s
Build / build (22) (pull_request) Successful in 1m28s
2025-03-24 14:51:52 +01:00

View File

@ -40,18 +40,20 @@ export const getLeaderboard = async (
return []; return [];
} }
const beforeDocs = await Leaderboard.find({ const beforeDocs = await Leaderboard.find({
leaderboard,
score: { $gt: pivotDoc.score } score: { $gt: pivotDoc.score }
}) })
.sort({ score: 1 }) .sort({ score: 1 })
.limit(before); .limit(before);
const afterDocs = await Leaderboard.find({ const afterDocs = await Leaderboard.find({
leaderboard,
score: { $lt: pivotDoc.score } score: { $lt: pivotDoc.score }
}) })
.sort({ score: -1 }) .sort({ score: -1 })
.limit(after); .limit(after);
entries = [...beforeDocs.reverse(), pivotDoc, ...afterDocs]; entries = [...beforeDocs.reverse(), pivotDoc, ...afterDocs];
r = await Leaderboard.countDocuments({ r = await Leaderboard.countDocuments({
leaderboard: leaderboard, leaderboard,
score: { $gt: pivotDoc.score } score: { $gt: pivotDoc.score }
}); });
} else { } else {