summaryrefslogtreecommitdiff
path: root/server/src/main.rs
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2022-11-05 18:06:54 -0400
committerKjetil Orbekk <kj@orbekk.com>2022-11-05 18:37:09 -0400
commit50d6ef8ad0f344c9b510c6752119fa5983629d95 (patch)
treefedf2e0569750353a352500ac0ad85034828930d /server/src/main.rs
parent2d9d37bd5e4770a05cae780f2113266f3fdd0915 (diff)
Add table view and go to table automatically
Diffstat (limited to 'server/src/main.rs')
-rw-r--r--server/src/main.rs17
1 files changed, 16 insertions, 1 deletions
diff --git a/server/src/main.rs b/server/src/main.rs
index eaf1379..3f464ac 100644
--- a/server/src/main.rs
+++ b/server/src/main.rs
@@ -5,7 +5,7 @@ use auth::AuthenticatedSession;
use axum::{
extract::{Extension, Query},
response::Redirect,
- routing::{get, post},
+ routing::{delete, get, post},
Json, Router,
};
use protocol::{Table, UserInfo};
@@ -60,6 +60,7 @@ async fn main() {
let app = Router::new()
.route("/api/user/info", get(user_info))
.route("/api/table", post(create_table))
+ .route("/api/table", delete(leave_table))
// .route("/api/user/table", get(user_table))
.route("/api/login", get(login))
.route(auth::LOGIN_CALLBACK, get(login_callback))
@@ -73,6 +74,20 @@ async fn main() {
.unwrap();
}
+async fn leave_table(
+ session: AuthenticatedSession,
+ extension: ContextExtension,
+) -> Result<(), BridgeError> {
+ sqlx::query!(
+ r#"
+ delete from table_players where player_id = $1
+ "#, session.player_id
+ )
+ .execute(&extension.db)
+ .await?;
+ Ok(())
+}
+
async fn create_table(
session: AuthenticatedSession,
extension: ContextExtension,