gamenight/backend-actix/src/request/request_data.rs

28 lines
760 B
Rust

use serde::{Serialize, Deserialize};
use validator::Validate;
use crate::schema::user::{unique_email, unique_username};
#[derive(Serialize, Deserialize, Clone)]
pub struct Login {
pub username: String,
pub password: String
}
#[derive(Serialize, Deserialize, Clone, Validate)]
pub struct Register {
#[validate(
length(min = 1),
custom(function = "unique_username", arg = "&'v_a mut diesel::PgConnection")
)]
pub username: String,
#[validate(
email,
custom(function = "unique_email", arg = "&'v_a mut diesel::PgConnection")
)]
#[validate(email)]
pub email: String,
#[validate(length(min = 10), must_match = "password_repeat")]
pub password: String,
pub password_repeat: String,
}