some leaderboard

This commit is contained in:
s-prechtl 2023-01-24 08:14:38 +01:00
parent cb60e3d1ff
commit 7c4ccfd12c
3 changed files with 6 additions and 4 deletions

View file

@ -27,7 +27,7 @@ leaderboardRoute.get('/highscore',
//endregion
const highscoreLeaderboardRepo: HighscoreLeaderboardRepository = new HighscoreLeaderboardPgPromiseRepository;
let highscoreLeaderboard: HighscoreLeaderboard;
if (req.query.pagination) {
if (req.query.pagination == true) {
const entriesPerPage = req.query.entriesPerPage;
const page = req.query.page;
highscoreLeaderboard = await highscoreLeaderboardRepo.getPage(entriesPerPage, page);
@ -53,6 +53,7 @@ leaderboardRoute.get('/totalplaytime',
*/
async (req, res) => {
try {
console.log(req.query)
//region validate parameters
const errors = validationResult(req);
if (!errors.isEmpty()) {
@ -61,7 +62,8 @@ leaderboardRoute.get('/totalplaytime',
//endregion
const timeLeaderboardRepo: TimeLeaderboardRepository = new TimeLeaderboardPgPromiseRepository;
let timeLeaderboard: TimeLeaderboard;
if (req.query.pagination) {
console.log(req.query)
if (req.query.pagination == true) {
const entriesPerPage = req.query.entriesPerPage;
const page = req.query.page;
timeLeaderboard = await timeLeaderboardRepo.getPage(entriesPerPage, page);

View file

@ -12,7 +12,7 @@ export class HighscoreLeaderboardPgPromiseRepository extends HighscoreLeaderboar
async getPage(entriesPerPage, page): Promise<HighscoreLeaderboard> {
const raw: any = await Database.db.manyOrNone(
'SELECT * FROM lb_highscore INNER JOIN "user" ON user_id = id ORDER BY rank LIMIT $1 OFFSET $2;',
'SELECT * FROM lb_highscore INNER JOIN "user" ON user_id = id ORDER BY rank LIMIT $1 OFFSET $2*$1;',
[entriesPerPage, page * entriesPerPage]
);
return this.serialize(raw);

View file

@ -12,7 +12,7 @@ export class TimeLeaderboardPgPromiseRepository extends TimeLeaderboardRepositor
async getPage(entriesPerPage: number, page: number): Promise<TimeLeaderboard> {
const raw: any = await Database.db.manyOrNone(
'SELECT * FROM lb_total_playtime INNER JOIN "user" ON user_id = id ORDER BY rank LIMIT $1 OFFSET $2;',
'SELECT * FROM lb_total_playtime INNER JOIN "user" ON user_id = id ORDER BY rank LIMIT $1 OFFSET $2*$1;',
[entriesPerPage, page * entriesPerPage]
);
return this.serialize(raw);