diff options
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/main.rs | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/server/src/main.rs b/server/src/main.rs index d9ddf8b..acb8c87 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -5,12 +5,13 @@ */ #![feature(lazy_cell)] #![feature(int_roundings)] +#![feature(let_chains)] use crate::routes::ui::{account::hash_password, admin::log::enable_logging}; use database::Database; -use jellybase::{CONF, federation::Federation}; +use jellybase::{federation::Federation, CONF}; use jellycommon::user::{PermissionSet, Theme, User}; -use log::{error, warn}; +use log::{error, warn, info}; use routes::build_rocket; use tokio::fs::create_dir_all; @@ -27,29 +28,31 @@ async fn main() { let database = Database::open(&CONF.database_path).unwrap(); let federation = Federation::initialize(); - database - .user - .fetch_and_update(&CONF.admin_username, |admin| { - Some(User { - admin: true, - name: CONF.admin_username.clone(), - password: hash_password(&CONF.admin_username, &CONF.admin_password), - ..admin.unwrap_or_else(|| User { - name: Default::default(), - display_name: "Admin".to_string(), - password: Default::default(), - admin: Default::default(), - theme: Theme::Dark, - permissions: PermissionSet::default(), + if let Some(username) = &CONF.admin_username + && let Some(password) = &CONF.admin_password + { + database + .user + .fetch_and_update(&username, |admin| { + Some(User { + admin: true, + name: username.clone(), + password: hash_password(&username, &password), + ..admin.unwrap_or_else(|| User { + name: Default::default(), + display_name: "Admin".to_string(), + password: Default::default(), + admin: Default::default(), + theme: Theme::Dark, + permissions: PermissionSet::default(), + }) }) }) - }) - .unwrap(); + .unwrap(); + } else { + info!("admin account disabled") + } - // if let Err(err) = import::import(&database, &federation).await { - // log::error!("import not sucessful: {err:?}") - // } - let r = build_rocket(database, federation).launch().await; match r { Ok(_) => warn!("server shutdown"), |