ai generated solutions to our ai generated problems
This commit is contained in:
+30
-5
@@ -386,14 +386,12 @@ async fn leaderboard(
|
||||
return Ok(Json(LeaderboardResponse { teams }));
|
||||
}
|
||||
|
||||
let rows = leaderboard_rows(&state, limit)?;
|
||||
cache_leaderboard(&state, &rows)?;
|
||||
Ok(Json(LeaderboardResponse { teams: rows }))
|
||||
let teams = leaderboard_roster_rows(&state, limit)?;
|
||||
Ok(Json(LeaderboardResponse { teams }))
|
||||
}
|
||||
|
||||
fn leaderboard_rows(state: &AppState, limit: usize) -> Result<Vec<TeamLeaderboardRow>, ApiError> {
|
||||
fn leaderboard_teams(state: &AppState, limit: usize) -> Result<Vec<TeamRecord>, ApiError> {
|
||||
let teams_conn = open_db(&state.teams_db)?;
|
||||
let battles_conn = open_db(&state.battles_db)?;
|
||||
// Deduplicate teams by name across tournaments — pick the highest team_id
|
||||
// (most recent) per name for the roster count, but stats come from team_name.
|
||||
let mut stmt = teams_conn
|
||||
@@ -411,6 +409,33 @@ fn leaderboard_rows(state: &AppState, limit: usize) -> Result<Vec<TeamLeaderboar
|
||||
.map_err(db_error)?
|
||||
.collect::<Result<Vec<_>, _>>()
|
||||
.map_err(db_error)?;
|
||||
Ok(teams)
|
||||
}
|
||||
|
||||
fn leaderboard_roster_rows(
|
||||
state: &AppState,
|
||||
limit: usize,
|
||||
) -> Result<Vec<TeamLeaderboardRow>, ApiError> {
|
||||
leaderboard_teams(state, limit).map(|teams| {
|
||||
teams
|
||||
.into_iter()
|
||||
.map(|team| TeamLeaderboardRow {
|
||||
team_id: team.team_id,
|
||||
name: team.name,
|
||||
player_count: team.members,
|
||||
total_battles: 0,
|
||||
wins: 0,
|
||||
losses: 0,
|
||||
win_rate: 0.0,
|
||||
total_kills: 0,
|
||||
})
|
||||
.collect()
|
||||
})
|
||||
}
|
||||
|
||||
fn leaderboard_rows(state: &AppState, limit: usize) -> Result<Vec<TeamLeaderboardRow>, ApiError> {
|
||||
let battles_conn = open_db(&state.battles_db)?;
|
||||
let teams = leaderboard_teams(state, limit)?;
|
||||
let team_names = teams
|
||||
.iter()
|
||||
.map(|team| team.name.as_str())
|
||||
|
||||
Reference in New Issue
Block a user