29 lines
676 B
Rust
29 lines
676 B
Rust
|
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||
|
pub struct SizeConstraint {
|
||
|
min: usize,
|
||
|
max: usize,
|
||
|
}
|
||
|
|
||
|
impl SizeConstraint {
|
||
|
pub fn new(min: usize, max: usize) -> Self {
|
||
|
Self { min, max }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#[derive(Debug, Clone, serde::Serialize)]
|
||
|
pub struct StaticConstraints {
|
||
|
pub mail_len: SizeConstraint,
|
||
|
pub user_name_len: SizeConstraint,
|
||
|
pub password_len: SizeConstraint,
|
||
|
}
|
||
|
|
||
|
impl Default for StaticConstraints {
|
||
|
fn default() -> Self {
|
||
|
Self {
|
||
|
mail_len: SizeConstraint::new(5, 255),
|
||
|
user_name_len: SizeConstraint::new(3, 30),
|
||
|
password_len: SizeConstraint::new(8, 255),
|
||
|
}
|
||
|
}
|
||
|
}
|