added /game/add, API hopefully finished

This commit is contained in:
j-weissen 2023-01-03 23:42:07 +01:00
parent fff55edf79
commit 5f9a484285
19 changed files with 143 additions and 100 deletions

View file

@ -1,29 +0,0 @@
import {TimeLeaderboardManager} from "../TimeLeaderboardManager.js";
import {LeaderboardEntry, TimeLeaderboard} from "../../model/Leaderboard.js";
import {Database} from "../../Database.js";
export class TimeLeaderboardPgPromiseManager extends TimeLeaderboardManager {
async getAll(): Promise<TimeLeaderboard> {
const raw: any = await Database.db.manyOrNone(
'SELECT * FROM lb_total_playtime INNER JOIN "user" ON user_id = id ORDER BY RANK;'
);
return this.serialize(raw);
}
//region serialization
protected deserialize(parsed: TimeLeaderboard): any {
throw new Error("Method not implemented.")
}
protected serialize(raw: any): TimeLeaderboard {
return raw.map((item) => {
let newItem: LeaderboardEntry<string> = {
rank: item.rank,
username: item.name,
score: item.total_playtime,
}
return newItem
});
}
//endregion
}