forked from Roflin/gamenight
upgrades packages.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
|
||||
mod requests;
|
||||
pub mod requests;
|
||||
mod responses;
|
||||
mod user_handlers;
|
||||
mod gamenight_handlers;
|
||||
|
||||
@@ -12,20 +12,24 @@ pub struct Login {
|
||||
pub password: String
|
||||
}
|
||||
|
||||
pub struct RegisterContext<'v_a> {
|
||||
pub pool: &'v_a Pool<ConnectionManager<PgConnection>>
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, Validate)]
|
||||
#[validate(context = RegisterContext::<'v_a>)]
|
||||
pub struct Register {
|
||||
#[validate(
|
||||
length(min = 1),
|
||||
custom(function = "unique_username", arg = "&'v_a Pool<ConnectionManager<PgConnection>>")
|
||||
custom(function = "unique_username", use_context)
|
||||
)]
|
||||
pub username: String,
|
||||
#[validate(
|
||||
email,
|
||||
custom(function = "unique_email", arg = "&'v_a Pool<ConnectionManager<PgConnection>>")
|
||||
custom(function = "unique_email", use_context)
|
||||
)]
|
||||
#[validate(email)]
|
||||
pub email: String,
|
||||
#[validate(length(min = 10), must_match = "password_repeat")]
|
||||
#[validate(length(min = 10), must_match(other = "password_repeat", ))]
|
||||
pub password: String,
|
||||
pub password_repeat: String,
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ use actix_web::http::header::ContentType;
|
||||
use actix_web::{web, post, HttpResponse, Responder};
|
||||
use validator::ValidateArgs;
|
||||
use crate::DbPool;
|
||||
use crate::request::requests::{Login, Register};
|
||||
use crate::request::requests::{Login, Register, RegisterContext};
|
||||
use crate::request::error::ApiError;
|
||||
use crate::request::responses::LoginResponse;
|
||||
use crate::request::authorization::get_token;
|
||||
@@ -55,7 +55,7 @@ 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> {
|
||||
web::block(move || -> Result<(), ApiError> {
|
||||
register_data.validate_args((&pool, &pool))?;
|
||||
register_data.validate_with_args(&RegisterContext{pool: &pool})?;
|
||||
let register_request = register_data.into_inner().into();
|
||||
let mut conn = pool.get_conn();
|
||||
schema::register(&mut conn, register_request)?;
|
||||
|
||||
Reference in New Issue
Block a user