Integrate the new user management routes into the main application router. This commit also includes refactoring of the OpenSubsonic response types to better accommodate error responses and introduces a new struct for handling multiple extensions.
29 lines
811 B
Rust
29 lines
811 B
Rust
mod db;
|
|
mod routes;
|
|
mod schema;
|
|
mod state;
|
|
mod types;
|
|
use std::env;
|
|
|
|
use axum::Router;
|
|
use dotenvy::dotenv;
|
|
|
|
use crate::routes::system_router::system_routers;
|
|
use crate::routes::user_management_router::user_management_routs;
|
|
use crate::state::AppState;
|
|
|
|
#[tokio::main]
|
|
async fn main() {
|
|
dotenv().ok();
|
|
let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set");
|
|
let state = AppState::new(&database_url)
|
|
.unwrap_or_else(|_| panic!("Error creating pool for {}", database_url));
|
|
tracing_subscriber::fmt::init();
|
|
let app = Router::new()
|
|
.nest("/rest", system_routers().merge(user_management_routs()))
|
|
.with_state(state);
|
|
|
|
let listener = tokio::net::TcpListener::bind("0.0.0.0:3311").await.unwrap();
|
|
let _ = axum::serve(listener, app).await;
|
|
}
|