backbone-bucket 0.4.4

Bucket Bounded Context: File Storage Module for Backbone Framework
Documentation
//! Validator for FileVersion entity
//!
//! Generated by metaphor-schema. Do not edit manually.
//!
//! Returns an `EntityValidator<FileVersion>` pre-loaded with schema-derived
//! field rules. Extend in the `// <<< CUSTOM` zone.

use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
use backbone_core::{NonNegative, OptionalNotBlank, RequiredString};
use crate::domain::entity::FileVersion;

/// Validator type alias for FileVersion entities.
pub type FileVersionValidator = EntityValidator<FileVersion>;

/// Build a validator for FileVersion with all schema-defined field rules.
pub fn file_version_validator() -> FileVersionValidator {
    EntityValidator::new()
        .rule(RequiredString::new("storage_key", |e: &FileVersion| &e.storage_key))
        .rule(RequiredString::new("storage_backend", |e: &FileVersion| &e.storage_backend))
        .rule(RequiredString::new("name", |e: &FileVersion| &e.name))
        .rule(RequiredString::new("mime_type", |e: &FileVersion| &e.mime_type))
        .rule(OptionalNotBlank::new("checksum_md5", |e: &FileVersion| e.checksum_md5.as_deref()))
        .rule(OptionalNotBlank::new("checksum_sha256", |e: &FileVersion| e.checksum_sha256.as_deref()))
        .rule(OptionalNotBlank::new("change_summary", |e: &FileVersion| e.change_summary.as_deref()))
        .rule(NonNegative::new("size_bytes", |e: &FileVersion| e.size_bytes))
}