feat: implement media metadata management with EXIF and TrackInfo support

This commit is contained in:
2025-11-14 07:41:54 +01:00
parent ea95c2255f
commit 55cf4db2de
18 changed files with 343 additions and 195 deletions

View File

@@ -0,0 +1,11 @@
CREATE TABLE media_metadata (
id UUID PRIMARY KEY,
media_id UUID NOT NULL REFERENCES media (id) ON DELETE CASCADE,
source TEXT NOT NULL,
tag_name TEXT NOT NULL,
tag_value TEXT NOT NULL
);
CREATE INDEX idx_media_metadata_media_id ON media_metadata (media_id);
CREATE INDEX idx_media_metadata_tag_name_value ON media_metadata (tag_name, tag_value);

View File

@@ -0,0 +1,7 @@
ALTER TABLE media
DROP COLUMN extracted_location,
DROP COLUMN width,
DROP COLUMN height,
DROP COLUMN date_taken;
DROP INDEX IF EXISTS idx_media_date_taken;

View File

@@ -256,10 +256,6 @@ impl MediaServiceImpl {
mime_type,
hash,
created_at: chrono::Utc::now(),
extracted_location: None,
width: None,
height: None,
date_taken: None,
thumbnail_path: None,
};