mini_apm_admin/web/
mod.rs1mod api_key;
2pub mod auth;
3mod auth_middleware;
4mod dashboard;
5mod deploys;
6mod errors;
7mod performance;
8pub mod project_context;
9mod projects;
10mod traces;
11
12use axum::{
13 Router, middleware,
14 routing::{get, post},
15};
16
17use mini_apm::DbPool;
18
19pub fn routes(pool: DbPool) -> Router<DbPool> {
20 Router::new()
21 .route("/", get(dashboard::index))
22 .route("/errors", get(errors::index))
23 .route("/errors/:id", get(errors::show))
24 .route("/errors/:id/status", post(errors::update_status))
25 .route("/traces", get(traces::index))
26 .route("/traces/:trace_id", get(traces::show))
27 .route("/performance", get(performance::index))
28 .route("/deploys", get(deploys::index))
29 .route("/projects/switch", post(projects::switch_project))
30 .route("/projects", get(projects::index))
31 .route("/projects/create", post(projects::create))
32 .route("/projects/delete", post(projects::delete))
33 .route("/projects/regenerate-key", post(projects::regenerate_key))
34 .route("/api-key", get(api_key::index))
35 .route("/api-key/regenerate", post(api_key::regenerate))
36 .layer(middleware::from_fn_with_state(
37 pool,
38 auth_middleware::web_auth_middleware,
39 ))
40}
41
42pub fn auth_routes() -> Router<DbPool> {
43 Router::new()
44 .route(
45 "/auth/login",
46 get(auth::login_page).post(auth::login_submit),
47 )
48 .route("/auth/logout", post(auth::logout))
49 .route(
50 "/auth/change-password",
51 get(auth::change_password_page).post(auth::change_password_submit),
52 )
53 .route("/auth/users", get(auth::users_page))
54 .route("/auth/users/create", post(auth::create_user))
55 .route("/auth/users/delete", post(auth::delete_user))
56 .route(
57 "/auth/invite/{token}",
58 get(auth::invite_page).post(auth::invite_submit),
59 )
60}