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

View file

@ -12,7 +12,7 @@ export class HighscoreLeaderboardPgPromiseRepository extends HighscoreLeaderboar
async getPage(entriesPerPage, page): Promise<HighscoreLeaderboard> { async getPage(entriesPerPage, page): Promise<HighscoreLeaderboard> {
const raw: any = await Database.db.manyOrNone( 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] [entriesPerPage, page * entriesPerPage]
); );
return this.serialize(raw); return this.serialize(raw);

View file

@ -12,7 +12,7 @@ export class TimeLeaderboardPgPromiseRepository extends TimeLeaderboardRepositor
async getPage(entriesPerPage: number, page: number): Promise<TimeLeaderboard> { async getPage(entriesPerPage: number, page: number): Promise<TimeLeaderboard> {
const raw: any = await Database.db.manyOrNone( 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] [entriesPerPage, page * entriesPerPage]
); );
return this.serialize(raw); return this.serialize(raw);