reinhardt-core 0.1.0

Core components for Reinhardt framework
Documentation
//! Model lifecycle signals
//!
//! Provides convenience functions for common model signals.

use super::core::SignalName;
use super::registry::get_signal;
use super::signal::Signal;

/// Pre-save signal - sent before a model instance is saved
pub fn pre_save<T: Send + Sync + 'static>() -> Signal<T> {
	get_signal::<T>(SignalName::PRE_SAVE)
}

/// Post-save signal - sent after a model instance is saved
pub fn post_save<T: Send + Sync + 'static>() -> Signal<T> {
	get_signal::<T>(SignalName::POST_SAVE)
}

/// Pre-delete signal - sent before a model instance is deleted
pub fn pre_delete<T: Send + Sync + 'static>() -> Signal<T> {
	get_signal::<T>(SignalName::PRE_DELETE)
}

/// Post-delete signal - sent after a model instance is deleted
pub fn post_delete<T: Send + Sync + 'static>() -> Signal<T> {
	get_signal::<T>(SignalName::POST_DELETE)
}