use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Registration {
#[serde(default = "Registration::default_email")]
pub email: Option<Email>,
}
impl Default for Registration {
fn default() -> Self {
Self {
email: Self::default_email(),
}
}
}
impl Registration {
fn default_email() -> Option<Email> {
None
}
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Email {
#[serde(default = "Email::default_required")]
pub required: bool,
#[serde(default = "Email::default_verified")]
pub verification_required: bool,
}
impl Default for Email {
fn default() -> Self {
Self {
required: Self::default_required(),
verification_required: Self::default_verified(),
}
}
}
impl Email {
fn default_required() -> bool {
false
}
fn default_verified() -> bool {
false
}
}