peer-at-code-web/lib/leaderboard.ts
2023-02-26 18:07:06 +01:00

27 lines
513 B
TypeScript

import axios from 'axios';
export const getScores = async (): Promise<Score[]> => {
const { data, status } = await axios.get(`${process.env.NEXT_PUBLIC_API_URL}/leaderboard`, {
insecureHTTPParser: true
});
const scores = data;
if (status !== 200) {
throw new Error('Failed to fetch scores');
}
if (!scores) {
return [] as Score[];
}
return scores as Score[];
};
export type Score = {
score: number;
tries: number;
completions: number;
pseudo: string;
group: string;
};