use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
use backbone_core::{OptionalNotBlank};
use crate::domain::entity::Mail;
pub type MailValidator = EntityValidator<Mail>;
pub fn mail_validator() -> MailValidator {
EntityValidator::new()
.rule(OptionalNotBlank::new("failure_reason", |e: &Mail| e.failure_reason.as_deref()))
.rule(OptionalNotBlank::new("email_to", |e: &Mail| e.email_to.as_deref()))
.rule(OptionalNotBlank::new("email_cc", |e: &Mail| e.email_cc.as_deref()))
.rule(OptionalNotBlank::new("reply_to", |e: &Mail| e.reply_to.as_deref()))
}