LeaderboardRepository
app/features/leaderboards/LeaderboardRepository.server.ts- Tables
- GroupMatchLeaderboardTeamSkipReportedWeaponSkillSkillTeamUserSplatoonPlayerTeamTeamMemberWithSecondaryTournamentTournamentMatchTournamentResultTournamentStageUserUserSubmittedImageXRankPlacement
- Calls
- no other repositories
- Imports
- Seasons
- Used by
- 6 loaders1 action1 route2 scripts4 other
Types
export type XPLeaderboardItem = Awaited< ReturnType<typeof findAllXPLeaderboard> >[number];
Routes/leaderboards
export type UserSPLeaderboardItem = Awaited< ReturnType<typeof findUserSPLeaderboard> >[number];
export type SeasonPopularUsersWeapon = Record< Tables["User"]["id"], MainWeaponId >;
Functions & values
export async function findTeamLeaderboardBySeason({ season, onlyOneEntryPerUser, }: { season: number; onlyOneEntryPerUser: boolean; })
Unit tests (4)
Marks a team as not counting for the season's team leaderboard placements. Records the acting user as skippedByUserId.
export async function insertTeamSkip(args: { season: number; identifier: SkillTeamIdentifier; })
TablesLeaderboardTeamSkip
Actions/leaderboards
export async function deleteTeamSkip(args: { season: number; identifier: SkillTeamIdentifier; })
TablesLeaderboardTeamSkip
Actions/leaderboards
export async function findSeasonsParticipatedInByUserId(userId: number)
TablesSkillTournamentResult
export async function findAllXPLeaderboard()
export async function findModeXPLeaderboard(mode: RankedModeShort)
Loaders/leaderboards
export async function findWeaponXPLeaderboard(weaponSplId: MainWeaponId)
export async function findUserSPLeaderboard(season: number)
export async function findSeasonPopularUsersWeapon( season: number, ): Promise<SeasonPopularUsersWeapon>