diff options
author | metamuffin <metamuffin@disroot.org> | 2023-01-11 16:27:16 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-01-11 16:27:16 +0100 |
commit | 948700d35f0eddbc2e0fd29548991e687362983d (patch) | |
tree | 29592f56a5db4998b03c4ddf6c330b25dfcad393 /server/src/main.rs | |
parent | 0d81cb164983fdb40a9f0daebd5951d3cdc084e6 (diff) | |
download | jellything-948700d35f0eddbc2e0fd29548991e687362983d.tar jellything-948700d35f0eddbc2e0fd29548991e687362983d.tar.bz2 jellything-948700d35f0eddbc2e0fd29548991e687362983d.tar.zst |
move files
Diffstat (limited to 'server/src/main.rs')
-rw-r--r-- | server/src/main.rs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/server/src/main.rs b/server/src/main.rs new file mode 100644 index 0000000..b7a3249 --- /dev/null +++ b/server/src/main.rs @@ -0,0 +1,45 @@ +#![feature(box_syntax)] + +use crate::frontend::style::CSS_BUNDLE; +use database::Database; +use frontend::pages::{home::page_home, node::page_library_node}; +use library::Library; +use rocket::{get, http::ContentType, launch, routes}; +use std::fs::read_to_string; + +pub mod database; +pub mod frontend; +pub mod library; +pub mod metadata; + +#[get("/assets/style.css")] +async fn assets_style() -> (ContentType, String) { + ( + ContentType::CSS, + if cfg!(debug_assertions) { + read_to_string("src/frontend/style/layout.css").unwrap() + } else { + CSS_BUNDLE.to_string() + }, + ) +} + +pub struct AppState { + pub database: Database, + pub library: Library, +} + +#[launch] +fn rocket() -> _ { + env_logger::init_from_env("LOG"); + let db_path = std::env::var("DB_PATH").unwrap_or("data/db".to_string()); + let lib_path = std::env::var("LIB_PATH").unwrap_or("data/library".to_string()); + let state = AppState { + library: Library::open(&lib_path).unwrap(), + database: Database::open(&db_path).unwrap(), + }; + + rocket::build() + .manage(state) + .mount("/", routes![page_home, page_library_node, assets_style]) +} |