summaryrefslogtreecommitdiff
path: root/src/ui/routes/mod.rs
blob: 7877dba5b097d69cb1a86ad3b71822879ad7ae24 (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::{middleware, routing::get, Router};

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)
}