use askama::Template; use axum::{ extract::{Query, State}, http::StatusCode, response::Response, }; use chrono::SecondsFormat; use serde::Deserialize; use tower_sessions::Session; use crate::AppState; use super::{AUDIT_PAGE_LIMIT, paginate, render_template, require_valid_user}; #[derive(Template)] #[template(path = "audit.html")] struct AuditPageTemplate { user_name: String, user_email: String, entries: Vec, current_page: u32, total_pages: u32, total_count: i64, version: &'static str, } struct AuditEntryView { /// RFC3339 UTC for `