blob: dc947737c7e5e677cccc8a56e9a88dd36b6e97a0 (
plain)
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, response::Redirect, routing::get};
use crate::app::App;
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(crate::setup::Required(app.clone()).with_fallback(Redirect::to("/setup"))),
]
.into_iter()
.fold(Router::default(), Router::merge)
}
|