diff --git a/src/getGJLevels21.ts b/src/getGJLevels21.ts index 322af85..bb6dc51 100644 --- a/src/getGJLevels21.ts +++ b/src/getGJLevels21.ts @@ -51,6 +51,39 @@ module.exports = (app, db) : void => { }) .toArray(); + switch (Number(req.body.type)) { + case 1: // most downloaded + levels.sort((a, b) => b.downloads - a.downloads); + break; + case 2: // most liked + levels.sort((a, b) => b.likes - a.likes); + break; + case 3: // trending + levels.filter(l => { + l.timestamp || 0 > Date.now() - 604800000; + }); + levels.sort((a, b) => b.downloads - a.downloads); + break; + case 4: // recent + levels.sort((a, b) => b.timestamp || 0 - a.timestamp || 0); + break; + case 7: // ~ M a G i C ~ + levels.filter(l => { + l.objects || 0 > 1000; + }); + levels.sort((a, b) => b.timestamp || 0 - a.timestamp || 0); + break; + case 11: // awarded + levels.filter(l => { + l.stars > 0; + }); + levels.sort((a, b) => b.timestamp || 0 - a.timestamp || 0); + break; + case 12: // TODO: followed + case 13: // TODO: friends + levels.filter(() => false); + } + let offset = Math.max(Number(req.body.page) * 10 - 1, 0); const foundLevels = levels