Add instance configuration UI and backend
This commit is contained in:
10
src/main.rs
10
src/main.rs
@@ -1,8 +1,10 @@
|
||||
use std::error::Error;
|
||||
use std::{error::Error, sync::Arc};
|
||||
|
||||
use axum::Router;
|
||||
use sqlx::PgPool;
|
||||
use tokio::net::TcpListener;
|
||||
use tokio::{net::TcpListener, sync::RwLock};
|
||||
|
||||
use crate::config::MnemoConf;
|
||||
|
||||
mod api;
|
||||
mod config;
|
||||
@@ -21,6 +23,7 @@ const ISE_MSG: &str = "Internal server error";
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct MnemoState {
|
||||
pool: PgPool,
|
||||
conf: Arc<RwLock<MnemoConf>>,
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
@@ -31,6 +34,7 @@ async fn main() -> Result<(), Box<dyn Error>> {
|
||||
let pool = config::init_pool().await?;
|
||||
sqlx::migrate!("src/database/migrations").run(&pool).await?;
|
||||
log::info!("Migrations applied successfully.");
|
||||
let conf = Arc::new(RwLock::new(MnemoConf::new()));
|
||||
users::auth::init_password_dummies();
|
||||
users::setup::initialise_reserved_users_if_needed(&pool).await?;
|
||||
|
||||
@@ -38,7 +42,7 @@ async fn main() -> Result<(), Box<dyn Error>> {
|
||||
let r = Router::new()
|
||||
.merge(api::api_router())
|
||||
.merge(web::web_router())
|
||||
.with_state(MnemoState { pool });
|
||||
.with_state(MnemoState { pool, conf });
|
||||
let l = TcpListener::bind(format!("0.0.0.0:{port}")).await?;
|
||||
log::info!("Listener bound to {}", l.local_addr()?);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user