aboutsummaryrefslogtreecommitdiff
path: root/server/src/main.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-12-19 10:07:27 +0100
committermetamuffin <metamuffin@disroot.org>2023-12-19 10:07:27 +0100
commitb5972f8fa3ddad874d8ccf2441cb043c54c2fd48 (patch)
tree8ea3129b4c5969709920ee50606f7f54f5e1c113 /server/src/main.rs
parentaf16c274aa28886f9f8a839e756ba932f9369187 (diff)
downloadjellything-b5972f8fa3ddad874d8ccf2441cb043c54c2fd48.tar
jellything-b5972f8fa3ddad874d8ccf2441cb043c54c2fd48.tar.bz2
jellything-b5972f8fa3ddad874d8ccf2441cb043c54c2fd48.tar.zst
no more overriding of the admin every restart
Diffstat (limited to 'server/src/main.rs')
-rw-r--r--server/src/main.rs22
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"),