From e1286892e59a6ca2fc44a58473ca45292e623a10 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 11 Mar 2026 17:26:32 +0100 Subject: debug info page for db kv and cache kv --- server/src/routes/admin/mod.rs | 19 ++++++++++++++++++- server/src/routes/mod.rs | 6 +++++- 2 files changed, 23 insertions(+), 2 deletions(-) (limited to 'server/src') 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> { @@ -27,3 +28,19 @@ pub async fn r_admin_dashboard(ri: RequestInfo<'_>) -> MyResult> ri: &ri.render_info(), })) } + +#[get("/admin/debug")] +pub async fn r_admin_debug(ri: RequestInfo<'_>) -> MyResult> { + 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) -> Rocket { r_account_settings_post, r_account_settings, r_admin_dashboard, + r_admin_debug, r_admin_import_post, r_admin_import_stream, r_admin_import, -- cgit v1.3