summaryrefslogtreecommitdiff
path: root/src/api/mod.rs
blob: 0c01ea03091660c32cec92934a15bdd53c450f79 (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
29
30
31
32
33
34
35
use crate::types::extract::{RouterURI, self};

pub mod chat;
pub mod admin;
pub mod auth;
pub mod posts;
pub mod users;

pub use auth::RegistrationRequet;
use axum::{Extension, Router, middleware};

pub fn router() -> Router {
    Router::new()
        .nest(
            "/chat",
            chat::router().layer(Extension(RouterURI("/api/chat"))),
        )
        .nest(
            "/admin",
            admin::router().layer(Extension(RouterURI("/api/admin"))),
        )
        .nest(
            "/auth",
            auth::router().layer(Extension(RouterURI("/api/auth"))),
        )
        .nest(
            "/users",
            users::router().layer(Extension(RouterURI("/api/users"))),
        )
        .nest(
            "/posts",
            posts::router().layer(Extension(RouterURI("/api/posts"))),
        )
        .layer(middleware::from_fn(extract::connect))
}