diff --git a/Cargo.lock b/Cargo.lock index 44cb8ea..b235d7c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1662,7 +1662,7 @@ dependencies = [ [[package]] name = "image-api" -version = "0.4.0" +version = "0.4.1" dependencies = [ "actix", "actix-cors", diff --git a/src/data/mod.rs b/src/data/mod.rs index 010e7f5..70a3362 100644 --- a/src/data/mod.rs +++ b/src/data/mod.rs @@ -204,6 +204,7 @@ pub struct MetadataResponse { pub modified: Option, pub size: u64, pub exif: Option, + pub filename_date: Option, // Date extracted from filename } impl From for MetadataResponse { @@ -219,6 +220,7 @@ impl From for MetadataResponse { }), size: metadata.len(), exif: None, + filename_date: None, // Will be set in endpoint handler } } } diff --git a/src/main.rs b/src/main.rs index dcd6a72..2d720e0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -172,6 +172,10 @@ async fn get_file_metadata( Ok(metadata) => { let mut response: MetadataResponse = metadata.into(); + // Extract date from filename if possible + response.filename_date = + memories::extract_date_from_filename(&path.path).map(|dt| dt.timestamp()); + // Query EXIF data if available if let Ok(mut dao) = exif_dao.lock() && let Ok(Some(exif)) = dao.get_exif(&span_context, &path.path)