diff --git a/backend/api/src/leaderboardRoute.ts b/backend/api/src/leaderboardRoute.ts index 0c5ce51..699180c 100644 --- a/backend/api/src/leaderboardRoute.ts +++ b/backend/api/src/leaderboardRoute.ts @@ -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); diff --git a/backend/api/src/repositories/pgPromise/HighscoreLeaderboardPgPromiseRepository.ts b/backend/api/src/repositories/pgPromise/HighscoreLeaderboardPgPromiseRepository.ts index 36c9043..1f00f7d 100644 --- a/backend/api/src/repositories/pgPromise/HighscoreLeaderboardPgPromiseRepository.ts +++ b/backend/api/src/repositories/pgPromise/HighscoreLeaderboardPgPromiseRepository.ts @@ -12,7 +12,7 @@ export class HighscoreLeaderboardPgPromiseRepository extends HighscoreLeaderboar async getPage(entriesPerPage, page): Promise { 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); diff --git a/backend/api/src/repositories/pgPromise/TimeLeaderboardPgPromiseRepository.ts b/backend/api/src/repositories/pgPromise/TimeLeaderboardPgPromiseRepository.ts index b2b2ca8..705b3f8 100644 --- a/backend/api/src/repositories/pgPromise/TimeLeaderboardPgPromiseRepository.ts +++ b/backend/api/src/repositories/pgPromise/TimeLeaderboardPgPromiseRepository.ts @@ -12,7 +12,7 @@ export class TimeLeaderboardPgPromiseRepository extends TimeLeaderboardRepositor async getPage(entriesPerPage: number, page: number): Promise { 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);