diff options
-rw-r--r-- | server/src/main.rs | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/server/src/main.rs b/server/src/main.rs index 7c868a9..6e732bd 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -32,21 +32,27 @@ async fn main() { database .user - .insert( - &CONF.admin_username, - &User { + .fetch_and_update(&CONF.admin_username, |admin| { + Some(User { admin: true, - theme: Theme::Dark, - display_name: "Admin".to_string(), name: CONF.admin_username.clone(), password: hash_password(&CONF.admin_username, &CONF.admin_password), - permissions: PermissionSet::default(), - }, - ) + ..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(); + // 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"), |