backbone-digest 0.3.0

KPI digests — the periodic KPI-email engine: a declarative name-keyed KPI registry other modules extend, per-recipient fenced rendering with declared (never row-count) KPI drops, the anti-spam slowdown ladder, a shared tips carousel, and a daily plain-pull cron whose due-date column is the queue (Odoo digest port)
//! Validator for DigestTip entity
//!
//! Generated by metaphor-schema. Do not edit manually.
//!
//! Returns an `EntityValidator<DigestTip>` pre-loaded with schema-derived
//! field rules. Extend in the `// <<< CUSTOM` zone.

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

/// Validator type alias for DigestTip entities.
pub type DigestTipValidator = EntityValidator<DigestTip>;

/// Build a validator for DigestTip with all schema-defined field rules.
pub fn digest_tip_validator() -> DigestTipValidator {
    EntityValidator::new()
        .rule(RequiredString::new("name", |e: &DigestTip| &e.name))
        .rule(RequiredString::new("tip_description", |e: &DigestTip| &e.tip_description))
        .rule(OptionalNotBlank::new("group_key", |e: &DigestTip| e.group_key.as_deref()))
    // <<< CUSTOM RULES
    // END CUSTOM RULES
}

// <<< CUSTOM
// END CUSTOM