aboutsummaryrefslogtreecommitdiff
path: root/planetwars-server/src/routes
diff options
context:
space:
mode:
authorIlion Beyst <ilion.beyst@gmail.com>2022-03-10 23:35:42 +0100
committerIlion Beyst <ilion.beyst@gmail.com>2022-03-10 23:35:42 +0100
commit523de3ba0692734237b5ed6fa6dce8fbad9d69c8 (patch)
tree1886c3bfcaba756f3bcc1ca5f4fec7a8b98dbc87 /planetwars-server/src/routes
parent95b733ba4d7e3041adf4fb42c66e2b83ccce1df9 (diff)
downloadplanetwars.dev-523de3ba0692734237b5ed6fa6dce8fbad9d69c8.tar.xz
planetwars.dev-523de3ba0692734237b5ed6fa6dce8fbad9d69c8.zip
save match players in database
Diffstat (limited to 'planetwars-server/src/routes')
-rw-r--r--planetwars-server/src/routes/demo.rs15
-rw-r--r--planetwars-server/src/routes/matches.rs10
2 files changed, 19 insertions, 6 deletions
diff --git a/planetwars-server/src/routes/demo.rs b/planetwars-server/src/routes/demo.rs
index 37312a7..5dbbe92 100644
--- a/planetwars-server/src/routes/demo.rs
+++ b/planetwars-server/src/routes/demo.rs
@@ -1,5 +1,5 @@
use crate::db;
-use crate::db::matches::MatchState;
+use crate::db::matches::{MatchPlayerData, MatchState};
use crate::modules::bots::save_code_bundle;
use crate::util::gen_alphanumeric;
use crate::{ConnectionPool, BOTS_DIR, MAPS_DIR, MATCHES_DIR};
@@ -83,9 +83,18 @@ pub async fn submit_bot(
state: MatchState::Playing,
log_path: &log_file_name,
};
+
+ let new_match_players = [
+ MatchPlayerData {
+ code_bundle_id: player_code_bundle.id,
+ },
+ MatchPlayerData {
+ code_bundle_id: opponent_code_bundle.id,
+ },
+ ];
// TODO: set match players
- let match_data =
- db::matches::create_match(&new_match_data, &[], &conn).expect("failed to create match");
+ let match_data = db::matches::create_match(&new_match_data, &new_match_players, &conn)
+ .expect("failed to create match");
tokio::spawn(run_match_task(
match_data.base.id,
diff --git a/planetwars-server/src/routes/matches.rs b/planetwars-server/src/routes/matches.rs
index f2599cd..a6d8ff2 100644
--- a/planetwars-server/src/routes/matches.rs
+++ b/planetwars-server/src/routes/matches.rs
@@ -62,7 +62,9 @@ pub async fn play_match(
}),
});
- bot_ids.push(matches::MatchPlayerData { bot_id: bot.id });
+ bot_ids.push(matches::MatchPlayerData {
+ code_bundle_id: code_bundle.id,
+ });
}
let match_config = MatchConfig {
@@ -107,7 +109,9 @@ pub struct ApiMatch {
#[derive(Serialize, Deserialize)]
pub struct ApiMatchPlayer {
- bot_id: i32,
+ // TODO!
+// bot_id: i32,
+// code_bundle_id: i32
}
pub async fn list_matches(conn: DatabaseConnection) -> Result<Json<Vec<ApiMatch>>, StatusCode> {
@@ -124,7 +128,7 @@ pub fn match_data_to_api(data: matches::MatchData) -> ApiMatch {
players: data
.match_players
.iter()
- .map(|p| ApiMatchPlayer { bot_id: p.bot_id })
+ .map(|_p| ApiMatchPlayer {})
.collect(),
}
}