use axum::{routing::get, Router}; use sqlx::SqlitePool; pub mod agents; pub mod events; pub mod health; pub mod metrics; pub mod network; pub mod widgets; pub fn api_router(db: SqlitePool) -> Router { Router::new() .route("/api/v1/health", get(health::health)) .route("/api/v1/agents", get(agents::list).post(agents::register)) .route("/api/v1/agents/{id}", get(agents::get_one)) .route("/api/v1/network", get(network::list).post(network::push)) .route("/api/v1/network/{ip}", get(network::get_one)) .route("/api/v1/metrics", get(metrics::list).post(metrics::push)) .route("/api/v1/metrics/{agent_id}", get(metrics::get_one)) .route("/api/v1/events", get(events::list).post(events::push)) .route("/api/v1/widgets/network", get(widgets::network)) .route("/api/v1/widgets/metrics", get(widgets::metrics)) .with_state(db) }