diff options
Diffstat (limited to 'server/src/main.rs')
-rw-r--r-- | server/src/main.rs | 33 |
1 files changed, 5 insertions, 28 deletions
diff --git a/server/src/main.rs b/server/src/main.rs index cc7ba5f..407e127 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -8,13 +8,8 @@ use crate::routes::ui::{account::hash_password, admin::log::enable_logging}; use anyhow::Context; -use database::DataAcid; -use jellybase::{ - database::{redb::ReadableTable, Ser, T_USER}, - federation::Federation, - CONF, SECRETS, -}; -use jellycommon::user::User; +use database::Database; +use jellybase::{federation::Federation, CONF, SECRETS}; use log::{error, info, warn}; use routes::build_rocket; use tokio::fs::create_dir_all; @@ -29,7 +24,7 @@ async fn main() { log::warn!("authentification bypass enabled"); create_dir_all(&CONF.cache_path).await.unwrap(); - let database = DataAcid::open(&CONF.database_path) + let database = Database::open(&CONF.database_path) .context("opening database") .unwrap(); let federation = Federation::initialize(); @@ -37,27 +32,9 @@ async fn main() { if let Some(username) = &CONF.admin_username && let Some(password) = &SECRETS.admin_password { - let txn = database.begin_write().unwrap(); - let mut users = txn.open_table(T_USER).unwrap(); - - let admin = users.get(username.as_str()).unwrap().map(|x| x.value().0); - users - .insert( - username.as_str(), - Ser(User { - admin: true, - name: username.clone(), - password: hash_password(username, password), - ..admin.unwrap_or_else(|| User { - display_name: "Admin".to_string(), - ..Default::default() - }) - }), - ) + database + .create_admin_user(username, hash_password(username, password)) .unwrap(); - - drop(users); - txn.commit().unwrap(); } else { info!("admin account disabled") } |