diff options
Diffstat (limited to 'src/api/mod.rs')
| -rw-r--r-- | src/api/mod.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/api/mod.rs b/src/api/mod.rs index 3e944dc..03b4fdd 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -15,6 +15,7 @@ mod log; mod peers; mod stats; mod store; +mod users; use axum::{ Json, Router, @@ -61,6 +62,20 @@ pub(crate) fn router(state: AppState, auth_state: AuthState, debug_api: bool) -> .route("/admin/changes", get(changes::get_changes)) .route("/admin/changes/{*key}", get(changes::get_changes_at)) .route("/admin/config", get(config::get_config)) + .route("/admin/users", get(users::list).post(users::add_several)) + .route( + "/admin/users/{name}", + get(users::get).post(users::add).delete(users::remove), + ) + .route( + "/admin/users/{name}/disabled", + axum::routing::put(users::set_disabled), + ) + .route( + "/admin/users/{name}/caps", + axum::routing::post(users::grant), + ) + .route("/admin/users/{name}/caps/{id}", delete(users::revoke)) .merge(crate::remake::router::<AppState>()); #[cfg(feature = "dashboard")] |
