Skip to main content

backbone_integrations/application/validator/
integration_event_validator.rs

1//! Validator for IntegrationEvent entity
2//!
3//! Generated by metaphor-schema. Do not edit manually.
4//!
5//! Returns an `EntityValidator<IntegrationEvent>` pre-loaded with schema-derived
6//! field rules. Extend in the `// <<< CUSTOM` zone.
7
8use backbone_core::{EntityValidator, ValidationErrors, ValidationError};
9use backbone_core::{OptionalNotBlank, RequiredString};
10use crate::domain::entity::IntegrationEvent;
11
12/// Validator type alias for IntegrationEvent entities.
13pub type IntegrationEventValidator = EntityValidator<IntegrationEvent>;
14
15/// Build a validator for IntegrationEvent with all schema-defined field rules.
16pub fn integration_event_validator() -> IntegrationEventValidator {
17    EntityValidator::new()
18        .rule(RequiredString::new("event_type", |e: &IntegrationEvent| &e.event_type))
19        .rule(RequiredString::new("external_id", |e: &IntegrationEvent| &e.external_id))
20        .rule(RequiredString::new("business_key", |e: &IntegrationEvent| &e.business_key))
21        .rule(RequiredString::new("payload", |e: &IntegrationEvent| &e.payload))
22        .rule(OptionalNotBlank::new("mapped_ref_type", |e: &IntegrationEvent| e.mapped_ref_type.as_deref()))
23        .rule(OptionalNotBlank::new("error_detail", |e: &IntegrationEvent| e.error_detail.as_deref()))
24    // <<< CUSTOM RULES
25    // END CUSTOM RULES
26}
27
28// <<< CUSTOM
29// END CUSTOM