Merge of dev-auth #1
32
src/main.rs
32
src/main.rs
@@ -346,6 +346,7 @@ async fn post(req: Request<Incoming>, db: Arc<Mutex<SqlitePool>>) -> Result<Resp
|
||||
"/login" => login(req, db).await,
|
||||
"/register" => register(req, db).await,
|
||||
"/logout" => logout().await,
|
||||
"/player" => post_player(req, db).await,
|
||||
_ => not_found().await,
|
||||
}
|
||||
}
|
||||
@@ -354,13 +355,9 @@ async fn post_vote(
|
||||
req: Request<Incoming>,
|
||||
db: Arc<Mutex<SqlitePool>>,
|
||||
) -> Result<Response<Body>, Error> {
|
||||
let body = req.into_body().collect().await?;
|
||||
let data: Result<Vote, serde_json::Error> = from_reader(body.aggregate().reader());
|
||||
if data.is_err() {
|
||||
return Ok(Response::builder()
|
||||
.status(StatusCode::BAD_REQUEST)
|
||||
.body(Body::Empty)
|
||||
.unwrap());
|
||||
let data = req_json::<Vote>(req).await;
|
||||
if data.is_none() {
|
||||
return bad_request().await;
|
||||
}
|
||||
let vote = data.unwrap();
|
||||
let timestamp: DateTime<Utc> = DateTime::from(SystemTime::now());
|
||||
@@ -382,7 +379,26 @@ async fn post_vote(
|
||||
.body(Body::Empty)
|
||||
.unwrap());
|
||||
}
|
||||
Ok(Response::builder().body(Body::Empty).unwrap())
|
||||
ok().await
|
||||
}
|
||||
|
||||
async fn post_player(req: Request<Incoming>, db: Arc<Mutex<SqlitePool>>) -> Result<Response<Body>, Error> {
|
||||
let data = req_json::<Value>(req).await;
|
||||
if data.is_none() {
|
||||
return bad_request().await;
|
||||
}
|
||||
let data = data.unwrap();
|
||||
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 r.is_err() {
|
||||
return Ok(Response::builder()
|
||||
.status(StatusCode::INTERNAL_SERVER_ERROR)
|
||||
.body(Body::Empty)
|
||||
.unwrap());
|
||||
}
|
||||
ok().await
|
||||
}
|
||||
|
||||
async fn post_admin(
|
||||
|
||||
Reference in New Issue
Block a user