use anyhow::Context; use surrealdb::{engine::remote::ws::Client, Surreal}; use tracing::info; use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; mod html; mod database; pub async fn run() -> anyhow::Result<()> { let connection: Surreal = database::connect().await?; let mut articles: Vec = database::get_all_articles(&connection).await?; database::get_article(&connection, articles.pop().unwrap().id.id.to_string()).await?; tracing_subscriber::registry() .with( tracing_subscriber::EnvFilter::try_from_default_env() .unwrap_or_else(|_| "achubb_backend".into()), ) .with(tracing_subscriber::fmt::layer()) .init(); info!("initializing router..."); let port = 21212_u16; let addr = std::net::SocketAddr::from(([0, 0, 0, 0], port)); let router = html::root::get_router(); info!("router initialized, now listening on port {}", port); axum::Server::bind(&addr) .serve(router.into_make_service()) .await .context("error while starting server")?; Ok(()) }