kanidmd_core/https/views/admin/
mod.rs
1use crate::https::ServerState;
2use axum::routing::{get, post};
3use axum::Router;
4use axum_htmx::HxRequestGuardLayer;
5
6pub(crate) mod groups;
7pub(crate) mod persons;
8
9pub fn admin_router() -> Router<ServerState> {
10 let unguarded_router = Router::new()
11 .route("/persons", get(persons::view_persons_get))
12 .route(
13 "/person/:person_uuid/view",
14 get(persons::view_person_view_get),
15 )
16 .route("/groups", get(groups::view_groups_get))
17 .route("/group/:group_uuid/view", get(groups::view_group_view_get));
18
19 let guarded_router = Router::new().layer(HxRequestGuardLayer::new("/ui"));
20
21 Router::new().merge(unguarded_router).merge(guarded_router)
22}
23
24pub fn admin_api_router() -> Router<ServerState> {
25 let unguarded_router = Router::new().route("/edit_group", post(groups::edit_group));
26
27 let guarded_router = Router::new().layer(HxRequestGuardLayer::new("/ui"));
28
29 Router::new().merge(unguarded_router).merge(guarded_router)
30}