#[derive(Debug, Clone, PartialEq, Eq)]
pub struct EventGenerationRule {
    pub command_succeeded: bool,
    pub changed_domain_state: bool,
    pub rolled_back: bool,
}

pub fn should_emit_domain_event(rule: &EventGenerationRule) -> bool {
    rule.command_succeeded && rule.changed_domain_state && !rule.rolled_back
}
