aboutsummaryrefslogtreecommitdiff
path: root/server/src/ui/admin/log.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-04-29 17:06:23 +0200
committermetamuffin <metamuffin@disroot.org>2025-04-29 17:06:23 +0200
commit212a0f23bc894faf88e159560c113f504349cc05 (patch)
treeee2ff0ff3b185d1874eb0e8fc4b75f1badf659b8 /server/src/ui/admin/log.rs
parentf73aa32549743b2967160d38c1622199c41524a4 (diff)
downloadjellything-212a0f23bc894faf88e159560c113f504349cc05.tar
jellything-212a0f23bc894faf88e159560c113f504349cc05.tar.bz2
jellything-212a0f23bc894faf88e159560c113f504349cc05.tar.zst
comiles again but still many logic holes
Diffstat (limited to 'server/src/ui/admin/log.rs')
-rw-r--r--server/src/ui/admin/log.rs41
1 files changed, 36 insertions, 5 deletions
diff --git a/server/src/ui/admin/log.rs b/server/src/ui/admin/log.rs
index bd6d7af..64782ba 100644
--- a/server/src/ui/admin/log.rs
+++ b/server/src/ui/admin/log.rs
@@ -3,19 +3,50 @@
which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
Copyright (C) 2025 metamuffin <metamuffin.org>
*/
-use crate::ui::error::MyResult;
-use jellylogic::{admin::log::get_log_stream, session::AdminSession};
-use jellyui::admin::log::render_log_line;
+use crate::{helper::A, locale::AcceptLanguage, ui::error::MyResult};
+use jellyimport::is_importing;
+use jellylogic::{
+ admin::log::{get_log_buffer, get_log_stream},
+ session::AdminSession,
+};
+use jellyui::{
+ admin::log::{render_log_line, ServerLogPage},
+ render_page,
+ scaffold::{RenderInfo, SessionInfo},
+};
use rocket::{get, response::content::RawHtml};
use rocket_ws::{Message, Stream, WebSocket};
use serde_json::json;
#[get("/admin/log?<warnonly>", rank = 2)]
-pub fn r_admin_log<'a>(_session: AdminSession, warnonly: bool) -> MyResult<RawHtml<String>> {}
+pub fn r_admin_log<'a>(
+ session: A<AdminSession>,
+ warnonly: bool,
+ lang: AcceptLanguage,
+) -> MyResult<RawHtml<String>> {
+ let AcceptLanguage(lang) = lang;
+ let messages = get_log_buffer(warnonly)
+ .into_iter()
+ .map(|l| render_log_line(&l))
+ .collect::<Vec<_>>();
+ Ok(RawHtml(render_page(
+ &ServerLogPage {
+ messages: &messages,
+ warnonly,
+ },
+ RenderInfo {
+ importing: is_importing(),
+ session: Some(SessionInfo {
+ user: session.0 .0.user,
+ }),
+ },
+ lang,
+ )))
+}
#[get("/admin/log?stream&<warnonly>&<html>", rank = 1)]
pub fn r_admin_log_stream(
- _session: AdminSession,
+ _session: A<AdminSession>,
ws: WebSocket,
warnonly: bool,
html: bool,