fix: update asset logging to use serialized values and enhance asset struct with default implementation
This commit is contained in:
11
src/api.rs
11
src/api.rs
@@ -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(),
|
||||
|
||||
Reference in New Issue
Block a user