#![forbid(unsafe_code)]
#![allow(dead_code)]
#![allow(unused_variables)]
#![allow(deprecated)]
#![allow(clippy::too_many_arguments)]
#![allow(clippy::type_complexity)]
#![allow(clippy::module_inception)]
pub mod domain;
pub mod application;
pub mod infrastructure;
pub mod error;
pub mod store;
pub mod security;
pub mod test_utils;
pub mod webhook_worker;
pub use domain::{entities, entities::Event, repositories};
pub use application::{
dto::{IngestEventRequest, QueryEventsRequest},
services::{
AnalyticsEngine, ExactlyOnceConfig, ExactlyOnceRegistry, Pipeline, PipelineConfig,
PipelineManager, ProjectionManager, ReplayManager, SchemaEvolutionManager, SchemaRegistry,
TenantManager,
},
};
pub use infrastructure::{
persistence::{
CompactionConfig, CompactionManager, EventIndex, ParquetStorage, SnapshotConfig,
SnapshotManager, WALConfig, WriteAheadLog,
},
security::{AuthManager, Permission, RateLimiter, Role},
web::{WebSocketManager, serve},
};
pub use error::{AllSourceError, Result};
pub mod auth {
pub use crate::infrastructure::security::{AuthManager, Permission, Role};
}
pub mod rate_limit {
pub use crate::infrastructure::security::rate_limit::{RateLimitConfig, RateLimiter};
}
pub mod tenant {
pub use crate::{
application::services::tenant_service::{TenantManager, TenantQuotas},
domain::entities::Tenant,
};
}
pub mod config {
pub use crate::infrastructure::config::*;
}
pub mod backup {
pub use crate::infrastructure::persistence::backup::*;
}
pub mod api_v1 {
pub use crate::infrastructure::web::api_v1::{AppState, AtomicNodeRole, NodeRole, serve_v1};
}
pub mod replication {
pub use crate::infrastructure::replication::{
FollowerReplicationStatus, ReplicationMode, ReplicationStatus, WalReceiver, WalShipper,
};
}
pub mod cluster {
pub use crate::infrastructure::cluster::{
ClusterManager, ClusterMember, ClusterStatus, ConflictResolution, CrdtResolver,
GeoReplicationConfig, GeoReplicationManager, GeoReplicationStatus, GeoSyncRequest,
GeoSyncResponse, HlcTimestamp, HybridLogicalClock, MemberRole, Node, NodeRegistry,
PeerHealth, PeerRegion, PeerStatus, ReplicatedEvent, RequestRouter, VersionVector,
VoteRequest, VoteResponse,
};
}
pub mod resp {
pub use crate::infrastructure::resp::RespServer;
}
pub mod query {
pub use crate::infrastructure::query::{
eventql::{EventQLRequest, EventQLResponse, execute_eventql},
geospatial::{
BoundingBox, Coordinate, GeoEventResult, GeoIndex, GeoQueryRequest, RadiusQuery,
execute_geo_query, haversine_distance,
},
graphql::{
GraphQLError, GraphQLRequest, GraphQLResponse, QueryField, event_to_json,
introspection_schema, parse_query,
},
};
}
pub use store::EventStore;
#[cfg(test)]
mod security_integration_tests;