domi-server 0.1.0

DOMicile live-server library (Phase 2c).
use std::sync::Arc;

use axum::{
    routing::{get, post},
    Router,
};

use super::{handlers, state::AppState, ws};

pub fn build_router(state: Arc<AppState>) -> Router {
    Router::new()
        .route("/", get(handlers::banner))
        .route("/healthz", get(handlers::healthz))
        .route(
            "/api/events",
            post(handlers::post_event).get(handlers::get_events),
        )
        .route("/ws/events", get(ws::ws_upgrade))
        .fallback(get(handlers::static_serve))
        .with_state(state)
}