mod did_public;
pub mod health;
mod sync;
use axum::Router;
use axum::extract::DefaultBodyLimit;
use axum::routing::{get, post};
use crate::server::AppState;
pub fn router() -> Router<AppState> {
let sync_routes = Router::new()
.route("/did", post(sync::receive_did))
.route("/delete", post(sync::receive_delete))
.layer(DefaultBodyLimit::max(256 * 1024));
let api = Router::new().nest("/sync", sync_routes);
Router::new()
.nest("/api", api)
.route(
"/.well-known/did.jsonl",
get(did_public::serve_root_did_log),
)
.route(
"/.well-known/did-witness.json",
get(did_public::serve_root_witness),
)
.fallback(did_public::serve_public)
}