37 lines
971 B
Rust
37 lines
971 B
Rust
use app::*;
|
|
use axum::Router;
|
|
use db::*;
|
|
use fileserv::file_and_error_handler;
|
|
use leptos::*;
|
|
use leptos_axum::{generate_route_list, LeptosRoutes};
|
|
|
|
pub mod db;
|
|
pub mod fileserv;
|
|
|
|
#[tokio::main]
|
|
async fn main() {
|
|
let conf = get_configuration(None).await.unwrap();
|
|
let leptos_options = conf.leptos_options;
|
|
let addr = leptos_options.site_addr;
|
|
let routes = generate_route_list(App);
|
|
|
|
let pool = start_pool().await.expect("pool error");
|
|
let _ = db_build(pool.clone()).await.unwrap();
|
|
|
|
let app = Router::new()
|
|
.leptos_routes_with_context(
|
|
&leptos_options,
|
|
routes,
|
|
move || {
|
|
provide_context(pool.clone());
|
|
},
|
|
App,
|
|
)
|
|
.fallback(file_and_error_handler)
|
|
.with_state(leptos_options);
|
|
|
|
let listener = tokio::net::TcpListener::bind(&addr).await.unwrap();
|
|
axum::serve(listener, app.into_make_service())
|
|
.await
|
|
.unwrap();
|
|
}
|