store player team

This commit is contained in:
Robin Appelman 2020-06-18 17:14:55 +02:00
commit 45e32f5601
3 changed files with 72 additions and 66 deletions

View file

@ -128,6 +128,7 @@ CREATE TABLE players (
log_id INTEGER NOT NULL REFERENCES logs(id),
steam_id BIGINT NOT NULL,
name TEXT NOT NULL,
team team NOT NULL,
kills INTEGER NOT NULL,
deaths INTEGER NOT NULL,
assists INTEGER NOT NULL,

View file

@ -142,10 +142,11 @@ pub async fn store_log(pool: &PgPool, id: i32, log: &NormalizedLog) -> Result<()
}
for (steam_id, player) in &log.players {
if let Some(team) = player.team {
let kills = log.class_kills.get(steam_id).cloned().unwrap_or_default();
let player_id: i32 = sqlx::query!(
"INSERT INTO players (\
log_id, steam_id, name, kills, deaths, assists,\
log_id, steam_id, name, team, kills, deaths, assists,\
suicides, dmg, damage_taken, ubers, medigun_ubers,\
kritzkrieg_ubers, quickfix_ubers, vacinator_ubers,\
drops, medkits, medkits_hp, backstabs, headshots,\
@ -156,12 +157,14 @@ pub async fn store_log(pool: &PgPool, id: i32, log: &NormalizedLog) -> Result<()
VALUES(\
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10,\
$11, $12, $13, $14, $15, $16, $17, $18, $19, $20,\
$21, $22, $23, $24, $25, $26, $27, $28, $29, $30\
$21, $22, $23, $24, $25, $26, $27, $28, $29, $30,\
$31\
)\
RETURNING id",
id as i32,
u64::from(*steam_id) as i64,
log.names.get(steam_id).cloned().unwrap_or_default(),
team as TeamId,
player.kills as i32,
player.deaths as i32,
player.assists as i32,
@ -245,6 +248,7 @@ pub async fn store_log(pool: &PgPool, id: i32, log: &NormalizedLog) -> Result<()
}
}
}
}
tx.commit().await?;

View file

@ -55,7 +55,7 @@ pub struct Team {
#[derive(Debug, Clone, Deserialize)]
pub struct Player {
pub class_stats: Vec<ClassStat>,
pub team: TeamId,
pub team: Option<TeamId>,
pub kills: u16,
pub deaths: u16,
pub assists: u16,
@ -122,6 +122,7 @@ pub enum RawWeaponStats {
Stats {
kills: u32,
dmg: u32,
#[serde(default)]
avg_dmg: f32,
shots: u32,
hits: u32,