From 70169924b611b9b68587bd9169f991e3770b7dc7 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 18 Feb 2026 16:08:34 +0100 Subject: show database debug info --- server/src/api.rs | 12 ++---------- server/src/routes.rs | 3 +-- server/src/ui/admin/mod.rs | 20 ++++++++++++++++++-- server/src/ui/home.rs | 4 ---- 4 files changed, 21 insertions(+), 18 deletions(-) (limited to 'server/src') diff --git a/server/src/api.rs b/server/src/api.rs index 9d16433..d83d8e3 100644 --- a/server/src/api.rs +++ b/server/src/api.rs @@ -3,9 +3,8 @@ which is licensed under the GNU Affero General Public License (version 3); see /COPYING. Copyright (C) 2026 metamuffin */ -use super::ui::error::MyResult; -use crate::request_info::RequestInfo; -use rocket::{get, response::Redirect, serde::json::Json}; + +use rocket::{get, response::Redirect}; #[get("/api")] pub fn r_api_root() -> Redirect { @@ -37,10 +36,3 @@ pub fn r_version() -> &'static str { // Either::Right(s) // } // } - -#[get("/nodes_modified?")] -pub fn r_nodes_modified_since(ri: RequestInfo<'_>, since: u64) -> MyResult>> { - // let nodes = get_nodes_modified_since(&session.0, since)?; - // Ok(Json(nodes)) - todo!() -} diff --git a/server/src/routes.rs b/server/src/routes.rs index b1fc52c..c9601d3 100644 --- a/server/src/routes.rs +++ b/server/src/routes.rs @@ -5,7 +5,7 @@ */ use crate::{ State, - api::{r_api_root, r_nodes_modified_since, r_version}, + api::{r_api_root, r_version}, compat::youtube::{r_youtube_channel, r_youtube_embed, r_youtube_watch}, logic::{ playersync::{PlayersyncChannels, r_playersync}, @@ -113,7 +113,6 @@ pub(super) fn build_rocket(state: Arc) -> Rocket { // r_stats, r_stream, // API - r_nodes_modified_since, r_api_root, r_version, // Compat diff --git a/server/src/ui/admin/mod.rs b/server/src/ui/admin/mod.rs index 61e62a4..555b6bc 100644 --- a/server/src/ui/admin/mod.rs +++ b/server/src/ui/admin/mod.rs @@ -8,11 +8,27 @@ pub mod import; use super::error::MyResult; use crate::{request_info::RequestInfo, ui_responder::UiResponse}; -use jellycommon::{VIEW_ADMIN_DASHBOARD, jellyobject::ObjectBuffer}; +use jellycommon::{jellyobject::ObjectBuffer, *}; use rocket::get; #[get("/admin/dashboard")] pub async fn r_admin_dashboard(ri: RequestInfo<'_>) -> MyResult { ri.require_admin()?; - Ok(ri.respond_ui(ObjectBuffer::new(&mut [(VIEW_ADMIN_DASHBOARD.0, &())]))) + + let mut db_debug = String::new(); + ri.state.database.transaction(&mut |txn| { + db_debug = txn.debug_info()?; + Ok(()) + })?; + + Ok(ri.respond_ui(ObjectBuffer::new(&mut [ + (VIEW_ADMIN_DASHBOARD.0, &()), + ( + VIEW_ADMIN_INFO.0, + &ObjectBuffer::new(&mut [ + (ADMIN_INFO_TITLE.0, &"Database Debug"), + (ADMIN_INFO_TEXT.0, &db_debug.as_str()), + ]), + ), + ]))) } diff --git a/server/src/ui/home.rs b/server/src/ui/home.rs index 86b6fbe..1f5ea8d 100644 --- a/server/src/ui/home.rs +++ b/server/src/ui/home.rs @@ -4,8 +4,6 @@ Copyright (C) 2026 metamuffin */ -use std::time::Instant; - use super::error::MyResult; use crate::{request_info::RequestInfo, ui_responder::UiResponse}; use anyhow::Result; @@ -82,7 +80,6 @@ pub fn r_home(ri: RequestInfo<'_>) -> MyResult { fn home_row(ri: &RequestInfo<'_>, title: &str, q: Query) -> Result { let mut res = ObjectBuffer::empty(); - let t = Instant::now(); ri.state.database.transaction(&mut |txn| { let rows = txn.query(q.clone())?.take(16).collect::>>()?; @@ -99,6 +96,5 @@ fn home_row(ri: &RequestInfo<'_>, title: &str, q: Query) -> Result Ok(()) })?; - eprintln!("{:?}", t.elapsed()); Ok(res) } -- cgit v1.3