domain: add Media Catalog entities (Asset, Metadata, Stack, Derivative, Duplicate)

This commit is contained in:
2026-05-31 03:27:41 +02:00
parent ed6eb0c28a
commit 147206d8a5
12 changed files with 371 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
use domain::entities::{AssetMetadata, MetadataSource};
use domain::value_objects::{MetadataValue, StructuredData, SystemId};
#[test]
fn metadata_source_ordering() {
assert!(MetadataSource::ExifExtracted < MetadataSource::AiGenerated);
assert!(MetadataSource::AiGenerated < MetadataSource::UserEdited);
}
#[test]
fn create_metadata_layer() {
let mut data = StructuredData::new();
data.insert("camera", MetadataValue::String("Canon".to_string()));
let meta = AssetMetadata::new(SystemId::new(), MetadataSource::ExifExtracted, data);
assert_eq!(meta.metadata_source, MetadataSource::ExifExtracted);
assert_eq!(meta.data.get_string("camera"), Some("Canon"));
}