dkdc_db_server/lib.rs
1pub mod api;
2
3use std::sync::Arc;
4
5use dkdc_db_core::DkdcDb;
6
7/// Start the server on the given address.
8pub async fn serve(db: DkdcDb, host: &str, port: u16) -> std::io::Result<()> {
9 let state = Arc::new(db);
10 let app = api::router(state);
11
12 let addr = format!("{host}:{port}");
13 let listener = tokio::net::TcpListener::bind(&addr).await?;
14 tracing::info!("dkdc-db server listening on {addr}");
15 axum::serve(listener, app).await?;
16
17 Ok(())
18}