use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
use backbone_core::{OptionalNotBlank, RequiredString};
use crate::domain::entity::Location;
pub type LocationValidator = EntityValidator<Location>;
pub fn location_validator() -> LocationValidator {
EntityValidator::new()
.rule(RequiredString::new("name", |e: &Location| &e.name))
.rule(RequiredString::new("complete_name", |e: &Location| &e.complete_name))
.rule(RequiredString::new("parent_path", |e: &Location| &e.parent_path))
.rule(OptionalNotBlank::new("barcode", |e: &Location| e.barcode.as_deref()))
}