diff options
author | metamuffin <metamuffin@disroot.org> | 2023-01-22 13:56:06 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-01-22 13:56:06 +0100 |
commit | ec76bbe5398f51ffa55bfd315b30c0a07245d4e6 (patch) | |
tree | fa0e1723f861de6fee21a35524bb7768fab0b6ce /server/src/routes/mod.rs | |
parent | 84e093afa908dc68a7b0ae97ba8dc76aa0901d26 (diff) | |
download | jellything-ec76bbe5398f51ffa55bfd315b30c0a07245d4e6.tar jellything-ec76bbe5398f51ffa55bfd315b30c0a07245d4e6.tar.bz2 jellything-ec76bbe5398f51ffa55bfd315b30c0a07245d4e6.tar.zst |
this is *horrible*
Diffstat (limited to 'server/src/routes/mod.rs')
-rw-r--r-- | server/src/routes/mod.rs | 43 |
1 files changed, 32 insertions, 11 deletions
diff --git a/server/src/routes/mod.rs b/server/src/routes/mod.rs index 332b4c5..f707a60 100644 --- a/server/src/routes/mod.rs +++ b/server/src/routes/mod.rs @@ -1,20 +1,40 @@ -use crate::AppState; -use rocket::{catchers, routes, Build, Rocket}; +use crate::{database::Database, library::Library, CONF}; +use jellyremuxer::RemuxerContext; +use rocket::{catchers, config::SecretKey, routes, Build, Config, Rocket}; use stream::r_stream; -use ui::account::{r_account_login, r_account_register, r_account_register_post}; -use ui::error::r_not_found; -use ui::home::r_home; -use ui::node::{r_item_assets, r_library_node}; -use ui::player::r_player; -use ui::style::{r_assets_font, r_assets_js, r_assets_style}; +use ui::{ + account::{r_account_login, r_account_login_post, r_account_register, r_account_register_post}, + error::r_catch, + home::r_home, + node::{r_item_assets, r_library_node}, + player::r_player, + style::{r_assets_font, r_assets_js, r_assets_style}, +}; pub mod stream; pub mod ui; -pub fn build_rocket(state: AppState) -> Rocket<Build> { +#[macro_export] +macro_rules! uri { + ($kk:tt) => { + &rocket::uri!($kk).to_string() + }; +} + +pub fn build_rocket( + remuxer: RemuxerContext, + library: Library, + database: Database, +) -> Rocket<Build> { rocket::build() - .manage(state) - .register("/", catchers![r_not_found]) + .configure(Config { + secret_key: SecretKey::derive_from(CONF.cookie_key.as_bytes()), + ..Default::default() + }) + .manage(remuxer) + .manage(library) + .manage(database) + .register("/", catchers![r_catch]) .mount( "/", routes![ @@ -26,6 +46,7 @@ pub fn build_rocket(state: AppState) -> Rocket<Build> { r_stream, r_player, r_account_login, + r_account_login_post, r_account_register, r_account_register_post, r_item_assets, |