aboutsummaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-03-11 17:26:32 +0100
committermetamuffin <metamuffin@disroot.org>2026-03-11 17:26:32 +0100
commite1286892e59a6ca2fc44a58473ca45292e623a10 (patch)
tree36389b06f5be667e4f13cfb1e62db4d228e75343 /server/src
parent578b32c9119692fb049fa56c7d52f2fbb8d485d7 (diff)
downloadjellything-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.rs19
-rw-r--r--server/src/routes/mod.rs6
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,