summaryrefslogtreecommitdiff
path: root/src/ui/routes/mod.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2024-10-16 20:14:33 -0400
committerOwen Jacobson <owen@grimoire.ca>2024-10-16 20:14:33 -0400
commitea74daca4809e4008dd8d01039db9fff3be659d9 (patch)
tree5972cabf646e8d5e635e9e2a176bff56c178461a /src/ui/routes/mod.rs
parent56e16e29db55dae84549229d24b971f8bcf7da21 (diff)
Organizational pass on endpoints and routes.
Diffstat (limited to 'src/ui/routes/mod.rs')
-rw-r--r--src/ui/routes/mod.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/ui/routes/mod.rs b/src/ui/routes/mod.rs
new file mode 100644
index 0000000..72d9a4a
--- /dev/null
+++ b/src/ui/routes/mod.rs
@@ -0,0 +1,26 @@
+use axum::{middleware, routing::get, Router};
+
+use crate::{app::App, ui::middleware::setup_required};
+
+mod ch;
+mod get;
+mod invite;
+mod login;
+mod path;
+mod setup;
+
+pub fn router(app: &App) -> Router<App> {
+ [
+ Router::new()
+ .route("/*path", get(path::get::handler))
+ .route("/setup", get(setup::get::handler)),
+ Router::new()
+ .route("/", get(get::handler))
+ .route("/login", get(login::get::handler))
+ .route("/ch/:channel", get(ch::channel::get::handler))
+ .route("/invite/:invite", get(invite::invite::get::handler))
+ .route_layer(middleware::from_fn_with_state(app.clone(), setup_required)),
+ ]
+ .into_iter()
+ .fold(Router::default(), Router::merge)
+}