use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
use backbone_core::{OptionalNotBlank, RequiredString};
use crate::domain::entity::FetchmailServer;
pub type FetchmailServerValidator = EntityValidator<FetchmailServer>;
pub fn fetchmail_server_validator() -> FetchmailServerValidator {
EntityValidator::new()
.rule(RequiredString::new("name", |e: &FetchmailServer| &e.name))
.rule(OptionalNotBlank::new("default_thread_model", |e: &FetchmailServer| e.default_thread_model.as_deref()))
.rule(RequiredString::new("token_hash", |e: &FetchmailServer| &e.token_hash))
.rule(OptionalNotBlank::new("error_message", |e: &FetchmailServer| e.error_message.as_deref()))
}