backbone-events 0.5.1

Events core + the sale/booth/crm/sms/desk overlay — registrations under one authoritative seat counter, the sale seam (order-minted registrations, forward-only paid heal, SO-cancel mirror cascade), booth bookings with the DB exclusivity wall, closed-vocabulary lead rules through a host sink port, the dual-channel (mail/sms) self-arming scheduler, and the exact-match desk verb (Odoo event port, core + overlay)
//! Specifications for Event aggregate
//!
//! Generated by metaphor-schema. Do not edit manually.
//!
//! Entity-specific predicate structs implementing `backbone_core::Specification`.
//! Combinators (AND/OR/NOT) are available via the trait methods — no duplication.

use backbone_core::Specification;
use crate::domain::entity::Event;

pub use backbone_core::{AndSpecification, OrSpecification, NotSpecification};

// ─── Entity-specific predicates ──────────────────────────────────────────────
//
// Add entity-specific predicate structs below.
// Each predicate implements `Specification<Event>` and can be combined
// using `.and()`, `.or()`, `.not()` from the trait.
//
// Example:
//   let spec = ActiveSpec.and(VerifiedSpec);
//   if spec.is_satisfied_by(&entity) { ... }

// <<< CUSTOM
// Add predicate structs here. Example:
//
// pub struct ActiveEventSpec;
// impl Specification<Event> for ActiveEventSpec {
//     fn is_satisfied_by(&self, e: &Event) -> bool {
//         // e.is_active
//         todo!()
//     }
// }
// END CUSTOM