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