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.rs32
1 files changed, 18 insertions, 14 deletions
diff --git a/server/src/main.rs b/server/src/main.rs
index 29d51ca..5158b8d 100644
--- a/server/src/main.rs
+++ b/server/src/main.rs
@@ -1,12 +1,12 @@
#![feature(box_syntax)]
use config::{load_global_config, GlobalConfig};
-use database::Database;
+use database::{Database, User};
use jellyremuxer::RemuxerContext;
use library::Library;
use once_cell::sync::Lazy;
use rocket::launch;
-use routes::build_rocket;
+use routes::{build_rocket, ui::account::hash_password};
use std::sync::Arc;
pub mod config;
@@ -14,12 +14,6 @@ pub mod database;
pub mod library;
pub mod routes;
-pub struct AppState {
- pub database: Database,
- pub library: Library,
- pub remuxer: Arc<RemuxerContext>,
-}
-
pub static CONF: Lazy<GlobalConfig> = Lazy::new(|| load_global_config());
#[launch]
@@ -28,10 +22,20 @@ fn rocket() -> _ {
.filter_level(log::LevelFilter::Info)
.parse_env("LOG")
.init();
- let state = AppState {
- remuxer: RemuxerContext::new(),
- library: Library::open(&CONF.library_path).unwrap(),
- database: Database::open(&CONF.database_path).unwrap(),
- };
- build_rocket(state)
+ let remuxer = RemuxerContext::new();
+ let library = Library::open(&CONF.library_path).unwrap();
+ let database = Database::open(&CONF.database_path).unwrap();
+ database
+ .users
+ .insert(
+ &CONF.admin_username,
+ &User {
+ admin: true,
+ display_name: "Admin".to_string(),
+ name: CONF.admin_username.clone(),
+ password: hash_password(&CONF.admin_password),
+ },
+ )
+ .unwrap();
+ build_rocket(remuxer, library, database)
}