This commit is contained in:
2026-06-20 16:44:40 +02:00
parent 4466b6c1ca
commit e38dcfca5a
9 changed files with 310 additions and 25 deletions
+6
View File
@@ -5,6 +5,7 @@ use crate::database::Database;
use crate::http::server::HttpServer;
use crate::metrics::{reporter, AppMetrics};
use crate::repositories::Repositories;
use crate::routes::gateway::GatewayManager;
use crate::udp::server::UdpServer;
use event_bus::EventBus;
use migration::{Migrator, MigratorTrait};
@@ -32,6 +33,9 @@ impl App {
// Initialize shared repositories
let repositories = Repositories::new(db.clone(), event_bus.clone());
// Initialize gateway manager
let gateway = Arc::new(GatewayManager::default());
// Init one server if no one exist
let default_server = match repositories.server.get_default().await? {
Some(server) => server,
@@ -69,6 +73,8 @@ impl App {
init_token: Arc::new(RwLock::new(init_token)),
default_server: Arc::new(default_server),
metrics,
gateway,
event_bus,
};
Ok(Self { state })
+4
View File
@@ -2,6 +2,8 @@ use crate::config::AppConfig;
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};
@@ -13,6 +15,8 @@ pub struct AppState {
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 {}