pub mod app; pub mod config; pub mod db; pub mod error; pub mod extractors; pub mod middleware; pub mod modding; pub mod models; pub mod routes; pub mod seed; pub mod services; use anyhow::Result; use axum::Router; /// Build the full Axum application with a provided pool and data directory. /// Used by tests to create in-process app instances. pub async fn build_app(pool: db::Pool, data_dir: &str) -> Result { let cfg = config::Config { listen_addr: "127.0.0.1:0".into(), database_url: "sqlite::memory:".into(), data_dir: data_dir.to_string(), max_connections: 1, dev_content_games: Vec::new(), content_packs: Vec::new(), }; app::build(pool, cfg).await }