1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
use axum::{Router, middleware, routing::get};
use crate::{app::App, ui::middleware::setup_required};
mod ch;
mod get;
mod invite;
mod login;
mod me;
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("/me", get(me::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)
}
|