Init
This commit is contained in:
@@ -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 })
|
||||
|
||||
@@ -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 {}
|
||||
|
||||
Reference in New Issue
Block a user