feat : update

This commit is contained in:
2026-08-23 14:04:18 +00:00 Unverified
parent 03c5c69af9
commit 936a6b39a5
3 changed files with 43 additions and 196 deletions
+41
View File
@@ -69,6 +69,29 @@ export async function getXpLeaderboardPage(
return buildXpLeaderboard(rows, requestedPage, searchQuery);
}
export async function getMemberXpStats(userId: string) {
const database = getLeaderboardDatabase();
const [sourceRows, leaderboard] = await Promise.all([
database
.select({
level: userLevels.level,
totalXp: userLevels.xp,
})
.from(userLevels)
.where(eq(userLevels.userId, userId))
.limit(1),
getXpLeaderboardPage(1, userId),
]);
const rankedRow = leaderboard.rows.find((row) => row.userId === userId);
const sourceRow = sourceRows[0];
return {
level: sourceRow?.level ?? 0,
totalXp: sourceRow?.totalXp ?? "0",
rank: rankedRow?.rank ?? null,
};
}
export async function getVoiceLeaderboardPage(
currentChannelIds: string[],
requestedPage: number,
@@ -108,3 +131,21 @@ export async function getVoiceLeaderboardPage(
searchQuery,
);
}
export async function getMemberVoiceStats(
userId: string,
currentChannelIds: string[],
) {
const leaderboard = await getVoiceLeaderboardPage(
currentChannelIds,
1,
undefined,
userId,
);
const rankedRow = leaderboard.rows.find((row) => row.userId === userId);
return {
totalSeconds: rankedRow?.totalSeconds ?? "0",
rank: rankedRow?.rank ?? null,
};
}