aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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"),