fix: update asset logging to use serialized values and enhance asset struct with default implementation

This commit is contained in:
2026-01-11 09:54:31 +01:00
parent 62f3c49e8a
commit 28b7860c6c
3 changed files with 15 additions and 18 deletions

View File

@@ -5,8 +5,8 @@ use serde::Deserialize;
use serde_json::json;
use crate::{
data_mgt::AssetTracker,
logs::{ LogEvent, LogEventType, log_event},
data_mgt::{Asset, AssetTracker},
logs::{LogEvent, LogEventType, log_event},
};
#[derive(Deserialize, Debug)]
@@ -45,8 +45,8 @@ async fn api_upload(
Some(uploader_ip.clone()),
);
log_event(LogEventType::AssetUploaded(asset.clone()));
let id = asset.id();
log_event(LogEventType::AssetUploaded(asset.to_value()));
assets.add_asset(asset).await;
let response_body = json!({ "link": format!("/bhs/{}", id) });
Ok(HttpResponse::Ok().json(response_body))
@@ -93,8 +93,7 @@ async fn api_stats(assets: web::Data<AssetTracker>) -> Result<HttpResponse, acti
use crate::LOG_DIR;
use std::fs;
let (active_assets, storage_bytes, image_count, text_count) =
assets.stats_summary().await;
let (active_assets, storage_bytes, image_count, text_count) = assets.stats_summary().await;
let mut total_uploads = 0;
let mut total_deleted = 0;
@@ -110,6 +109,7 @@ async fn api_stats(assets: web::Data<AssetTracker>) -> Result<HttpResponse, acti
request_count += 1;
}
LogEventType::AssetUploaded(asset) => {
let asset = serde_json::from_value::<Asset>(asset).unwrap_or_default();
total_uploads += 1;
recent_activity.push(ActivityItem {
action: "upload".to_string(),
@@ -119,6 +119,7 @@ async fn api_stats(assets: web::Data<AssetTracker>) -> Result<HttpResponse, acti
});
}
LogEventType::AssetDeleted(asset) => {
let asset = serde_json::from_value::<Asset>(asset).unwrap_or_default();
total_deleted += 1;
recent_activity.push(ActivityItem {
action: "delete".to_string(),