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, }