diff options
author | metamuffin <metamuffin@disroot.org> | 2023-12-19 10:07:27 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-12-19 10:07:27 +0100 |
commit | b5972f8fa3ddad874d8ccf2441cb043c54c2fd48 (patch) | |
tree | 8ea3129b4c5969709920ee50606f7f54f5e1c113 /server | |
parent | af16c274aa28886f9f8a839e756ba932f9369187 (diff) | |
download | jellything-b5972f8fa3ddad874d8ccf2441cb043c54c2fd48.tar jellything-b5972f8fa3ddad874d8ccf2441cb043c54c2fd48.tar.bz2 jellything-b5972f8fa3ddad874d8ccf2441cb043c54c2fd48.tar.zst |
no more overriding of the admin every restart
Diffstat (limited to 'server')
-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"), |