refactor(app): implement ports & adapters
* also move alertFormatter into internal actor
This commit is contained in:
30
src/main.rs
30
src/main.rs
@@ -3,9 +3,26 @@ use dotenvy::dotenv;
|
||||
use system_monitor::SystemMonitor;
|
||||
|
||||
mod app {
|
||||
pub mod ports;
|
||||
pub mod service;
|
||||
}
|
||||
|
||||
mod adapters {
|
||||
pub mod driven {
|
||||
pub mod for_getting_violation_data;
|
||||
pub mod for_monitoring_system;
|
||||
pub mod for_sending_notification;
|
||||
}
|
||||
}
|
||||
|
||||
mod actors {
|
||||
pub mod driven {
|
||||
pub mod for_formatting_message {
|
||||
pub mod alert_formatter;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
dotenv().ok();
|
||||
|
||||
@@ -14,12 +31,19 @@ fn main() {
|
||||
"System Monitor".to_string(),
|
||||
"https://cdn.shopify.com/s/files/1/0262/1423/6212/files/Lord_of_the_Rings_eye_of_Sauron_-_Ghtic.com_-_Blog.png?v=1579680018".to_string(),
|
||||
);
|
||||
|
||||
let monitor =
|
||||
SystemMonitor::new(system_monitor::resource_threshold::get_default_resource_thresholds());
|
||||
|
||||
let formatter = system_monitor::alert_formatter::AlertFormatter;
|
||||
let discord_adapter =
|
||||
adapters::driven::for_sending_notification::discord_client::DiscordAdapter::new(notifier);
|
||||
let system_monitor_adapter =
|
||||
adapters::driven::for_monitoring_system::system_monitor::SystemMonitorAdapter::new(monitor);
|
||||
let formatter = actors::driven::for_formatting_message::alert_formatter::AlertFormatter;
|
||||
|
||||
let service = app::service::new(notifier, monitor, formatter);
|
||||
let service = app::service::new(
|
||||
Box::new(discord_adapter),
|
||||
Box::new(system_monitor_adapter),
|
||||
Box::new(formatter),
|
||||
);
|
||||
service.run();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user