From 7a80df9cce73e0515cdb40410e21329fdc361ee6 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Sun, 18 Dec 2022 13:18:50 -0500 Subject: Advance play until player turn for webapp --- server/src/main.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'server/src/main.rs') diff --git a/server/src/main.rs b/server/src/main.rs index 95e23e6..68baab7 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -24,7 +24,7 @@ mod server; mod fake_auth; use crate::{ auth::{OauthAuthenticator, SessionId}, - server::ServerContext, + server::ServerContext, play::advance_play, }; use crate::{ error::BridgeError, @@ -138,10 +138,15 @@ async fn get_table_view( Path(id): Path, ) -> Result, BridgeError> { info!("Getting table state for {id:}"); + let player_position = Player::South; let jnl = DbJournal::new(extension.db.clone(), id); - let table = play::Table::new_or_replay(jnl).await?; + let mut table = play::Table::new_or_replay(jnl).await?; + info!("Advancing play"); + while table.game().current_player() != Some(player_position) { + advance_play(&mut table).await?; + } let response = - Json(GameStatePlayerView::from_game_state(table.game(), Player::South)); + Json(GameStatePlayerView::from_game_state(table.game(), player_position)); info!("Response: {response:#?}"); Ok(response) } -- cgit v1.2.3