user can add player while voting
This commit is contained in:
@@ -391,14 +391,19 @@ async fn post_player(req: Request<Incoming>, db: Arc<Mutex<SqlitePool>>) -> Resu
|
||||
let name = data.get("name").unwrap().as_str().unwrap();
|
||||
let pool = db.clone().lock().unwrap().clone();
|
||||
let mut conn = pool.acquire().await.unwrap();
|
||||
let r = sqlx::query!(r#"INSERT INTO players (name) VALUES (?1)"#, data).execute(&mut *conn).await;
|
||||
if let Ok(Some(player)) = sqlx::query!(r#"SELECT * FROM players WHERE name = ?1"#, name).fetch_optional(&pool).await {
|
||||
let player = Player{id: player.id, name: player.name};
|
||||
return Ok(Response::builder().body(Body::new(serde_json::to_string(&player).unwrap())).unwrap());
|
||||
}
|
||||
let r = sqlx::query!(r#"INSERT INTO players (name) VALUES (?1) RETURNING id"#, name).fetch_one(&mut *conn).await;
|
||||
if r.is_err() {
|
||||
return Ok(Response::builder()
|
||||
.status(StatusCode::INTERNAL_SERVER_ERROR)
|
||||
.body(Body::Empty)
|
||||
.unwrap());
|
||||
}
|
||||
ok().await
|
||||
let player = Player{id: r.unwrap().id, name: name.to_string()};
|
||||
Ok(Response::builder().body(Body::new(serde_json::to_string(&player).unwrap())).unwrap())
|
||||
}
|
||||
|
||||
async fn post_admin(
|
||||
|
||||
Reference in New Issue
Block a user