From b62be3482bc8a69d59744964ec4f6d3574d8b918 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Fri, 23 Dec 2022 16:41:50 -0500 Subject: Add ability to request the next deal when results are displayed --- server/src/main.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'server/src/main.rs') diff --git a/server/src/main.rs b/server/src/main.rs index a9e8f69..c0ec4cb 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -117,6 +117,7 @@ async fn main() { .route("/api/table/:id", get(get_table_view)) .route("/api/table/:id/bid", post(post_bid)) .route("/api/table/:id/play", post(post_play)) + .route("/api/table/:id/admin/deal", post(table_new_deal)) .route("/api/login", get(login)) .route(auth::LOGIN_CALLBACK, get(login_callback)) .layer(CookieManagerLayer::new()) @@ -169,6 +170,18 @@ async fn get_table_view( Ok(response) } +async fn table_new_deal( + _session: AuthenticatedSession, + State(state): ServerState, + Path(id): Path, +) -> Result, BridgeError> { + info!("Getting table state for {id:}"); + let jnl = DbJournal::new(state.db.clone(), id); + let mut table = play::Table::replay(jnl).await?; + table.new_deal().await?; + Ok(Json(())) +} + async fn post_bid( _session: AuthenticatedSession, State(state): ServerState, -- cgit v1.2.3