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,20 @@
use domain::entities::{DerivativeAsset, DerivativeProfile, GenerationStatus};
use domain::value_objects::SystemId;
#[test]
fn lifecycle() {
let mut d = DerivativeAsset::new_pending(
SystemId::new(),
DerivativeProfile::ThumbnailSquare,
"/thumbs/abc.webp",
);
assert_eq!(d.generation_status, GenerationStatus::Pending);
assert_eq!(d.file_size, 0);
assert_eq!(d.dimensions, (0, 0));
d.mark_ready("image/webp", 4096, (256, 256));
assert_eq!(d.generation_status, GenerationStatus::Ready);
assert_eq!(d.mime_type, "image/webp");
assert_eq!(d.file_size, 4096);
assert_eq!(d.dimensions, (256, 256));
}