#![feature(box_syntax)] use config::{load_global_config, GlobalConfig}; use database::Database; use jellyremuxer::RemuxerContext; use library::Library; use rocket::launch; use routes::build_rocket; use std::sync::Arc; pub mod config; pub mod database; pub mod library; pub mod routes; pub struct AppState { pub database: Database, pub library: Library, pub remuxer: Arc, } #[launch] fn rocket() -> _ { env_logger::init_from_env("LOG"); let conf = load_global_config(); let state = AppState { remuxer: RemuxerContext::new(), library: Library::open(&conf.library_path).unwrap(), database: Database::open(&conf.database_path).unwrap(), }; build_rocket(state) }