pub mod admin;
pub mod app;
mod app_state;
pub mod audio;
pub mod auth;
pub mod dice;
pub mod error;
pub mod grid;

pub use app::App;
pub use app_state::AppState;
use axum::Router;
use std::sync::Arc;

pub fn get_routes() -> Router<Arc<AppState>> {
  Router::new()
    .nest("/admin", admin::get_routes())
    .nest("/auth", auth::get_routes())
    .nest("/audio", audio::get_routes())
    .nest("/audio/{guild_id}", audio::get_guild_routes())
    .nest("/dice", dice::get_routes())
    .nest("/grid", grid::get_routes())
}
