forked from Roflin/gamenight
Fixes the ugly Register User post handler.
This commit is contained in:
@@ -7,7 +7,7 @@ use crate::request::requests::{Login, Register};
|
||||
use crate::request::error::ApiError;
|
||||
use crate::request::responses::LoginResponse;
|
||||
use crate::request::authorization::get_token;
|
||||
use crate::request::util::GetPgConnection;
|
||||
use crate::util::GetConnection;
|
||||
use crate::schema::{self};
|
||||
use serde_json;
|
||||
|
||||
@@ -30,8 +30,6 @@ impl Into<schema::user::Register> for Register {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[get("/token")]
|
||||
pub async fn login(pool: web::Data<DbPool>, login_data: web::Json<Login>) -> Result<impl Responder, ApiError> {
|
||||
let data = login_data.into_inner();
|
||||
@@ -57,19 +55,12 @@ pub async fn login(pool: web::Data<DbPool>, login_data: web::Json<Login>) -> Res
|
||||
|
||||
#[post("/user")]
|
||||
pub async fn register(pool: web::Data<DbPool>, register_data: web::Json<Register>) -> Result<impl Responder, ApiError> {
|
||||
let data1 = register_data.clone();
|
||||
let data2 = register_data.clone();
|
||||
let register_request = data2.into();
|
||||
let mut conn1 = pool.get_conn();
|
||||
let mut conn2 = pool.get_conn();
|
||||
|
||||
let _validation_result = web::block(move || {
|
||||
data1.validate_args((&mut conn1, &mut conn2))
|
||||
}).await??;
|
||||
|
||||
let mut conn3 = pool.get_conn();
|
||||
let _register_result = web::block(move || {
|
||||
schema::register(&mut conn3, register_request)
|
||||
web::block(move || -> Result<(), ApiError> {
|
||||
register_data.validate_args((&pool, &pool))?;
|
||||
let register_request = register_data.into_inner().into();
|
||||
let mut conn = pool.get_conn();
|
||||
schema::register(&mut conn, register_request)?;
|
||||
Ok(())
|
||||
}).await??;
|
||||
|
||||
return Ok(HttpResponse::Ok())
|
||||
|
||||
Reference in New Issue
Block a user