use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
use backbone_core::{OptionalNotBlank, RequiredString};
use crate::domain::entity::Thumbnail;
pub type ThumbnailValidator = EntityValidator<Thumbnail>;
pub fn thumbnail_validator() -> ThumbnailValidator {
EntityValidator::new()
.rule(RequiredString::new("storage_key", |e: &Thumbnail| &e.storage_key))
.rule(RequiredString::new("storage_backend", |e: &Thumbnail| &e.storage_backend))
.rule(RequiredString::new("mime_type", |e: &Thumbnail| &e.mime_type))
.rule(RequiredString::new("format", |e: &Thumbnail| &e.format))
.rule(OptionalNotBlank::new("cdn_url", |e: &Thumbnail| e.cdn_url.as_deref()))
}