Files
oott/backend/src/main.rs
T

40 lines
972 B
Rust
Raw Normal View History

use crate::settings::CONFIG;
use log::{LevelFilter, info};
mod db;
2026-01-13 07:57:47 -05:00
mod device_finders;
2026-01-21 11:09:58 -05:00
mod events;
2026-01-19 12:45:52 -05:00
mod mac_vendor_finder;
2026-02-14 12:30:12 -05:00
mod model;
mod scanner;
mod settings;
mod web_server;
2026-01-13 07:57:47 -05:00
2026-01-13 15:48:17 -05:00
#[tokio::main]
async fn main() -> Result<(), String> {
// Initialize logging
let log_level = match CONFIG.log.level.as_str() {
"off" => LevelFilter::Off,
"error" => LevelFilter::Error,
"warn" => LevelFilter::Warn,
"info" => LevelFilter::Info,
"debug" => LevelFilter::Debug,
"trace" => LevelFilter::Trace,
_ => LevelFilter::Error,
};
env_logger::Builder::new()
.filter(None, log_level)
.write_style(env_logger::WriteStyle::Always)
.init();
// Now onto the important stuff
info!("Starting up oott");
2026-01-13 07:57:47 -05:00
2026-02-17 15:20:47 -05:00
// Initialize database
db::init_db().await?;
// Start the device scanner and web server (for API and UI) in parallel
tokio::join!(scanner::scan(), web_server::serve()).0
2026-01-13 07:57:47 -05:00
}