pub mod handlers;
use std::sync::Arc;
use axum::Router;
use axum::routing::{get, post};
use mnemo_core::query::MnemoEngine;
pub fn router(engine: Arc<MnemoEngine>) -> Router {
Router::new()
.route("/admin/", get(handlers::dashboard_handler))
.route("/admin/api/health", get(handlers::health_handler))
.route("/admin/api/stats", get(handlers::stats_handler))
.route("/admin/api/agents", get(handlers::agents_handler))
.route("/admin/api/memories", get(handlers::memories_handler))
.route("/admin/api/events", get(handlers::events_handler))
.route(
"/admin/api/quarantine/{id}",
post(handlers::quarantine_handler),
)
.route(
"/admin/api/unquarantine/{id}",
post(handlers::unquarantine_handler),
)
.layer(tower_http::cors::CorsLayer::permissive())
.layer(tower_http::trace::TraceLayer::new_for_http())
.with_state(engine)
}