aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/routes/mod.rs')
-rw-r--r--server/src/routes/mod.rs43
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,