diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-03-11 17:26:32 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-03-11 17:26:32 +0100 |
| commit | e1286892e59a6ca2fc44a58473ca45292e623a10 (patch) | |
| tree | 36389b06f5be667e4f13cfb1e62db4d228e75343 /server/src | |
| parent | 578b32c9119692fb049fa56c7d52f2fbb8d485d7 (diff) | |
| download | jellything-e1286892e59a6ca2fc44a58473ca45292e623a10.tar jellything-e1286892e59a6ca2fc44a58473ca45292e623a10.tar.bz2 jellything-e1286892e59a6ca2fc44a58473ca45292e623a10.tar.zst | |
debug info page for db kv and cache kv
Diffstat (limited to 'server/src')
| -rw-r--r-- | server/src/routes/admin/mod.rs | 19 | ||||
| -rw-r--r-- | server/src/routes/mod.rs | 6 |
2 files changed, 23 insertions, 2 deletions
diff --git a/server/src/routes/admin/mod.rs b/server/src/routes/admin/mod.rs index 6119b74..714b574 100644 --- a/server/src/routes/admin/mod.rs +++ b/server/src/routes/admin/mod.rs @@ -10,8 +10,9 @@ pub mod users; use super::error::MyResult; use crate::request_info::RequestInfo; -use jellyui::components::admin::AdminDashboard; +use jellyui::components::admin::{AdminDashboard, AdminDebug}; use rocket::{get, response::content::RawHtml}; +use std::fmt::Write; #[get("/admin/dashboard")] pub async fn r_admin_dashboard(ri: RequestInfo<'_>) -> MyResult<RawHtml<String>> { @@ -27,3 +28,19 @@ pub async fn r_admin_dashboard(ri: RequestInfo<'_>) -> MyResult<RawHtml<String>> ri: &ri.render_info(), })) } + +#[get("/admin/debug")] +pub async fn r_admin_debug(ri: RequestInfo<'_>) -> MyResult<RawHtml<String>> { + ri.require_admin()?; + let mut o = String::new(); + writeln!(o, "===== DATABASE =====")?; + write!(o, "{}", ri.state.database.debug_info()?)?; + writeln!(o)?; + writeln!(o, "===== CACHE =====")?; + write!(o, "{}", ri.state.cache.debug_info()?)?; + + Ok(ri.respond_ui(&AdminDebug { + ri: &ri.render_info(), + debug_info: &o, + })) +} diff --git a/server/src/routes/mod.rs b/server/src/routes/mod.rs index 05b8025..e93aac2 100644 --- a/server/src/routes/mod.rs +++ b/server/src/routes/mod.rs @@ -45,7 +45,10 @@ use self::{ stream::r_stream, style::{r_assets_css, r_assets_font, r_assets_js, r_assets_js_map}, }; -use crate::{State, routes::search::r_search}; +use crate::{ + State, + routes::{admin::r_admin_debug, search::r_search}, +}; use rocket::{ Build, Config, Rocket, catchers, fairing::AdHoc, fs::FileServer, http::Header, routes, shield::Shield, @@ -97,6 +100,7 @@ pub(super) fn build_rocket(state: Arc<State>) -> Rocket<Build> { r_account_settings_post, r_account_settings, r_admin_dashboard, + r_admin_debug, r_admin_import_post, r_admin_import_stream, r_admin_import, |