use activitypub_federation::config::{FederationConfig, FederationMiddleware}; use axum::{Router, routing::get}; use tower_http::trace::TraceLayer; use crate::{server::routes::health_check, state::AppHandle}; pub mod routes; pub fn router(state: FederationConfig) -> Router { Router::new() .merge(routes::users::users_router()) .route("/", get(health_check)) .layer(TraceLayer::new_for_http()) .layer(FederationMiddleware::new(state)) } #[cfg(test)] pub(crate) fn test_config() -> stack_up::Configuration { use stack_up::Configuration; let config_path = "sellershut.toml"; let config = config::Config::builder() .add_source(config::File::new(config_path, config::FileFormat::Toml)) .build() .unwrap(); config.try_deserialize::().unwrap() }