29 lines
789 B
Rust
29 lines
789 B
Rust
use crate::config::AppConfig;
|
|
use crate::core::permission_sync::PermissionSyncService;
|
|
use crate::metrics::AppMetrics;
|
|
use crate::models::server;
|
|
use crate::repositories::Repositories;
|
|
use crate::routes::gateway::GatewayManager;
|
|
use event_bus::EventBus;
|
|
use sea_orm::DatabaseConnection;
|
|
use std::sync::{Arc, RwLock};
|
|
|
|
#[derive(Debug, Clone)]
|
|
pub struct AppState {
|
|
pub db: DatabaseConnection,
|
|
pub config: Arc<AppConfig>,
|
|
pub repositories: Arc<Repositories>,
|
|
pub init_token: Arc<RwLock<Option<uuid::Uuid>>>,
|
|
pub default_server: Arc<server::Model>,
|
|
pub metrics: AppMetrics,
|
|
pub gateway: Arc<GatewayManager>,
|
|
pub event_bus: Arc<EventBus>,
|
|
}
|
|
|
|
impl AppState {}
|
|
|
|
#[derive(Debug, Clone)]
|
|
pub struct Services {
|
|
pub permission_sync: Arc<PermissionSyncService>,
|
|
}
|