diff options
author | Ilion Beyst <ilion.beyst@gmail.com> | 2022-03-11 00:41:18 +0100 |
---|---|---|
committer | Ilion Beyst <ilion.beyst@gmail.com> | 2022-03-11 00:41:18 +0100 |
commit | 63695c299c023bd61d2a45cc22e509ac3717ec8d (patch) | |
tree | 3a1c4a4907a728b3a5eeddbe55f7e4e8a6411051 /planetwars-server/src/routes/demo.rs | |
parent | 523de3ba0692734237b5ed6fa6dce8fbad9d69c8 (diff) | |
download | planetwars.dev-63695c299c023bd61d2a45cc22e509ac3717ec8d.tar.xz planetwars.dev-63695c299c023bd61d2a45cc22e509ac3717ec8d.zip |
add information about match players to match API object
Diffstat (limited to 'planetwars-server/src/routes/demo.rs')
-rw-r--r-- | planetwars-server/src/routes/demo.rs | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/planetwars-server/src/routes/demo.rs b/planetwars-server/src/routes/demo.rs index 5dbbe92..749c0ca 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::{MatchPlayerData, MatchState}; +use crate::db::matches::{FullMatchData, FullMatchPlayerData, MatchPlayerData, MatchState}; use crate::modules::bots::save_code_bundle; use crate::util::gen_alphanumeric; use crate::{ConnectionPool, BOTS_DIR, MAPS_DIR, MATCHES_DIR}; @@ -92,7 +92,6 @@ pub async fn submit_bot( code_bundle_id: opponent_code_bundle.id, }, ]; - // TODO: set match players let match_data = db::matches::create_match(&new_match_data, &new_match_players, &conn) .expect("failed to create match"); @@ -102,7 +101,24 @@ pub async fn submit_bot( pool.clone(), )); - let api_match = super::matches::match_data_to_api(match_data); + // TODO: avoid clones + let full_match_data = FullMatchData { + base: match_data.base, + match_players: vec![ + FullMatchPlayerData { + base: match_data.match_players[0].clone(), + code_bundle: player_code_bundle, + bot: None, + }, + FullMatchPlayerData { + base: match_data.match_players[1].clone(), + code_bundle: opponent_code_bundle, + bot: Some(opponent), + }, + ], + }; + + let api_match = super::matches::match_data_to_api(full_match_data); Ok(Json(SubmitBotResponse { match_data: api_match, })) |