rust/hedgewars-server/src/server/database.rs
changeset 14457 98ef2913ec73
parent 14456 a077aac9df01
child 14779 f43ab2bd76ae
equal deleted inserted replaced
14456:a077aac9df01 14457:98ef2913ec73
     1 use mysql;
     1 use mysql;
     2 use mysql::{params, error::Error, error::DriverError};
     2 use mysql::{error::DriverError, error::Error, params};
     3 
     3 
     4 struct AccountInfo {
     4 struct AccountInfo {
     5     is_registered: bool,
     5     is_registered: bool,
     6     is_admin: bool,
     6     is_admin: bool,
     7     is_contributor: bool,
     7     is_contributor: bool,
    44         }
    44         }
    45     }
    45     }
    46 
    46 
    47     fn store_stats(&mut self, stats: &ServerStatistics) -> Result<(), Error> {
    47     fn store_stats(&mut self, stats: &ServerStatistics) -> Result<(), Error> {
    48         if let Some(pool) = &self.pool {
    48         if let Some(pool) = &self.pool {
    49         for mut stmt in pool.prepare(r"INSERT INTO gameserver_stats (players, rooms, last_update) VALUES (:players, :rooms, UNIX_TIMESTAMP())").into_iter() {
    49             for mut stmt in pool
    50                 stmt.execute(params!{
    50                 .prepare(
    51                 "players" => stats.players,
    51                     r"INSERT INTO gameserver_stats
    52                 "rooms" => stats.rooms,
    52             (players, rooms, last_update)
    53             })?;
    53             VALUES
    54         }
    54             (:players, :rooms, UNIX_TIMESTAMP())",
       
    55                 )
       
    56                 .into_iter()
       
    57             {
       
    58                 stmt.execute(params! {
       
    59                     "players" => stats.players,
       
    60                     "rooms" => stats.rooms,
       
    61                 })?;
       
    62             }
    55             Ok(())
    63             Ok(())
    56         } else {
    64         } else {
    57             Err(DriverError::SetupError.into())
    65             Err(DriverError::SetupError.into())
    58         }
    66         }
    59 
       
    60     }
    67     }
    61 
    68 
    62     fn store_achievements(&mut self, achievements: &Achievements) -> Result<(), ()> {
    69     fn store_achievements(&mut self, achievements: &Achievements) -> Result<(), ()> {
    63         Ok(())
    70         Ok(())
    64     }
    71     }