aboutsummaryrefslogtreecommitdiff
path: root/server/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/main.rs')
-rw-r--r--server/src/main.rs33
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")
}