mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-03-12 23:20:25 +08:00
added skip and limit
This commit is contained in:
parent
0b1e7cd980
commit
5b85f11a19
2 changed files with 13 additions and 4 deletions
|
@ -3,13 +3,19 @@ const LeaderboardsDAO = require("../../dao/leaderboards");
|
|||
class LeaderboardsController {
|
||||
static async get(req, res, next) {
|
||||
try {
|
||||
const { language, mode, mode2 } = req.query;
|
||||
if (!language || !mode || !mode2) {
|
||||
const { language, mode, mode2, skip, limit } = req.query;
|
||||
if (!language || !mode || !mode2 || !skip) {
|
||||
return res.status(400).json({
|
||||
message: "Missing parameters",
|
||||
});
|
||||
}
|
||||
let retval = await LeaderboardsDAO.get(mode, mode2, language);
|
||||
let retval = await LeaderboardsDAO.get(
|
||||
mode,
|
||||
mode2,
|
||||
language,
|
||||
skip,
|
||||
limit
|
||||
);
|
||||
retval.forEach((item) => {
|
||||
delete item.uid;
|
||||
});
|
||||
|
|
|
@ -3,10 +3,13 @@ const { mongoDB } = require("../init/mongodb");
|
|||
const { ObjectID } = require("mongodb");
|
||||
|
||||
class LeaderboardsDAO {
|
||||
static async get(mode, mode2, language) {
|
||||
static async get(mode, mode2, language, skip, limit = 30) {
|
||||
if (limit > 30 || limit === 0) limit = 30;
|
||||
const preset = await mongoDB()
|
||||
.collection(`leaderboards.${language}.${mode}.${mode2}`)
|
||||
.find()
|
||||
.skip(parseInt(skip))
|
||||
.limit(parseInt(limit))
|
||||
.toArray();
|
||||
return preset;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue