Skip to main content

Module trigger

Module trigger 

Source
Expand description

Generic trigger handler trait and types for entity lifecycle events.

Phase 0 generic base for the trigger.rs generator (Category C).

Every generated {Model}TriggerHandler used to re-define the same boilerplate. This module provides the single generic version so that generated files collapse to type aliases:

ⓘ
use backbone_core::trigger::{TriggerEvent, TriggerContext, TriggerContextMut,
                              TriggerRegistry, ActionExecutor, TriggerHandler};
use crate::domain::entity::Order;

pub type OrderTriggerEvent      = TriggerEvent;
pub type OrderTriggerContext    = TriggerContext<Order>;
pub type OrderTriggerContextMut = TriggerContextMut<Order>;
pub type OrderActionExecutor    = ActionExecutor;
pub type OrderTriggerRegistry   = TriggerRegistry<Order>;
pub type OrderTriggerHandlerObj = dyn TriggerHandler<TriggerContext<Order>, TriggerEvent>;

Structs§

ActionExecutor
Shared executor for side-effect actions (email, notify, webhook, emit).
TriggerContext
Immutable trigger context passed to handlers.
TriggerContextMut
Mutable trigger context for before-hooks that may modify the entity.
TriggerRegistry
Registry that dispatches trigger events to registered handlers.

Enums§

TriggerEvent
Lifecycle trigger events — identical for every entity.

Traits§

TriggerHandler
Generic lifecycle trigger handler.