mod application;
pub mod db;
mod http;
pub use application::{Saddle, SaddleBuilder, SaddleConfig};
pub use saddle_core::{
ApplicationId, CallContext, ErrorKind, ModuleId, OperationId, Result, SaddleError, ServiceId,
SpanId, TraceId,
};
pub mod obs {
pub use saddle_observability::{DomainEvent, DomainEventError, DomainValue, EventLevel};
use crate::{CallContext, ErrorKind, Result, SaddleError};
pub fn record(context: &CallContext, event: DomainEvent) -> Result<()> {
let observer = saddle_observability::global().ok_or_else(|| {
SaddleError::new(
ErrorKind::Unavailable,
"observability.not_initialized",
"Saddle observability is not initialized",
)
})?;
observer.record_domain_event(context, event);
Ok(())
}
}
pub mod service {
pub use saddle_service::{
Service, ServiceClient, ServiceDescriptor, ServiceFuture, ServiceHandler, ServiceResolver,
};
}